DEMO- 节点报磁盘空间不足排查过程

适用模块

服务器

具体说明

`bigdata097`节点报磁盘空间`/`不足

Demo - 节点报磁盘空间不足排查过程 - 图1 示例

# 处理过程

1df -lh /`确认该目录确实占用率超过 90%。
删除十几个G大小的 `/usr/ndp/current/nginx/logs/access.log`,空间未见释放。

2、lsof / | grep deleted > deleted.txt`发现大量`deleted`文件被占用。

Demo - 节点报磁盘空间不足排查过程 - 图2

通过ll /proc/37549`确认是 `Kylin `的安装路径,
与客户确认这是他在该机器还是测试集群时(20年5月?),安装的测试用`Kylin`,可以直接干掉 `kill -9 37549`。
3df -lh 发现 `/`空间降为89%,还得继续排查。

lsof / | grep deleted ` 发现`nginx`被删除的日志还没有释放掉。

nginx     30662       root    4w   REG  253,0 13526032474 17421411 /usr/ndp/5.4.0/nginx-1.16.1/logs/access.log (deleted)
nginx     30664     nobody    4w   REG  253,0 13526032474 17421411 /usr/ndp/5.4.0/nginx-1.16.1/logs/access.log (deleted)
nginx     30665     nobody    4w   REG  253,0 13526032474 17421411 /usr/ndp/5.4.0/nginx-1.16.1/logs/access.log (deleted)
4ps -ef | grep nginx得知该nginxflink任务指标采集的时序数据库。

root      3504 13908  0 11:09 pts/0    00:00:00 grep --color=auto nginx
nobody    3758 30662 10 Feb03 ?        02:00:20 nginx: worker process
nobody    3763 30662 10 Feb03 ?        02:00:32 nginx: worker process
root     30662     1  0  2020 ?        00:00:00 nginx: master process sbin/nginx -c conf/sites-enabled/ntsdb.conf

重要等级不高,`kill -HUP 30662`实现重启`nginx`服务。
#背景知识
`Linux`的所有进程都保存在`/proc/`目录下,保存形式为:`/proc/进程号`。进入到进程号目录后,里面有一个`cwd`链接文件即指向的进程的的目录。
`ps aux | grep 30662`  查找进程执行的文件。
绝对不要这么做,直接杀死 deleted的进程:
kill -9 `lsof | grep delete | awk '{print $2}'`
//需要反复确认进程对应服务的重要程度

作者:wangsong