3.5.2 常见RAID级别对比(0/1/5/6/10)

3.5.2 常见RAID级别对比(0/1/5/6/10)#

RAID级别选型核心是性能、容量利用率与容错能力的平衡。本节以对比+可执行示例的方式呈现,便于运维选型与验证。

原理草图(条带/镜像/校验)#

文章图片

RAID级别对比要点#

  • RAID 0(条带化)
    最少磁盘数:2;容量利用率:100%
    读写性能:最高;容错能力:无
    适用场景:高性能临时数据、缓存

  • RAID 1(镜像)
    最少磁盘数:2;容量利用率:50%
    读性能提升,写性能接近单盘;可坏1块
    适用场景:系统盘、关键小规模数据

  • RAID 5(条带化+单校验)
    最少磁盘数:3;容量利用率:(N-1)/N
    读性能较好,写性能受校验影响;可坏1块
    适用场景:通用文件存储

  • RAID 6(条带化+双校验)
    最少磁盘数:4;容量利用率:(N-2)/N
    读性能较好,写性能低于RAID5;可坏2块
    适用场景:大容量阵列、高重建风险场景

  • RAID 10(RAID1+0)
    最少磁盘数:4;容量利用率:50%
    读写性能优秀;每组镜像可坏1块
    适用场景:数据库、虚拟化、高并发场景


选型与验证示例(mdadm,软件RAID)#

说明:示例以空磁盘 /dev/sdb~/dev/sde 为例,操作前请确认磁盘无重要数据。

安装与环境准备#

# 安装 mdadm
yum -y install mdadm    # RHEL/CentOS
# apt -y install mdadm  # Debian/Ubuntu

# 确认磁盘状态
lsblk -o NAME,SIZE,TYPE,MODEL

RAID 0 创建与验证#

# 创建 RAID0
mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc

# 查看状态
cat /proc/mdstat
mdadm --detail /dev/md0

命令解释
- --level=0:条带化
- --raid-devices=2:参与磁盘数量
- mdadm --detail:查看阵列详细信息与健康状态

RAID 1 创建与验证#

mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
cat /proc/mdstat
mdadm --detail /dev/md1

RAID 5 创建与验证#

mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
cat /proc/mdstat
mdadm --detail /dev/md5

RAID 6 创建与验证#

mdadm --create /dev/md6 --level=6 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
cat /proc/mdstat
mdadm --detail /dev/md6

RAID 10 创建与验证#

mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
cat /proc/mdstat
mdadm --detail /dev/md10

常见排错与定位#

# 1) 阵列未启动或状态异常
cat /proc/mdstat
mdadm --detail /dev/md0

# 2) 查看内核日志中的 RAID 相关报错
dmesg | grep -i md

# 3) 设备占用或残留 superblock 导致无法创建
mdadm --examine /dev/sdb
mdadm --zero-superblock /dev/sdb

# 4) 磁盘掉线模拟与检查(仅测试环境)
mdadm /dev/md1 --fail /dev/sdb
mdadm --detail /dev/md1

排错要点
- --zero-superblock 清除旧阵列信息
- --fail 用于模拟故障验证容错


练习#

  1. 使用 3 块磁盘创建 RAID 5,并验证容量利用率是否为 (N-1)/N。
  2. 将 RAID 1 阵列中的一块盘设置为故障,观察 cat /proc/mdstat 变化。
  3. 比较 RAID 0 与 RAID 10 的 fio 随机写性能(需自行准备工具与测试脚本)。