故障现象

故障环境:物理机,rhel7.2,但文件系统是ext4

业务反馈,物理机根目录显示已满,但实际空间释放,请求排查原因?

从物理机控制台登录,发现因/目录满原因而无法编辑文件及创建目录等:

df -hT查看文件系统发现/目录可用空间为0,但home_lv00逻辑卷剩余空间却很多:

因/目录满原因而无法编辑文件:

因/目录满原因而无法创建目录:

排查发现vg可与大小为0:

解决方法

一、利用du -ach --max-depth=1  / |sort -n命令查看哪个目录占用过高,对于过高目录中的内容适当删减腾出一些空间

注意:本次查看发现/目录下没有异常的文件。

二、调整home分区扩大root分区

总体过程:

把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/root文件系统,新建/home ,恢复/home内容

1.查看分区

df -hT

2.备份home分区文件

tar zcvf /tmp/home.tar /home

3.卸载/home,如果无法卸载,先终止使用/home文件系统的进程

fuser -km /home/

umount /home

4.删除/home所在的lv

lvremove  /dev/mapper/centos-home

本次故障,执行删除命令报错:

且奇怪的一点是,home_lv00逻辑卷已经被删除了,但是lvs却可以看到,

此时又不能重启机器:

最终通过vgreduce  --removemissing  sys_vg00命令即可解决以上报错问题:

此时,lvs查看发现home_lv00逻辑卷就没有了,但vgs会显示异常,这个不影响后续操作:

5.扩展/root所在的lv,增加800G

正常扩容lv命令如下,但是本次故障执行此命令后报错:

lvextend -L +800G/dev/sys_vg00/root_lv00

类似于如下的报错:

最终,通过使用了lvresize命令,重新调整了/dev/ubuntu-vg/root的lv大小,并刷新了文件系统,即可解决以上报错:

# lvresize -A n -L +42G /dev/ubuntu-vg/root

Size of logical volume ubuntu-vg/root changed from 18.56 GiB (4752 extents) to 60.56 GiB (15504 extents).

WARNING: This metadata update is NOT backed up

Logical volume root successfully resized.

# resize2fs -p /dev/ubuntu-vg/root   

# df -h

6.更新文件系统(针对不同的文件系统,其更新的命令也不一样)

e2fsck -f /dev/sys_vg00/root_lv00 #ext4文件系统,1.检查lv的文件系统

resize2fs /dev/sys_vg00/root_lv00 #ext4文件系统命令,2.该命令后面接lv的设备名就行

xfs_growfs /nas #xfs文件系统,该命令后面直接跟的是挂载点或者跟lv也是可以的;当更新文件系统后,你就会发现,df -h正常了

7.重新创建home lv

lvcreate -L 100G -n  /dev/sys_vg00/home_lv00

8. 创建文件系统

mkfs.ext4  /dev/sys_vg00/home_lv00

9.挂载home

mount -a

10.home文件恢复

tar  zxvf  /tmp/home.tar  -C /home/

此时df -hT查看/目录已被扩容,且以上问题已被解决。

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐