在生产环境中遇到一个非常奇怪的案例,监控系统报告主机有目录100%满了,然而,登陆到服务器上检查 df -h
却看到所有目录都没有超过 90% :
overlay_mount_influnce_rootfs/df_output
但是,仔细观察就发现异样: /
根目录怎么可能只有 53M
空间
- 使用
trace_disk_space_usage
的方法检查/
根目录下哪个目录占用异常:
../../shell/bash/trace_disk_space_usage/du_current_dir
可以看到 /var/log
实际上已经占用了 20G
:
overlay_mount_influnce_rootfs/du_output
- 检查磁盘挂载的
/dev/sda3
实际大小,也就是通过parted
输出:
overlay_mount_influnce_rootfs/parted_sda
输出显示可以看到 /dev/sda3
分区有 55G
:
overlay_mount_influnce_rootfs/parted_sda_output
- 通常对于磁盘目录大小显示异常的,应该是多个磁盘被重复挂载到相同目录下导致,所以通过
mount
命令检查:
overlay_mount_influnce_rootfs/mount_sda3
输出如下,显示 docker_overlay_driver
挂载异常:
overlay_mount_influnce_rootfs/mount_sda3_output
- 通过
identify_container_overlay_directory
可以找出这些异常挂载的 overlay 目录对应的容器: