温馨提示×

如何用centos进行磁盘整理

小樊
36
2025-12-31 07:09:25
栏目: 智能运维

CentOS 磁盘整理与空间优化实操指南

一、先判断是否需要碎片整理

  • 大多数 Linux 场景(尤其是使用 ext4、XFS 等日志文件系统)很少需要手动碎片整理;只有在长期大量写入、可用空间长期低于约85%、或处理超大型文件(如视频/RAW)时才可能受益。对于 SSD,常规碎片整理意义不大且会增加写入寿命消耗,通常不建议;如需维护 SSD 性能,建议启用 TRIM/fstrim 定期清理无效数据块。若确需评估 ext4 碎片,可用 e4defrag -c 查看碎片评分(阈值:0–30 无需整理,31–55 轻度,≥56 建议整理)。

二、ext4 碎片整理步骤(仅机械盘建议)

  • 步骤概览:
    1. 备份重要数据;2) 尽量卸载目标分区(无法卸载时可对运行中系统使用 e4defrag 的在线整理能力,但风险更高);3) 检查是否需要整理:e4defrag -c /path;4) 执行整理:e4defrag /path(可针对目录/分区);5) 再次评估分数确认改善。
  • 常用命令示例:
    • 评估:sudo e4defrag -c /home
    • 整理:sudo e4defrag /home
    • 注:对根分区在线整理存在风险,生产环境建议在救援模式或维护窗口操作,并确保有完整备份。

三、空间告急时的快速清理清单

  • 定位占用:
    • 全局:df -h
    • 目录:du -h --max-depth=1 /var | sort -hr
    • 交互式分析:sudo yum install -y ncdu && sudo ncdu /
  • 常见清理点与命令:
    • 清理 YUM 缓存:sudo yum clean all
    • 清理旧日志(示例:删除 30 天前 .log):find /var/log -type f -name “*.log” -mtime +30 -delete
    • 截断超大日志(示例:>100MB):find /var/log -type f -name “*.log” -size +100M -exec truncate -s 0 {} ;
    • 删除旧内核(保留最近 2 个):sudo package-cleanup --oldkernels --count=2(需安装 yum-utils)
    • 清理临时文件:sudo rm -rf /tmp/*
    • Docker 环境:docker system prune -af(按需加 --volumes)
  • 建议同时检查应用数据目录(如 /var/lib、/home)是否有异常大文件或归档,必要时归档/迁移。

四、扩容比整理更治本(LVM 与裸盘)

  • LVM 在线扩容(推荐):
    • 扩展逻辑卷:sudo lvextend -L +10G /dev/mapper/vg0-lv_root
    • 扩展文件系统:
      • XFS:sudo xfs_growfs /mount/point
      • ext4:sudo resize2fs /dev/mapper/vg0-lv_root
  • 非 LVM 场景(新增磁盘):
    • 分区与格式化:sudo fdisk /dev/sdb(或 parted/gdisk),随后 sudo mkfs.xfs /dev/sdb1
    • 持久化挂载:blkid 获取 UUID,在 /etc/fstab 添加条目:UUID=xxx /data xfs defaults 0 0
  • 操作前务必确认目标挂载点、文件系统类型与可用空间,避免误配导致数据不可用。

五、SSD 与 XFS 的维护要点

  • SSD:不建议做传统碎片整理;启用 fstrim(例如通过 systemd 定时器或 cron 每周执行)以维持性能与寿命。示例:sudo fstrim -v /。
  • XFS:一般无需也不提供面向用户的高效在线碎片整理工具;若出现性能问题,优先通过扩容、迁移至新文件系统或采用“备份-重建-回拷”的方式获得更连续的块布局。

0