扩容完成后必须校验文件系统一致性,否则可能埋下数据损坏隐患;ext4需用e2fsck -f -y /dev/vgname/lvname(卸载后),xfs需用xfs_repair -n/-n检查并修复,且均须确认设备未挂载、路径正确,校验后还需重新挂载、df验证及读写测试闭环。

扩容完成后,不能只看 df -h 显示容量变大就认为万事大吉。真正关键的是确认原有数据没损坏、业务能正常读写——这需要一套有逻辑的检查步骤。
确认文件系统已正确识别新增空间
先验证内核是否已加载最新分区表信息:
- 执行
partprobe /dev/sdX(如/dev/sdb),强制内核重读分区表 - 运行
lsblk查看目标分区大小是否已更新(注意不是磁盘总大小,而是分区设备如sdb1的 SIZE 列) - 对比
fdisk -l /dev/sdX输出中分区 End 扇区值,确认它已扩展到预期位置
校验文件系统结构完整性
这是防止静默数据损坏的核心环节:
- 若分区未挂载,直接运行
e2fsck -f /dev/sdX1(ext4)或xfs_repair -n /dev/sdX1(xfs,-n 表示只检查不修复) - 若已挂载且为 XFS 文件系统,需确保处于运行状态再执行
xfs_info /mount/point确认元数据一致,再用xfs_db -r -c "sb 0" -c "print" /dev/sdX1检查超级块有效性 - ext4 挂载状态下不建议强行 fsck,应优先观察
dmesg | tail -20是否有 EXT4-fs 错误日志
验证数据可访问性与业务连贯性
技术层面通过后,必须回归业务本身:
- 在挂载点下执行
find /mount/point -type f -size -1M -exec head -c 20 {} \; 2>/dev/null | head -5,快速抽样读取小文件前20字节,确认无 I/O 错误 - 检查关键目录的 inode 和 block 使用率:
df -i /mount/point与df -B1 /mount/point,避免扩容后 inode 耗尽导致无法新建文件 - 重启依赖该分区的服务(如数据库、Web 应用),观察日志是否出现文件打开失败、权限异常等报错
更新持久化配置并留痕
避免重启后挂载失效或参数丢失:
- 运行
blkid /dev/sdX1获取当前 UUID,比对/etc/fstab中对应条目是否匹配;不一致则替换为新 UUID - 在
/etc/fstab对应行末尾添加errors=remount-ro(ext4)或defaults(xfs),增强容错能力 - 将本次操作时间、命令摘要、校验结果存入
/var/log/disk-expand-$(date +%F).log,便于后续审计











