CentOS Stream 8 文件系统管理实战指南
一 基础监控与日常巡检
- 容量与 inode:使用 df -h 查看各挂载点容量与可用空间,使用 df -i 检查 inode 是否耗尽(Use% 接近 100% 时即使有空间也无法创建新文件)。定位大目录可用:du -sh /path | sort -rh | head -20。块设备与分区概览用 lsblk,分区表与分区详情用 fdisk -l;大于 2TB 的磁盘建议使用 parted 进行分区操作。以上命令适合作为日常巡检与容量排查的“第一响应”。
二 分区创建 格式化与挂载
- 典型流程(示例设备 /dev/sdX):
- 分区:交互式分区用 fdisk /dev/sdX;大磁盘用 parted 创建 GPT 分区。
- 格式化:创建文件系统,例如 mkfs.xfs /dev/sdX1 或 mkfs.ext4 /dev/sdX1。
- 挂载:创建挂载点 mkdir -p /mnt/data,挂载 mount /dev/sdX1 /mnt/data。
- 永久挂载:编辑 /etc/fstab,添加条目如 /dev/sdX1 /mnt/data xfs defaults 0 0,执行 mount -a 验证。
- 提示:执行分区、格式化、挂载等磁盘操作前务必备份重要数据,并在变更窗口内操作,降低业务中断风险。
三 扩容与在线调整
- LVM 场景(推荐生产使用)
- 扩展卷组:新增磁盘或分区后创建 PV 并加入 VG,例如 pvcreate /dev/sdX1,vgextend vg_name /dev/sdX1。
- 扩展逻辑卷:按需扩容 LV,如 lvextend -L +10G /dev/vg_name/lv_name。
- 扩展文件系统:
- XFS:执行 xfs_growfs /mount/point(以挂载点为准)。
- ext4:执行 resize2fs /dev/vg_name/lv_name。
- 非 LVM 场景
- 使用 growpart 扩展分区后,再按文件系统类型执行相应扩容命令(如 xfs_growfs 或 resize2fs)。
- 要点:扩容前确认文件系统类型与挂载状态;XFS 仅支持在线扩容,不支持在线缩减;操作前建议完整备份。
四 存储优化与容量治理
- 透明压缩与去重
- VDO(Virtual Data Optimizer):通过去重与压缩减少实际占用,适合大容量存储。示例:安装 yum install vdo kmod-kvdo -y;创建 vdo create --name=vdo_vol --device=/dev/sdX --vdoLogicalSize=100G;后续可将其加入 LVM 并格式化为 XFS 挂载使用。
- 本地分层存储
- Stratis:简化本地存储管理并支持分层。示例:安装 yum install stratisd stratis-cli -y;启动服务 systemctl enable --now stratisd;创建池 stratis pool create mypool /dev/sdX;创建文件系统 stratis filesystem create mypool myfs;挂载 mount /dev/stratis/mypool/myfs /mnt/stratis。
- 空间回收与清理
- 清理包管理器缓存:yum clean all 或 dnf clean all。
- 清理临时文件:rm -rf /tmp/*(系统重启后会自动重建)。
- 日志治理:按时间清理旧日志(如 find /var/log -type f -name “*.log” -mtime +30 -delete),并合理配置 logrotate 的保留份数与压缩策略。
- 旧内核清理:保留最新 2 个内核,package-cleanup --oldkernels --count=2。
- 性能与挂载优化
- 在 /etc/fstab 中为不常改写的分区添加 noatime,nodiratime 减少元数据写入;根据负载选择合适的 I/O 调度器(如 Deadline)。
五 配额与审计监控
- 磁盘配额(用户/组)
- 在 /etc/fstab 目标挂载点添加 usrquota,grpquota,如:/dev/sda1 /home ext4 defaults,usrquota,grpquota 0 0,执行 mount -o remount /home。
- 安装工具:yum install quota -y;初始化配额数据库:quotacheck -cug /home;启用配额:quotaon -vug /home。
- 设置限额:edquota -u username(软/硬限制,单位通常为 KB);查看使用:repquota -vu /home;设置宽限期:edquota -t。
- 文件系统事件与访问审计
- 实时文件变化:inotify-tools(如 inotifywait/inotifywatch)或 fswatch;系统级审计:auditd,通过 /etc/audit/audit.rules 配置规则并审计文件访问/修改;大规模环境可接入 Nagios/Prometheus 做可视化与告警。