温馨提示×

CentOS Stream 8磁盘管理技巧

小樊
52
2025-09-20 02:14:48
栏目: 智能运维

CentOS Stream 8磁盘管理技巧

一、基础磁盘空间管理

1. 磁盘空间监控

使用df -h命令查看各文件系统的磁盘空间使用情况(包括总容量、已用空间、可用空间及挂载点);使用df -i命令查看inode使用情况(避免因inode耗尽导致无法创建文件)。这两个命令是快速诊断磁盘空间问题的核心工具。

2. 磁盘清理

  • 清理缓存:使用yum clean all(CentOS 8之前)或dnf clean all(CentOS 8及以上)清理YUM/DNF缓存;手动删除/tmp目录下的临时文件(rm -rf /tmp/*);通过sync; echo 3 > /proc/sys/vm/drop_caches释放内存缓存。
  • 清理日志文件:使用du -sh /var/log查看日志文件大小,删除超过30天的旧日志(find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;);或使用truncate命令截断大日志文件(find /var/log -type f -name "*.log" -size +50M -mtime +7 -exec truncate -s 0 {} \;)。
  • 删除不必要文件:卸载孤立包(package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y)、删除旧内核(保留2个最新内核,package-cleanup --oldkernels --count=2)。

二、逻辑卷管理(LVM)优化

LVM是CentOS Stream 8的核心磁盘管理工具,支持动态调整磁盘空间,适用于需要频繁扩容的场景。

  • 基础操作流程
    1. 创建物理卷:pvcreate /dev/sdX(将物理磁盘或分区转换为物理卷);
    2. 创建卷组:vgcreate vg_name /dev/sdX(将物理卷加入卷组,卷组是逻辑卷的存储池);
    3. 创建逻辑卷:lvcreate -L 10G -n lv_name vg_name(从卷组中划分10G空间创建逻辑卷);
    4. 格式化与挂载:mkfs.xfs /dev/vg_name/lv_name(格式化逻辑卷为XFS文件系统),创建挂载点并挂载(mkdir /mnt/data; mount /dev/vg_name/lv_name /mnt/data),最后将挂载信息写入/etc/fstab实现开机自动挂载。
  • 扩容操作
    若逻辑卷未使用LVM,可通过growpart扩展分区(growpart /dev/sdX partition_number)、partprobe重读分区表;若已使用LVM,依次执行pvresize /dev/sdX(扩展物理卷大小)、vgextend vg_name /dev/sdX(将扩展后的物理卷加入卷组)、lvextend -L +5G /dev/vg_name/lv_name(扩展逻辑卷大小)、xfs_growfs /dev/vg_name/lv_name(调整XFS文件系统大小)。

三、高级存储优化工具

1. VDO(Virtual Data Optimizer)

VDO是一种块虚拟化技术,通过重复数据删除压缩减少实际磁盘占用。安装步骤:dnf install vdo kmod-kvdo;创建VDO卷:vdo create --name=vdo_name --device=/dev/sdX --vdoLogicalSize=100G(指定设备路径和逻辑大小);创建LVM逻辑卷:lvcreate -L 100G -n lv_name vg_name(基于VDO卷创建逻辑卷),格式化后挂载即可。

2. Stratis

Stratis是CentOS 8内置的本地存储管理工具,支持分层存储(如将热数据放在SSD、冷数据放在HDD)。安装:dnf install stratisd stratis-cli;启动服务:systemctl enable --now stratisd;创建存储池:stratis pool create pool_name /dev/sdX;创建文件系统:stratis filesystem create pool_name fs_name;挂载:mount /dev/stratis/pool_name/fs_name /mnt/data

四、磁盘性能优化

  • 调整I/O调度器:根据工作负载选择合适的调度器(如Deadline适用于数据库、虚拟机,CFQ适用于桌面环境)。查看当前调度器:cat /sys/block/sdX/queue/scheduler;修改调度器(以Deadline为例):echo deadline > /sys/block/sdX/queue/scheduler(需root权限)。
  • 使用缓存加速:通过LVM Cache或Bcache将SSD作为缓存设备,加速HDD的读写速度。例如,LVM Cache命令:lvcreate -L 10G -n lv_cache vg_name /dev/sdX(创建缓存逻辑卷),lvconvert --type cache --cachevol /dev/vg_name/lv_cache /dev/vg_name/lv_data(将缓存逻辑卷关联到数据逻辑卷)。
  • 文件系统优化:默认使用XFS文件系统(支持在线扩容、高性能),可通过tune2fs(ext4)或xfs_admin(XFS)调整参数(如增加日志大小、启用压缩);对于ext4文件系统,挂载时可添加data=journal选项提升数据一致性。

五、磁盘配额管理

通过quota工具限制用户/组的磁盘使用空间,防止个别用户占用过多资源。

  • 安装与启用dnf install quota;编辑/etc/fstab文件,在需要启用配额的分区挂载选项中添加usrquota,grpquota(如/dev/sda1 / xfs defaults,usrquota,grpquota 0 0);重新挂载分区:mount -o remount /
  • 设置配额:使用quotacheck -avug扫描文件系统并创建配额文件;使用edquota -u username编辑用户配额(设置软限制和硬限制,如blocks软限制为10G、硬限制为15G);启用配额:quotaon -avug

0