温馨提示×

CentOS Stream 8如何优化磁盘空间

小樊
36
2025-12-21 11:09:54
栏目: 云计算

CentOS Stream 8 磁盘空间优化实操指南

一 快速定位占用

  • 查看分区使用概况:df -h,优先关注占用率高的挂载点(如 //var/home)。
  • 定位大目录与文件:
    • 全局前 N 大:du -sh /* 2>/dev/null | sort -rh | head -20
    • 交互式分析:ncdu /(需安装:sudo dnf install -y ncdu
  • 检查被删除但仍被进程占用的文件句柄(常见于日志轮转后未释放):lsof | grep deleted
    以上步骤能迅速找出“吃空间”的目录或文件,为后续清理提供依据。

二 安全清理释放空间

  • 包管理器缓存:
    • DNF(推荐):sudo dnf clean all
    • YUM:sudo yum clean all
  • 旧内核(避免 /boot 爆满):
    • 安装清理工具:sudo dnf install -y yum-utils
    • 仅保留最新 1 个内核:sudo package-cleanup --oldkernels --count=1
  • 日志与 journald:
    • 按时间收缩 journal:sudo journalctl --vacuum-time=2weeks
    • 配合 logrotate 做按大小/时间轮转与压缩,避免无限增长。
  • 临时文件:
    • 清理临时目录:sudo rm -rf /tmp/* /var/tmp/*(确保无关键进程在使用)。
  • 容器环境(如部署了 Docker):
    • 一键清理无用资源:docker system prune -af --volumes(谨慎,会删除未使用容器/镜像/卷)。
  • 可选 释放页面缓存(仅在应急且理解影响时使用):sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
    以上操作覆盖了缓存、旧内核、日志、临时文件与容器等常见“大户”。

三 长期治理与扩容

  • 建立常态化治理:
    • 配置合理的 logrotate 策略(按天/按大小轮转并压缩)。
    • 设置监控告警(如 df 阈值报警、日志增长监控),提前发现异常。
    • 对多用户或业务目录实施 磁盘配额(quota),避免单用户/单业务挤占系统盘。
  • 扩容方案:
    • 非 LVM:新增磁盘 → fdisk/parted 分区 → mkfs.xfs/mkfs.ext4 格式化 → mount 挂载 → 写入 /etc/fstab 持久化。
    • LVM(推荐,支持在线扩容):
      • 扩展物理卷:pvresize /dev/sdX
      • 扩展卷组:vgextend vgname /dev/sdX
      • 扩展逻辑卷:lvextend -L +50G /dev/vgname/lvname
      • 扩展文件系统:XFS 用 xfs_growfs /mountpoint;ext4 用 resize2fs /dev/vgname/lvname
  • 数据生命周期管理:
    • 定期归档冷数据到对象存储/备份盘,释放系统盘空间。
    • 规划分区与目录用途,避免将高写入业务与系统盘耦合。
      通过“治理+扩容”的组合,既能解决当下空间紧张,也能降低后续反复清理的成本。

四 常用命令速查表

目标 命令示例
查看分区使用 df -h
找大目录/文件 `du -sh /* 2>/dev/null
清理 DNF 缓存 sudo dnf clean all
清理 YUM 缓存 sudo yum clean all
删除旧内核 sudo package-cleanup --oldkernels --count=1(需 yum-utils
收缩 journal sudo journalctl --vacuum-time=2weeks
清理临时文件 sudo rm -rf /tmp/* /var/tmp/*
Docker 清理 docker system prune -af --volumes
释放页面缓存 `sudo sync && echo 3
非 LVM 扩容 fdisk/partedmkfsmount/etc/fstab
LVM 扩容 pvresizevgextendlvextendxfs_growfs/resize2fs

以上命令覆盖了定位、清理与扩容的高频操作,可直接复制到终端按需执行。

0