温馨提示×

centos filesystem如何进行定期维护

小樊
46
2026-01-09 21:31:44
栏目: 智能运维

CentOS 文件系统定期维护手册

一 日常巡检与空间监控

  • 查看磁盘与 inode 使用率,优先关注使用率超过**80%**的分区:
    • 命令:df -hdf -i
  • 定位大目录与“隐形占用”(已删文件仍被进程占用导致空间不释放):
    • 命令:du -sh /* 2>/dev/null | sort -hr | head -20
    • 排查句柄泄漏:lsof | grep deleted
  • 日志与缓存占用快速核查:
    • 命令:journalctl --disk-usagedu -sh /var/log /var/cache/yum
  • 建议:将上述命令加入每日巡检脚本,并通过邮件或企业微信/钉钉机器人推送异常告警。

二 定期一致性检查与修复

  • 何时检查
    • 建议在以下场景执行离线检查:异常断电/崩溃后、磁盘更换或扩容后、发现 I/O 错误、例行维护窗口。
  • 设置开机自动检查(ext 系列)
    • 查看当前参数:tune2fs -l /dev/sdX
    • 按挂载次数:tune2fs -c 30 /dev/sdX(每挂载30次检查一次)
    • 按时间间隔:tune2fs -i 3m /dev/sdX(每3个月检查一次)
    • 确认设置:tune2fs -l /dev/sdX | egrep "Maximum mount count|Check interval|Next check after"
  • 强制执行一次检查
    • 方式一:touch /forcefsck,下次重启将触发检查,成功后文件会自动移除
    • 方式二:重启进入救援/单用户环境,对分区离线检查(见下一节)
  • 执行检查与修复
    • 离线检查(推荐):fsck -y /dev/sdX
    • 说明:日志式文件系统(如 ext4)通常不需频繁检查;但坏盘/线缆/内存/内核缺陷仍可能导致损坏,完全依赖日志可能错过早期预警,建议保留基于时间/挂载次数的定期检查策略。

三 日志与缓存清理

  • systemd 日志轮转与裁剪
    • 查看占用:journalctl --disk-usage
    • 仅保留最近2天:journalctl --vacuum-time=2d
    • 仅保留最近500MBjournalctl --vacuum-size=500M
  • YUM 缓存与临时文件
    • 清理缓存:yum clean all
    • 删除残留:rm -rf /var/cache/yum /var/tmp/yum-*
  • 旧内核清理(先确保已从最新内核启动)
    • 仅保留2个最新内核:package-cleanup --oldkernels --count=2
  • 大日志与临时文件截断(谨慎操作,先备份)
    • 截断大日志:find /var -name "*.log" \( \( -size +50M -mtime +7 \) -o -mtime +30 \) -exec truncate {} --size 0 \;
  • 建议:启用并验证 logrotate 策略,避免日志无限增长。

四 自动化与维护窗口

  • 建议的例行任务(示例 cron,按业务时间窗口执行)
    • 每日:df/du 巡检与告警、清理 /tmp、轮转与裁剪 systemd 日志
    • 每周:yum clean all、清理 YUM 缓存残留、检查并告警大文件
    • 每月/每季度:执行 tune2fs 设定的时间/挂载次数检查;在维护窗口安排离线 fsck
  • 安全操作要点
    • 离线检查务必在未挂载救援模式进行;检查前停止相关服务,避免写入
    • 对关键数据做好备份,并在变更窗口内执行
    • 对 ext4 以外的文件系统(如 XFS),一致性检查与修复工具与流程不同,需按文件系统类型采用对应方法(例如 xfs_repair)。

0