2026年CentOS Stream 8存储管理完全指南:从LVM到Stratis(2026)

一、CentOS Stream 8存储管理概述

1.1 存储管理的重要性

在CentOS Stream 8中,存储管理是系统运维的核心技能。良好的存储管理可以:
– 提高磁盘空间利用率
– 增强数据安全性
– 简化备份和恢复
– 支持动态扩容

1.2 CentOS Stream 8支持的存储技术

CentOS Stream 8支持多种存储技术:
LVM(Logical Volume Manager):传统逻辑卷管理
Stratis:新一代存储管理(RHEL 8+)
VDO(Virtual Data Optimizer):数据优化和去重
Btrfs:下一代文件系统(技术预览)
XFS:高性能文件系统

二、LVM存储管理

2.1 LVM基本概念

LVM(Logical Volume Manager)允许灵活管理磁盘空间:

# 1. 查看当前LVM状态
sudo pvs
sudo vgs
sudo lvs

# 2. 安装LVM工具(如未安装)
sudo yum install -y lvm2

# 3. 查看磁盘分区
lsblk
sudo fdisk -l

2.2 创建LVM卷

# 1. 创建物理卷(PV)
sudo pvcreate /dev/sdb1

# 2. 创建卷组(VG)
sudo vgcreate vg_data /dev/sdb1

# 3. 创建逻辑卷(LV)
sudo lvcreate -L 100G -n lv_data vg_data

# 4. 创建文件系统
sudo mkfs.xfs /dev/vg_data/lv_data

# 5. 挂载逻辑卷
sudo mkdir /data
sudo mount /dev/vg_data/lv_data /data

# 6. 添加到/etc/fstab(永久挂载)
echo "/dev/vg_data/lv_data /data xfs defaults 0 0" | sudo tee -a /etc/fstab

2.3 扩展LVM卷

# 1. 添加新的物理卷
sudo pvcreate /dev/sdc1
sudo vgextend vg_data /dev/sdc1

# 2. 扩展逻辑卷
sudo lvextend -L +100G /dev/vg_data/lv_data

# 3. 扩展文件系统(XFS)
sudo xfs_growfs /dev/vg_data/lv_data

# 4. 扩展文件系统(ext4)
sudo resize2fs /dev/vg_data/lv_data

# 5. 查看结果
sudo lvs

2.4 缩小LVM卷

# 1. 卸载文件系统
sudo umount /data

# 2. 检查文件系统(ext4)
sudo e2fsck -f /dev/vg_data/lv_data

# 3. 缩小文件系统(ext4)
sudo resize2fs /dev/vg_data/lv_data 50G

# 4. 缩小逻辑卷
sudo lvreduce -L 50G /dev/vg_data/lv_data

# 5. 重新挂载
sudo mount /dev/vg_data/lv_data /data

2.5 LVM快照

# 1. 创建快照
sudo lvcreate -L 10G -s -n lv_snap /dev/vg_data/lv_data

# 2. 挂载快照(只读)
sudo mkdir /snap
sudo mount -o ro /dev/vg_data/lv_snap /snap

# 3. 恢复快照
sudo umount /data
sudo lvconvert --merge /dev/vg_data/lv_snap

# 4. 删除快照
sudo lvremove /dev/vg_data/lv_snap

三、Stratis存储管理

3.1 Stratis简介

Stratis是RHEL 8+引入的新一代存储管理解决方案,提供类似ZFS的体验:

# 1. 安装Stratis
sudo yum install -y stratisd stratis-cli

# 2. 启动服务
sudo systemctl enable --now stratisd

# 3. 验证安装
stratis --version

3.2 创建Stratis池

# 1. 列出可用块设备
sudo lsblk

# 2. 创建Stratis池
sudo stratis pool create mypool /dev/sdb1

# 3. 列出池
sudo stratis pool list

# 4. 查看池详情
sudo stratis pool detail mypool

3.3 创建Stratis文件系统

# 1. 创建文件系统
sudo stratis filesystem create mypool myfs

# 2. 列出文件系统
sudo stratis filesystem list

# 3. 挂载文件系统
sudo mkdir /stratis_data
sudo mount /stratis/stratis-pool/mystor /stratis_data

# 4. 添加到/etc/fstab(使用UUID)
sudo blkid /stratis/stratis-pool/mystor
echo "UUID=xxx /stratis_data xfs defaults 0 0" | sudo tee -a /etc/fstab

3.4 Stratis快照管理

# 1. 创建快照
sudo stratis filesystem snapshot mypool myfs myfs-snap

# 2. 列出快照
sudo stratis filesystem list --snapshots

# 3. 挂载快照(只读)
sudo mkdir /snap
sudo mount -o ro /stratis/stratis-pool/myfs-snap /snap

# 4. 删除快照
sudo stratis filesystem destroy mypool myfs-snap

3.5 Stratis与LVM对比

特性 LVM Stratis
快照支持
数据去重 需配合VDO 需配合VDO
缓存
分层存储
易用性 中等 简单
学习曲线 较高 较低

四、VDO数据优化

4.1 VDO简介

VDO(Virtual Data Optimizer)提供块级重复数据删除和压缩:

# 1. 安装VDO
sudo yum install -y vdo kmod-kvdo

# 2. 加载模块
sudo modprobe kvdo

# 3. 验证安装
vdo --version

4.2 创建VDO卷

# 1. 创建VDO卷
sudo vdo create \
  --name=vdo_data \
  --device=/dev/sdc1 \
  --vdoLogicalSize=500G

# 2. 格式化文件系统
sudo mkfs.xfs /dev/mapper/vdo_data

# 3. 挂载
sudo mkdir /vdo_data
sudo mount /dev/mapper/vdo_data /vdo_data

# 4. 查看统计
sudo vdo status --name=vdo_data

4.3 与LVM结合

# 1. 在VDO上创建LVM
sudo pvcreate /dev/mapper/vdo_data
sudo vgcreate vg_vdo /dev/mapper/vdo_data
sudo lvcreate -L 400G -n lv_vdo vg_vdo

# 2. 格式化
sudo mkfs.xfs /dev/vg_vdo/lv_vdo

# 3. 挂载
sudo mkdir /vdo_lvm
sudo mount /dev/vg_vdo/lv_vdo /vdo_lvm

五、磁盘配额管理

5.1 磁盘配额简介

磁盘配额限制用户或组的磁盘使用:

# 1. 安装配额工具
sudo yum install -y quota

# 2. 启用配额(编辑fstab)
# 在挂载选项中添加:usrquota,grpquota
sudo nano /etc/fstab

# 3. 重新挂载
sudo remount /data

5.2 设置配额

# 1. 启用配额数据库
sudo quotacheck -ugm /data

# 2. 开启配额
sudo quotaon /data

# 3. 设置用户配额
sudo edquota -u username
# 软限制:100G,硬限制:110G

# 4. 设置组配额
sudo edquota -g groupname

# 5. 查看配额
sudo quota -u username
sudo repquota -a

5.3 强制配额

# 1. 开启强制执行
sudo quotaon -p

# 2. 设置宽限期(软限制过期时间)
sudo edquota -t

# 3. 检查配额
sudo quotacheck -avug

六、磁盘性能优化

6.1 I/O调度器

# 1. 查看当前调度器
cat /sys/block/sda/queue/scheduler

# 2. 设置调度器(mq-deadline适合SSD)
echo "mq-deadline" | sudo tee /sys/block/sda/queue/scheduler

# 3. 永久设置(编辑grub)
sudo nano /etc/default/grub
# 添加:elevator=mq-deadline
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

6.2 优化文件系统挂载选项

# 1. XFS优化选项
# 在/etc/fstab中添加:
# noatime,nodiratime,logbufs=8,largeio

# 2. ext4优化选项
# noatime,nodiratime,journal_checksum,data=ordered

6.3 RAID配置

# 1. 安装mdadm
sudo yum install -y mdadm

# 2. 创建RAID5(3块磁盘)
sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

# 3. 创建文件系统
sudo mkfs.xfs /dev/md0

# 4. 监控RAID
sudo mdadm --detail /dev/md0
cat /proc/mdstat

七、存储监控

7.1 使用df命令

# 1. 查看磁盘使用
df -h

# 2. 查看inode
df -i

# 3. 查看特定文件系统
df -h /data

7.2 使用lsblk

# 1. 查看块设备
lsblk

# 2. 查看详细信息
lsblk -f

# 3. 查看权限
lsblk -m

7.3 使用iostat

# 1. 安装iostat
sudo yum install -y sysstat

# 2. 查看I/O统计
iostat -x 1

# 3. 查看CPU统计
iostat -c

7.4 使用SMART监控

# 1. 安装smartmontools
sudo yum install -y smartmontools

# 2. 查看SMART信息
sudo smartctl -a /dev/sda

# 3. 启用SMART
sudo smartctl -s on /dev/sda

# 4. 运行测试
sudo smartctl -t short /dev/sda

八、备份和恢复

8.1 使用rsync备份

# 1. 安装rsync
sudo yum install -y rsync

# 2. 基本备份
rsync -av /data/ /backup/

# 3. 增量备份
rsync -av --delete /data/ /backup/

# 4. 网络备份
rsync -av -e ssh /data/ user@backup-server:/backup/

8.2 使用dd备份

# 1. 完整备份整个磁盘
sudo dd if=/dev/sda of=/backup/disk.img bs=4M status=progress

# 2. 压缩备份
sudo dd if=/dev/sda | gzip > /backup/disk.img.gz

# 3. 恢复
sudo dd if=/backup/disk.img of=/dev/sda bs=4M status=progress

# 4. 备份分区
sudo dd if=/dev/sda1 of=/backup/partition.img bs=4M

九、常见问题排查

9.1 磁盘空间不足

# 1. 查找大文件
du -sh /*
sudo du -sh /var/*

# 2. 清理日志
sudo journalctl --vacuum-size=100M

# 3. 清理旧内核
sudo package-cleanup --oldkernels

# 4. 清理缓存
sudo yum clean all

9.2 LVM问题

# 1. 检查LVM状态
sudo vgscan
sudo lvscan

# 2. 激活卷组
sudo vgchange -ay

# 3. 修复LVM
sudo pvscan
sudo vgck

9.3 文件系统问题

# 1. 检查XFS
sudo xfs_repair /dev/sda1

# 2. 检查ext4
sudo e2fsck -f /dev/sda1

# 3. 查看文件系统日志
dmesg | tail

十、总结

CentOS Stream 8提供强大的存储管理功能,主要包括:

  1. LVM:传统但强大的逻辑卷管理,支持动态调整
  2. Stratis:新一代存储管理,类似ZFS的体验
  3. VDO:数据去重和压缩,节省空间
  4. 磁盘配额:限制用户磁盘使用
  5. RAID:提供数据冗余和性能
  6. 监控工具:多种工具监控存储状态

核心要点
– 生产环境推荐使用LVM(成熟稳定)
– 新项目可尝试Stratis(更易用)
– VDO可配合LVM或Stratis使用
– 定期监控磁盘使用情况
– 做好数据备份

注:本文基于CentOS Stream 8编写,具体配置可能因版本差异而略有不同。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注