> 磁盘空间是无声的战场,一次溢出足以瘫痪整个系统——资深运维的忠告
一、 基础命令:磁盘空间监测的基石
1. df:文件系统空间概览
作为最常用的磁盘空间查看工具,`df`(disk free)提供文件系统级别的使用概览:
bash
df -h 人性化显示(GB/MB)
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 15G 4.5G 77% /
/dev/sdb1 100G 82G 18G 82% /data
df -i /home 查看/home的inode使用
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 1.2M 850K 350K 71% /home
参数点睛:
2. du:目录空间深度扫描
当需要定位具体目录的空间占用时,`du`(disk usage)是首选:
bash
du -sh /var/log/ 2>/dev/null | sort -hr 按大小排序日志目录
1.5G /var/log/syslog.1
800M /var/log/nginx
高级技巧:
bash
查找超过100MB的日志文件
find /var/log -type f -size +100M -exec ls -lh {} ;
排除特定目录扫描
du -sh exclude=".cache" /home/
二、 进阶工具:精准定位空间消耗源
1. ncdu:终端可视化分析神器
bash
ncdu /data 交互式分析/data目录
82.5 GiB [] /database_backup
12.1 GiB [ ] /user_uploads
4.3 GiB [ ] /temp_files
核心优势:
2. iotop & iostat:实时I/O监控
bash
iotop -oPa 显示实际磁盘I/O进程
PID PRIO USER DISK READ DISK WRITE COMMAND
456 be/4 mysql 12.5 M/s 8.2 M/s ~InnoDB log write
bash
iostat -dxm 2 每2秒刷新设备利用率
Device util% await svctm
sda 85.2 12.3 5.1
关键指标解读:
三、 特殊文件系统与场景处理
1. LVM逻辑卷监控
bash
vgs 查看卷组空间
VG PV LV Attr VSize VFree
vg00 1 2 wzn 1.5t 200g
lvs units g 逻辑卷详情
LV VG Attr LSize Pool Origin Data%
root vg00 -wi-ao 50g
data vg00 -wi-ao 1.2t
精简卷(Thin Provisioning)预警:
bash
lvs -o+data_percent 监控实际数据占比
data vg00 vt 65.42%
2. Btrfs/ZFS高级特性
bash
Btrfs空间平衡
btrfs filesystem usage /
Device size: 20.00GB
Used: 14.50GB
Free (estimated): 4.80GB
ZFS数据集配额
zfs set quota=10G pool/userdata
四、 自动化监控与预警策略
1. Shell监控脚本示例
bash
!/bin/bash
THRESHOLD=90
ALERT_EMAIL="
df -h | awk -v ALERT="$THRESHOLD" 'NR>1 {gsub(/%/,""); if ($5 > ALERT) print $6}'
2. Prometheus+Grafana可视化方案
yaml
node_exporter配置示例
rules:
expr: 100
for: 30m
labels:
severity: critical
五、 专家建议与避坑指南
1. 警惕"Storage Tetris"陷阱
2. 日志管理的黄金法则
bash
日志轮转优化(/etc/logrotate.conf)
/var/log/nginx/.log {
daily
rotate 30
compress
delaycompress 延迟压缩上月日志
size 100M
3. 云环境特殊考量
4. 文件删除空间未释放?
bash
lsof +L1 查找被进程占用的已删文件
COMMAND PID USER FD TYPE SIZE/OFF NLINK NODE NAME
java 1234 app 5u REG 1.5G 0 256 /tmp/deleted.log (deleted)
六、 构建磁盘健康体系
| 监控层级 | 推荐工具 | 检查频率 |
| 基础容量 | df -h / du -sh | 每日 |
| 目录热点分析 | ncdu / baobab | 每周 |
| I/O性能瓶颈 | iostat / iotop | 实时/按需 |
| 自动化预警 | Prometheus+Alertmanager | 持续监控 |
| 长期趋势分析 | Grafana报表 | 月度复盘 |
终极建议:
通过本文介绍的工具链与方法论,您不仅能快速定位现有磁盘问题,更能构建预防性的存储健康体系。记住:磁盘空间管理不是救火,而是防火的艺术——精准的数据洞察配合自动化策略,让存储资源成为系统稳健运行的基石而非瓶颈。