5.4 RAID 技术与存储方案
预计阅读时间:15 分钟
📖 目录
学习目标
- 理解 RAID 0/1/5/6/10 各等级的原理、容量公式与容错能力
- 掌握 mdadm 创建、管理、监控软 RAID 的核心命令
- 区分软件 RAID 与硬件 RAID 的适用场景
- 了解 ZFS / Btrfs 在数据完整性校验方面的独特优势
- 明确 RAID ≠ 备份,合理设计存储方案
核心知识
RAID 级别速览
| 级别 | 最少磁盘 | 可用容量 | 容错 | 读性能 | 写性能 |
|---|---|---|---|---|---|
| RAID 0 | 2 | 100% | 无 | 高(并行) | 高(并行) |
| RAID 1 | 2 | 50% | 1 块 | 中(可并行读) | 中(双写) |
| RAID 5 | 3 | (N-1)/N | 1 块 | 高 | 中(奇偶校验开销) |
| RAID 6 | 4 | (N-2)/N | 2 块 | 高 | 低(双奇偶校验) |
| RAID 10 | 4 | 50% | 每组 1 块 | 高 | 高 |
知识关联
- 前置知识:rhcsa01 磁盘分区与 LVM(LVM、分区、文件系统基础),3.13:备份策略与恢复 备份策略与恢复
- 后续影响:6.15:HA 集群 HA 集群(DRBD 数据同步依赖底层块设备),6.18:内核管理 内核管理(udev 规则管理磁盘设备)
- 配套技术:LVM 提供灵活卷管理(动态调整大小),RAID 提供冗余;实践中常组合使用。ZFS/Btrfs 通过校验和检测静默数据损坏。RAID ≠ 备份。
原理讲解
RAID 0 — 条带化
数据按条带(stripe)均匀分布到所有磁盘。任意一块故障即丢失全部数据。适合存放可重建的临时数据或缓存。
RAID 1 — 镜像
数据完整写入每块磁盘。读取时可从任意磁盘并行读取以提升性能。写入需等待所有磁盘完成,略有开销。适合系统盘、数据库日志等。
RAID 5 — 单奇偶校验
数据和奇偶校验信息交错分布在各盘。一块盘故障时,剩余盘通过奇偶校验在线重建。重建期间若再坏一块则全损。大容量硬盘的重建时间很长,期间风险高。
RAID 6 — 双奇偶校验
两个独立的奇偶校验块分布在盘阵中,最多容忍两块盘同时故障。适合大容量存储且对可靠性要求高的场景。
RAID 10 — 镜像 + 条带
先镜像(RAID 1)再条带(RAID 0)。兼具 RAID 1 的快速恢复和 RAID 0 的高吞吐。每对镜像中坏一块不影响整体。对写性能要求高的数据库首选。
RAID 级别参数详解
选型前先看一张更细的对比表,重点注意重建代价与随机写性能——这两项直接决定生产数据库与冷存储的不同选择:
| 级别 | 磁盘数 | 容量 | 容错 | 随机读 | 随机写 | 重建 |
|---|---|---|---|---|---|---|
| RAID 0 | 2+ | N×盘容量 | 0 | 高 | 高 | 不可重建 |
| RAID 1 | 2 | 50% | 1 | 中(双盘镜像读) | 中(双写) | 秒级(整盘拷贝) |
| RAID 5 | 3+ | (N-1)/N | 1 | 高 | 低(读改写放大) | 慢(全盘校验重建) |
| RAID 6 | 4+ | (N-2)/N | 2 | 高 | 更低(双奇偶校验) | 很慢 |
| RAID 10 | 4+(偶数) | 50% | 每镜像对 1 | 高 | 高 | 快(仅重建镜像对) |
两条实用结论:随机写性能 RAID 10 优于 RAID 5——RAID 5 每次小块写入都要先读旧数据再重算奇偶校验,产生"读-改-写"放大,OLTP 负载下差距可达 30%-50%;大盘(8TB+)慎用 RAID 5,全盘重建往往要一两天,重建窗口内第二次故障概率随容量上升,RAID 6 才是大容量存储的底线。
软件 RAID vs 硬件 RAID
| 维度 | 软件 RAID(mdadm) | 硬件 RAID(HBA/RAID 卡) |
|---|---|---|
| 成本 | 免费,使用 CPU 资源 | 需专用硬件,带缓存/电池 |
| 性能 | 依赖 CPU,现代多核影响小 | 卸载计算,适合高 IO 场景 |
| 灵活性 | 可任意组合不同品牌/大小的盘 | 通常要求同型号同容量 |
| 恢复 | 可插到另一台 Linux 直接识别 | 依赖同型号 RAID 卡 |
存储介质选型:SSD / HDD / NVMe
| 维度 | NVMe SSD | SATA/SAS SSD | 企业级 HDD |
|---|---|---|---|
| 顺序读写 | 6-7 GB/s | 约 500 MB/s | 约 250 MB/s |
| 随机 IOPS | > 500K | 约 100K | 约 200 |
| 每 GB 成本 | 高 | 中 | 低(约为 SSD 的 1/5) |
| 典型用途 | 数据库热数据、缓存层 | 系统盘、虚拟机存储 | 冷存储、备份、归档 |
| 故障模式 | 磨损耗尽(难以预测) | 磨损耗尽 | 坏道、电机故障(SMART 可预测) |
| 功耗/噪音 | 低 | 低 | 高(7.2K 转盘常开 8-15W) |
混合分层是主流方案:NVMe 组 RAID 1 放数据库热数据,SATA SSD 组 RAID 10 放温数据,HDD 组 RAID 6 放冷数据,再通过 LVM 或文件系统层的迁移机制按访问热度分层。先想清楚"这份数据 7 天后还会不会被频繁读",再决定它落在哪一层。
文件系统级存储:ZFS 与 Btrfs
传统 RAID 只能防磁盘故障,防不了静默数据损坏(位翻转、坏道上的"假成功"写入)。ZFS 与 Btrfs 给每个数据块加校验和,读取时验证,一旦发现损坏立即报错,并可从冗余副本自动修复:
| 特性 | ZFS | Btrfs |
|---|---|---|
| 校验和 + 自愈 | ✓ | ✓ |
| RAID 级 | raidz1/2/3 + 镜像 | raid1/raid10/raid5/raid6 |
| 快照/克隆 | ✓(瞬时,可增量发送备份流) | ✓(subvolume 快照) |
| 压缩/去重 | ✓(lz4/zstd) | ✓(压缩) |
| Linux 支持 | 需 DKMS 模块(Ubuntu 默认集成) | 内核原生 |
| 在线扩容 | zpool add 新 vdev(非等量) | btrfs device add 后 balance |
# ZFS 快速体验(Ubuntu:sudo apt install zfsutils-linux)
sudo zpool create data /dev/sdb /dev/sdc /dev/sdd /dev/sde # 默认 raidz1(4 盘 RAID 5 等价)
sudo zpool create mirror0 /dev/sdf /dev/sdg # 镜像池
sudo zfs set compression=lz4 data # 开启压缩
sudo zfs snapshot data@before_upgrade # 升级前打快照
sudo zpool scrub data # 全量校验和巡检
sudo zpool status # 输出: scan: scrub repaired 0B in 0 days 00:00:00
选型判断:已有 XFS/ext4 全家桶且不想引入新概念 → 继续 mdadm + LVM;追求数据完整性 + 快照恢复能力 → ZFS(尤其存虚拟机和容器镜像);Btrfs 适合单机文件服务器,其 RAID 5/6 早期版本存在校验洞(write hole)问题,生产慎用。
示例代码
安装 mdadm
sudo apt install mdadm # Debian/Ubuntu
sudo yum install mdadm # RHEL/CentOS
创建 RAID 0
sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc # 输出: mdadm: array /dev/md0 started.
sudo mkfs.ext4 /dev/md0 # 输出: Creating filesystem with 5232640 4k blocks...
sudo mount /dev/md0 /mnt/raid0
创建 RAID 1
sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdd /dev/sde # 输出: mdadm: array /dev/md1 started.
sudo mkfs.xfs /dev/md1 # 输出: meta-data=/dev/md1 isize=512...
sudo mount /dev/md1 /mnt/raid1
创建 RAID 5(4 块盘)
sudo mdadm --create /dev/md5 --level=5 --raid-devices=4 /dev/sd[b-e] # 输出: mdadm: array /dev/md5 started.
sudo mdadm --detail /dev/md5 # 输出: (显示 Raid Level, Array Size, Devices 等详情)
cat /proc/mdstat # 输出: Personalities : [raid6] [raid5] [raid4]
创建 RAID 10(4 块盘)
sudo mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sd[f-i] # 输出: mdadm: array /dev/md10 started.
sudo mkfs.ext4 /dev/md10 # 输出: Creating filesystem with ...
软 RAID 生产落地全流程(RAID 5 为例)
创建命令只是第一步,生产环境还需要:确认裸盘 → 写 mdadm.conf → 写 fstab → 验证重启后自动组装。以 3 块新盘 /dev/sdb、/dev/sdc、/dev/sdd 为例:
# 1. 确认盘是裸盘(无 FSTYPE 列,注意别把系统盘卷进去)
lsblk -f /dev/sdb /dev/sdc /dev/sdd # 输出: NAME FSTYPE LABEL UUID(无 FSTYPE 即裸盘)
sudo smartctl -a /dev/sdb | grep -E "Serial|Reallocated" # 输出: Serial Number: XYZ Reallocated_Sector_Ct: 0
# 2. 创建 RAID 5
sudo mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
# 输出: mdadm: array /dev/md5 started.
# 首次创建会全量同步,观察进度(新阵列首次同步约需数小时)
cat /proc/mdstat # 输出: [==>.................] resync = 12.4% (390627/3128768) finish=42.3min speed=1234K/sec
# 3. 固化阵列配置:/etc/mdadm/mdadm.conf
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
# 输出: ARRAY /dev/md5 metadata=1.2 name=host:5 UUID=9f4a:xxxx:xxxx:xxxx
sudo update-initramfs -u # Debian/Ubuntu 把 mdadm 模块打进 initramfs,否则开机无法识别
# 4. 格式化并写入 fstab(nofail + device-timeout 防止阵列未就绪时开机阻塞)
sudo mkfs.ext4 /dev/md5
sudo mkdir -p /data
echo "/dev/md5 /data ext4 defaults,nofail,x-systemd.device-timeout=30 0 0" | sudo tee -a /etc/fstab
# 5. 验证:挂载 + 重启后自动恢复
sudo mount -a && df -h /data # 输出: /dev/md5 5.5T 33M 5.5T 1% /data
sudo reboot
lsblk /dev/md5 # 重启后确认: md5 仍挂载在 /data(输出含 FSTYPE ext4)
cat /proc/mdstat # 输出: md5 : active raid5 sdd[2] sdc[1] sdb[0]
关键教训:很多新手"创建成功、格式化成功",但重启后阵列消失——99% 是因为第 3 步没写 mdadm.conf、没更新 initramfs。
管理操作
# 查看阵列状态
cat /proc/mdstat # 输出: md0 : active raid0 sdc[1] sdb[0]...
sudo mdadm --detail /dev/md5 # 输出: (显示阵列详细信息)
# 模拟故障并更换磁盘
sudo mdadm /dev/md5 --fail /dev/sdc # 输出: mdadm: set /dev/sdc faulty in /dev/md5
sudo mdadm /dev/md5 --remove /dev/sdc # 输出: mdadm: hot removed /dev/sdc from /dev/md5
sudo mdadm /dev/md5 --add /dev/sdf # 输出: mdadm: added /dev/sdf
# 停止阵列
sudo mdadm --stop /dev/md5 # 输出: mdadm: stopped /dev/md5
# 重新组装
sudo mdadm --assemble --scan # 输出: mdadm: /dev/md/5 has been started with 3 drives.
# 保存配置(下次开机自动组装)
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf # 输出: ARRAY /dev/md5 metadata=1.2 ...
故障恢复:坏盘替换与重建监控
真实故障恢复的顺序是:确认故障盘 → 摘除 → 插新盘 → 观察重建,全程不要慌,按步骤走:
# 1. 发现故障:mdstat 中 [U_U] 表示一块盘掉线,[U_UU] 的下划线位置即坏盘
cat /proc/mdstat # 输出: md5 : active raid5 sdb[0] sdd[3] sde[2] sdc[1](F)
sudo mdadm --detail /dev/md5 # 输出: State: degraded, Failed Devices: 1
# 2. 核对故障盘序列号(拔盘前必须确认物理位置)
sudo smartctl -a /dev/sdc | grep -E "Serial|Reallocated|Pending"
# 输出: Serial Number: WD-XXXX Reallocated_Sector_Ct: 128 Current_Pending_Sector: 37
# 3. 标记故障并摘除
sudo mdadm /dev/md5 --fail /dev/sdc # 输出: mdadm: set /dev/sdc faulty in /dev/md5
sudo mdadm /dev/md5 --remove /dev/sdc # 输出: mdadm: hot removed /dev/sdc from /dev/md5
# 4. 插新盘并加入阵列(新盘无需先分区/格式化,mdadm 会全盘接管)
sudo mdadm /dev/md5 --add /dev/sdf # 输出: mdadm: added /dev/sdf
# 5. 观察重建进度(重建期间不重启、不拔盘、不扩容)
watch -n 5 cat /proc/mdstat
# 输出: [>....................] recovery = 3.2% (124345/3893256) finish=37.6min speed=1723K/sec
sudo mdadm --detail /dev/md5 # 输出: State: clean, Rebuild Status: 100% complete
# 6. 重建完成后做一次全量一致性校验(巡检用)
echo check > /sys/block/md5/md/sync_action
watch -n 10 cat /proc/mdstat # 输出: [===========>...........] check = 61.8%
重建速度默认被 /proc/sys/dev/raid/speed_limit_min(1000 KB/s)限制,IO 空闲的机器可以放开:echo 50000 > /proc/sys/dev/raid/speed_limit_min。生产环境应让监控自动发现 degraded 状态:node_exporter 自带 mdadm collector,或写一行 cron 定时跑 mdadm --monitor。
RAID + LVM 分层存储方案
推荐组合是 RAID 管冗余、LVM 管容量:mdadm 先组阵列,LVM 在阵列之上建 PV/VG/LV。这样扩盘、做快照、多文件系统共存都不影响阵列本身:
# 1. RAID 1 阵列作为物理卷
sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdd /dev/sde
sudo pvcreate /dev/md1 # 输出: Physical volume "/dev/md1" successfully created
# 2. 建卷组并分配逻辑卷
sudo vgcreate vg_data /dev/md1 # 输出: Volume group "vg_data" successfully created
sudo lvcreate -L 500G -n lv_backup vg_data # 输出: Logical volume "lv_backup" created.
sudo lvcreate -l 100%FREE -n lv_www vg_data # 剩余空间全给 lv_www
# 3. 格式化挂载
sudo mkfs.ext4 /dev/vg_data/lv_www
sudo mount /dev/vg_data/lv_www /var/www
sudo vgdisplay vg_data # 输出: Free PE / Size: 0 / 0(全部空间已分配)
# 4. 未来扩容:先扩底层阵列,再扩上层 LV(顺序不能反!)
sudo mdadm --grow /dev/md1 --raid-devices=3 --add /dev/sdf # RAID 1 → 三盘镜像
sudo pvresize /dev/md1 # 让 LVM 感知新容量
sudo lvextend -l +100%FREE /dev/vg_data/lv_www
sudo resize2fs /dev/vg_data/lv_www # ext4 在线扩容(xfs 用 xfs_growfs)
注意:xfs 只能扩不能缩,ext4 可缩但需离线。反向组合(LVM 之上做 RAID)也能工作,但 mdadm → LVM 的上下顺序维护更简单,也是 RHEL 系 lvcreate --type raid1 的默认实现方式。
RAID 性能测试:dd 与 fio
阵列建好后必须实测,别信宣传参数。先用 dd 粗测顺序吞吐,再用 fio 测随机 IOPS 与延迟(数据库类负载最关心的指标):
# dd 粗测顺序读(iflag=direct 绕过页缓存)
dd if=/dev/md1 of=/dev/null bs=1M count=2048 iflag=direct
# 输出: 2147483648 bytes (2.1 GB) copied, 6.812 s, 315 MB/s
# dd 粗测顺序写
dd if=/dev/zero of=/mnt/raid1/testfile bs=1M count=2048 oflag=direct
# 输出: 2147483648 bytes (2.1 GB) copied, 7.402 s, 290 MB/s
# fio 随机读写 4KB 队列深度 32(模拟数据库压力)
sudo fio --name=randrw --rw=randrw --bs=4k --size=2G --numjobs=8 \
--runtime=60 --iodepth=32 --ioengine=libaio --direct=1 \
--filename=/mnt/raid1/fio_test --group_reporting
# 输出(节选): read: IOPS=4123, BW=16.1MiB/s ; write: IOPS=4123, BW=16.1MiB/s
# 输出(节选): lat (usec): min=5, max=48213, p99=1780.23
rm -f /mnt/raid1/fio_test
对比技巧:同一套 fio 参数分别跑 HDD RAID 5 与 SSD RAID 1,IOPS 通常差 50-100 倍。结果远低于预期时,优先怀疑:①条带大小与负载不匹配(mdadm --detail 看 Chunk Size,4K 随机写为主建议 64K 或更小);②未开写回缓存;③阵列正处重建/巡检状态(看 /proc/mdstat)。
监控与邮件告警
# 配置 mdadm 监控
sudo mdadm --monitor --mail=admin@example.com --delay=300 /dev/md5
# 或配置 /etc/mdadm/mdadm.conf 中的 MAILADDR 并启用 systemd 定时器
sudo systemctl enable mdmonitor.service # 输出: Created symlink /etc/systemd/system/...
常见错误
| 错误现象 | 可能原因 | 解决方法 |
|---|---|---|
| 阵列无法组装 | mdadm.conf 缺失 / 超时 | mdadm --assemble --scan 手动扫描 |
| 重建速度极慢 | 系统 IO 繁忙 / 校验读写放大 | 调整 /proc/sys/dev/raid/speed_limit_min |
| 磁盘标记为 faulty 后自动踢出 | 硬件链路不稳定 | 检查线缆、HBA 卡、SMART 状态 |
| 内核日志重复报错 | 磁盘即将故障 | 查看 dmesg | grep raid,立即更换 |
| 不同容量盘组 RAID | mdadm 以最小盘容量对齐 | 尽量使用同型号同容量磁盘 |
| 写入性能不如预期 | 未对齐条带大小 / 缺少写回缓存 | 硬件 RAID 卡需开启 WB + BBU |
最佳实践
| 场景 | 推荐方案 | 说明 |
|---|---|---|
| 数据库高并发写入 | RAID 10 | 兼顾写性能与冗余,重建快 |
| 大容量文件存储 | RAID 6 | 大盘重建时间长,双奇偶校验更安全 |
| 系统盘 / 双盘位 NAS | RAID 1 | 简单可靠,恢复无需计算 |
| 临时计算缓存 | RAID 0 | 最大化性能,数据可丢失 |
| 软件 RAID + 虚拟化 | RAID 10 + LVM | mdadm 做 RAID,LVM 做灵活分配 |
| 超大规模(12+ 盘) | RAID 60 / RAID 50 | 多组 RAID 6/5 再条带,降低重建影响面 |
| 定期巡检 | cron + smartctl + mdadm --monitor | 每周检查磁盘 SMART 状态和阵列一致性 |
新服务器存储初始化检查清单
- 核对硬件:
lsblk确认盘符与物理盘位对应,防止把数据盘当系统盘格式化 - SMART 基线:新盘先跑
smartctl -t short /dev/sdX短自检,记录 Reallocated_Sector 基线为 0 - 定级别:按本章选型表定 RAID 级别,不盲目跟风"大家都用 RAID 10"
- 固化配置:创建后立即写入 mdadm.conf + update-initramfs,再验证
mdadm --assemble --scan - fstab 安全:挂载项带
nofail,防止阵列未就绪导致开机卡死 - 部署监控:mdadm --monitor 或 node_exporter mdadm collector,degraded 状态 5 分钟内必须有人知道
- 压测基线:上线前跑一轮 fio,记录 IOPS/延迟基线数值,留作日后性能对比
- 文档化:在运维文档里记录阵列结构、chunk 大小、容量规划,换人交接不抓瞎
# fstab 安全写法(阵列延迟加载时不阻塞开机)
/dev/md5 /data ext4 defaults,nofail,x-systemd.device-timeout=30 0 0
练习题
- RAID 选择:你有 4 块 4TB 磁盘,需要为高并发 OLTP 数据库提供存储,选择哪种 RAID 级别?写出可用容量。
- mdadm 创建:用 3 块盘创建一个 RAID 5 阵列(设备名 /dev/md5),并格式化为 ext4。
- 故障模拟:在上述 RAID 5 中将 /dev/sdc 标记为故障、移除、添加新盘 /dev/sdf 重建。
- 容量计算:6 块 2TB 磁盘,做 RAID 6 可用容量多少?做 RAID 10 呢?
- 综合设计:某 NAS 有 8 块 8TB 盘,需要存储媒体文件并容忍至少 2 块盘同时故障,你会选择 RAID 6 还是 RAID 10?为什么?
点击查看答案
- 高并发 OLTP 数据库选择 RAID 10。可用容量 = 4×4TB / 2 = 8TB。RAID 10 写性能佳且重建快。
sudo mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd && sudo mkfs.ext4 /dev/md5。sudo mdadm /dev/md5 --fail /dev/sdc && sudo mdadm /dev/md5 --remove /dev/sdc && sudo mdadm /dev/md5 --add /dev/sdf。用cat /proc/mdstat观察重建进度。- RAID 6:可用容量 = (6-2) × 2TB = 8TB。RAID 10:可用容量 = (6/2) × 2TB = 6TB。
- 推荐 RAID 6。8×8TB 总裸容量大,RAID 6 可用 = 48TB,RAID 10 仅 32TB。媒体文件读写主要是顺序 I/O,RAID 6 写性能可接受,且能容忍任意 2 块盘同时故障(8TB 盘重建时间长,期间再坏一块概率大)。
学习检查点
学完本章后,请检验自己是否掌握以下内容:
| 检查项 | 自测问题 | 验证方法 |
|---|---|---|
| 概念理解 | 能用自己的话解释 RAID 0/1/5/6/10 各级别的原理和容错能力 | 尝试向他人讲解 |
| 命令操作 | 能不查文档完成 mdadm 创建软 RAID 阵列、故障盘替换与重建 | 在终端实际执行 |
| 原理掌握 | 能说出 RAID 5 的"读-改-写"放大效应及对随机写性能的影响 | 画出流程图 |
| 故障排查 | 能独立排查 RAID 阵列重启后无法自动组装的问题 | 模拟故障并修复 |
| 最佳实践 | 能说明为什么 RAID 不能取代备份 | 对比不同方案 |
本章总结
速查表
| 级别 | 最小盘数 | 容量效率 | 容错数 | 写性能 | 重建速度 | 典型场景 |
|---|---|---|---|---|---|---|
| RAID 0 | 2 | 100% | 0 | ⭐⭐⭐ | — | 缓存/临时数据 |
| RAID 1 | 2 | 50% | 1 | ⭐⭐ | ⭐⭐⭐ | 系统盘/双盘 NAS |
| RAID 5 | 3 | (N-1)/N | 1 | ⭐⭐ | ⭐ | 通用存储 |
| RAID 6 | 4 | (N-2)/N | 2 | ⭐ | ⭐ | 大容量安全存储 |
| RAID 10 | 4 | 50% | 每镜像 1 | ⭐⭐⭐ | ⭐⭐⭐ | 数据库/高 IO |
学习路径
- 掌握 mdadm 创建/管理/监控软 RAID →
- 理解 RAID 级别取舍,能在真实场景中选型 →
- 组合 LVM on RAID 构建弹性存储栈 →
- 了解 ZFS / Btrfs 的校验和、快照、压缩等高级特性 →
- 建立 RAID + 备份的完整数据保护观念
延伸阅读
man mdadm— mdadm 完整手册- Linux RAID Wiki — 内核 RAID 官方文档
- ZFS 入门:OpenZFS 文档
- Btrfs 官方:btrfs Wiki
- 3.13:备份策略与恢复 备份策略与灾难恢复方案 — 理解 RAID 不能替代备份
- rhcsa01 磁盘分区与 LVM — LVM 等前置知识