Linux根目录爆满故障——工作实战(已解决)20200709
故障现象故障环境:物理机,rhel7.2,但文件系统是ext4业务反馈,物理机根目录显示已满,但实际空间释放,请求排查原因?从物理机控制台登录,发现因/目录满原因而无法编辑文件及创建目录等:df -hT查看文件系统发现/目录可用空间为0,但home_lv00逻辑卷剩余空间却很多:因/目录满原因而无法编辑文件:因/目录满原因而无法创建目录:排查发现vg可与大小为0:解决方法一、利用du -ach -
故障现象
故障环境:物理机,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查看/目录已被扩容,且以上问题已被解决。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)