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