Linux根目录爆满故障——工作实战(已解决)20200709

故障现象

故障环境:物理机,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查看/目录已被扩容,且以上问题已被解决。

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 中的 CPU 使用率过高时,可以按照以下步骤来排查问题: 1. 使用 top 或 htop 命令查看当前 CPU 使用情况: ``` top ``` 或 ``` htop ``` 这些命令将显示当前运行中的进程及其 CPU 使用率。按下 "1" 键可以查看每个 CPU 核心的使用情况。 2. 检查哪些进程占用了大量的 CPU 资源: 在 top 或 htop 界面中,按下 "Shift + P" 键,可以按 CPU 使用率对进程进行排序。这样可以找到占用 CPU 资源较多的进程。 3. 查看进程的详细信息: 在 top 或 htop 界面中,选择一个占用较高 CPU 的进程,按下 "F" 键,然后选择 "P"(按 CPU 使用率排序),"C"(显示进程命令行),"T"(按进程运行时间排序)等选项,可以查看进程的详细信息。 4. 检查系统负载情况: 使用 uptime 命令查看系统负载情况: ``` uptime ``` 如果负载过高,表示系统中正在运行的进程过多,可能导致 CPU 资源紧张。 5. 检查系统日志: 使用 dmesg 命令查看系统日志,查找是否有异常或错误信息: ``` dmesg ``` 或者查看特定的日志文件,如 /var/log/syslog 或 /var/log/messages: ``` tail -n 100 /var/log/syslog ``` 6. 排查可能的问题: - 检查是否有恶意软件或病毒感染。 - 检查是否有不正常的进程或服务运行。 - 检查是否有配置错误或不合理的应用程序。 - 检查是否有大量的网络流量导致 CPU 负载过高。 - 检查是否有磁盘 I/O 瓶颈导致 CPU 资源被阻塞。 根据具体情况,采取相应的措施来解决 CPU 使用率过高的问题。可能需要停止或重启占用大量 CPU 资源的进程,优化应用程序配置,增加硬件资源等。如果问题持续存在,可以考虑进行性能分析和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值