Debian文件系统如何进行磁盘监控
小樊
40
2025-11-27 04:33:38
Debian 文件系统磁盘监控实用指南
一 基础检查与定位
查看整体磁盘使用:使用 df -h 显示各挂载点的容量、已用、可用与使用率;如需查看文件系统类型,使用 df -Th ;检查 inode 是否耗尽用 df -i 。这些能快速判断是“容量不足”还是“inode 耗尽”。示例:
定位大目录与大文件:用 du -sh /path 查看某目录总大小;用 du -ah /path | sort -rh | head 找出占用最多的子目录/文件;交互式分析推荐 ncdu /path ,可逐级下钻定位异常增长目录。示例:
du -sh /var/log
du -ah /var | sort -rh | head
ncdu /var
发现“已删除但被占用”的文件句柄:执行 sudo lsof | grep deleted ,此类文件仍占用磁盘,直到相关进程关闭或重启。配合日志轮转或重启对应服务可释放空间。
二 性能与 I O 监控
实时 I/O 排行:安装并使用 sudo apt-get install iotop ,运行 sudo iotop 查看进程级读写速率与占用,定位高 I/O 进程。
历史与系统级资源:安装 sudo apt-get install sysstat ,使用 sar -d 1 查看磁盘设备每秒的读写统计;配合 vmstat 、iostat 观察系统整体资源与 I/O 压力,辅助判断是应用写入激增还是存储瓶颈。
三 健康状态与 SSD 维护
硬盘健康与坏块:安装 sudo apt-get install smartmontools ,执行 sudo smartctl -a /dev/sda 查看 S.M.A.R.T. 信息(温度、重映射扇区、不可恢复错误等),用于预判磁盘故障风险。
SSD TRIM:对 SSD 定期执行 sudo fstrim / (或按挂载点执行),通知设备回收未使用块,维持写入性能与寿命;可配合 cron 或 systemd 定时器定期运行。
四 自动化监控与告警
简单阈值告警脚本:当根分区使用率超过阈值时邮件告警(需本地 mail 或 SMTP 配置)。示例:
阈值设置为 90%
脚本逻辑:USED=$(df / | tail -1 | awk ‘{print $5}’ | sed ‘s/%//’);if [ $USED -ge 90 ]; then echo “Warning: Disk usage is at $USED%” | mail -s “Disk Space Alert” admin@example.com; fi
加入定时任务:**0 * * * *** /path/to/script
图形化与平台化监控:
Munin :安装 sudo apt-get install munin munin-node ,配置 /etc/munin/munin.conf 与节点,访问 http://your_server_ip/munin 查看趋势与告警。
Netdata :执行官方安装脚本,访问 http://your_server_ip:19999 实时查看磁盘、I/O 与系统指标。