谁偷走了您的Linux服务器磁盘空间?一文带您揭秘并解决!

现象说明

在一次常规检查中,发现 /data 目录占用空间为 78G,但使用 du -sh /data 命令查看实际占用空间却仅为 5G。经过对比和分析,明显有大约 73G 的空间不知被何种文件或数据占用。目前,在 /data 目录下仅可见一个名为 logs 的文件夹。

首先通过 df -lhdu -sh /data 命令查看磁盘和目录空间占用情况:

[root@demo ~]# df -lh | grep /data
Filesystem           Size  Used Avail Use% Mounted on
/dev/sdd             100G  78G    23G   78% /data

[root@demo ~]# du -sh /data
5.0G    /data

/data 目录下执行 ls -l 命令来查看其包含的文件和文件夹:

[root@demo ~]# ls -l /data
total 0
drwxr-xr-x 20 root root 310 Jul 25 14:19 logs

问题排查

为了找出隐藏的占用空间,利用 lsof 命令检查该目录下的文件句柄情况。经检查发现,filebeat 进程占用了多个已删除但未释放的文件句柄,此即是导致空间异常占用的根本原因。

通过以下命令查找占用情况:

[root@demo ~]# lsof -n /data |grep deleted
filebeat 9831 root 9r  REG 8,48 315112660 67116919 /data/logs/1.logs(deleted)
filebeat 9831 root 10r REG 8,48 315124845 67120727 /data/logs/2.logs(deleted)
filebeat 9831 root 11r REG 8,48 315139494 67116921 /data/logs/3.logs(deleted)

解决问题

针对找出的问题,采取结束 filebeat 进程的方式来释放文件句柄,进而回收空间。执行 kill 命令终止对应进程:

[root@demo ~]# kill -9 9831

再次检查磁盘空间,发现占用空间已恢复正常,仅占用 5.1G:

[root@demo ~]# df -lh | grep /data
Filesystem           Size  Used Avail Use% Mounted on
/dev/sdd             100G  5.1G   95G   6% /data

后述总结

本次问题的解决过程再次强调了监控和维护 Linux 服务器磁盘空间的重要性。一个进程因占用已删除文件的句柄导致磁盘空间异常占用,不仅可能影响系统性能,也可能影响到其他应用和服务的正常运行。

此外,也突显了 lsof 工具在系统问题排查中的重要性,能够帮助我们找到潜在的问题和风险。在今后的运维工作中,应定期使用此类工具进行系统检查和维护,确保系统的稳定和安全运行。

同时,针对类似问题,也应建立一套标准化的问题排查和解决流程,提高问题解决的效率和准确性。在处理此类问题时,还需要注意合理安排进程重启时间,以减少对业务的影响。

Avatar photo

关于 木子

Founder of the Rocky Linux Chinese community, MVP、VMware vExpert、TVP, advocate for cloud native technologies, with over ten years of experience in site reliability engineering (SRE) and the DevOps field. Passionate about Cloud Computing、Microservices、CI&CD、DevOps、Kubernetes, currently dedicated to promoting and implementing Rocky Linux in Chinese-speaking regions.
用一杯咖啡支持我们,每一篇 [文档] 都经过我们实操,并非从网上一味的copy,期间花费了大量的心思,希望能够帮忙到您。
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇