Linux中RAID技术文档及操作指南
本指南介绍了Linux系统中常见的RAID级别及其实现方法。RAID 0提供高性能但无冗余,RAID 1实现数据镜像,RAID 5结合分布式校验,RAID 10则混合镜像和条带化。文章详细说明了通过mdadm工具创建各类RAID阵列的步骤,包括分区准备、阵列构建、文件系统创建和挂载过程。特别演示了RAID 5的热备盘机制和故障模拟处理,并提供了RAID阵列的删除方法。最后总结了关键命令,如mdad
Linux中RAID技术文档及操作指南
一、RAID 概述
RAID(Redundant Array of Independent Disks):通过组合多个物理磁盘提升性能、可靠性或两者兼具的技术。
二、RAID 级别详解
| 级别 | 最少磁盘数 | 原理 | 优势 | 劣势 |
|---|---|---|---|---|
| RAID 0 | 2 | N块相同大小的存储空间,数据分割为N份,每个空间存1/N | 读写速度提升 N 倍 | 数据安全性不变,无冗余,任一磁盘损坏数据丢失 |
| RAID 1 | 2 | N块相同空间,同一份数据,拷贝N份 | 提高数据安全性(允许损坏 N-1 块盘) | 浪费存储空间,空间利用率仅 50% |
| RAID 5 | 3 | 数据分块存储 + 分布式校验(校验信息轮转存储) | 空间利用率高((N-1)/N),允许损坏 1 块盘 | 写入速度较慢(需计算校验) |
| RAID 10 | 4 | RAID 1 + RAID 0:先进行RAID 1,再进行RAID 0 | 高读写速度 + 高容错性 | 空间利用率仅 50% |
| RAID 50 | 6 | RAID 5 + RAID 0:先进行RAID 5,再进行RAID 0 | 高容错 + 高性能 | 成本高,配置复杂 |
关键特性对比:
- 安全性:RAID 1/10 > RAID 5/50 > RAID 0
- 空间利用率:RAID 0 > RAID 5/50 > RAID 1/10
- 读写速度:RAID 0 > RAID 10 > RAID 5/50
三、实现操作
使用虚拟机进行实验,为了方便实验,对一块硬盘进行分区后操作,不额外添加硬盘
前提:配置好
yum仓库,并下载mdadm工具
1、创建RAID 0
-
创建2个分区:
因为
RAID 0至少需要2个磁盘数,所以创建2个分区模拟两个磁盘,每个1Gfdisk /dev/sdb partprobe /dev/sdb
-
创建
RAID 0:把创建的两个分区建立成RAID等级为RAID 0的md0(设置名,可自定义,必须在/dev下)
-C 创建 -v 显示过程 -l RAID等级 -n 磁盘数
mdadm -Cv /dev/md0 -l 0 -n 2 /dev/sdb{1..2}
-
对创建的RAID进行文件系统创建并挂载:
mkfs.xfs /dev/md0 mkdir /md0 blkid vim /etc/fstab UUID=c5004996-046d-4c3e-933c-8b826f6dcb2a /md0 xfs defaults 0 0 mount -a df -Th
2、创建RAID 1
-
创建2个分区:
因为
RAID 1至少需要2个磁盘数,所以创建2个分区模拟两个磁盘,每个1Gfdisk /dev/sdb partprobe /dev/sdb
-
创建
RAID 1:把创建的两个分区建立成RAID等级为RAID 1的md1
mdadm -Cv /dev/md1 -l 1 -n 2 /dev/sdb{3..4}
-
对创建的RAID进行文件系统创建并挂载:
同上,略
3、创建RAID 5
-
创建4个分区:
因为
RAID 5至少需要3个磁盘数、创建2个分区模拟两个数据盘,1个校验盘,以及1个热备盘(非必要),每个1G
fdisk /dev/sdb partprobe /dev/sdb
-
创建
RAID 5:把创建的4个分区建立成RAID等级为RAID 5的md5
–spare-devices=1 设置热备盘
mdadm -Cv /dev/md5 -l 5 -n 3 /dev/sdb{5..7} --spare-devices=1 /dev/sdb8
-
模拟硬盘故障:
使用
mdadm -D查看前后对比发现一个数据盘故障后,热备盘开始
mdadm -f /dev/md5 /dev/sdb5

-
热移除故障盘:
mdadm -r /dev/md5 /dev/sdb5 -
添加热备盘:
mdadm -a /dev/md5 /dev/sdb5
4、创建RAID 10
-
创建4个分区:
因为
RAID 1至少需要2个磁盘数,所以创建2个分区模拟两个磁盘,每个1G需要2个
RAID 1,建立成RAID 0fdisk /dev/sdb partprobe /dev/sdb
-
创建2个
RAID 1:把创建的4个分区建立成2个RAID等级为RAID 1的 md101 和 md102
mdadm -Cv /dev/md101 -l 1 -n /dev/sdb9 /dev/sdb10 mdadm -Cv /dev/md102 -l 1 -n 2 /dev/sdb11 /dev/sdb12 -
创建
RAID 10:把创建的的 md101 和 md102建立成2个RAID等级为RAID 0的md10
mdadm -Cv /dev/md10 -l 0 -n 2 /dev/md101 /dev/md102 -
查看:
使用
mdadm -D查看只能查看最后建立时的使用
lsblk可以查看每一个磁盘的RAID等级lsblk
5、删除RAID 0
-
取消挂载:
umount /md0 vim /etc/fstab -
删除
RAID 0:mdadm -S /dev/md0 rm -rf /md0 mdadm --zero-superblock /dev/sdb1 mdadm --zero-superblock /dev/sdb2
四、关键命令总结
| 命令 | 功能 |
|---|---|
mdadm -Cv /dev/设备名 -l 级别 -n 磁盘数 [disks] |
创建 RAID 设备 |
mdadm -Ds |
查看所有 RAID 详细信息 |
mdadm -D /dev/设备名 |
查看指定 RAID 状态 |
mdadm -f /dev/设备名 /dev/磁盘名 |
模拟磁盘故障 |
mdadm -r /dev/设备名 /dev/磁盘名 |
从 RAID 中移除磁盘 |
mdadm -a /dev/设备名 /dev/磁盘名 |
添加磁盘到 RAID |
mdadm --zero-superblock /dev/磁盘名 |
清除磁盘 RAID 元数据 |
注意事项:
- 所有磁盘需相同容量,避免空间浪费
- 移除 RAID 后必须清除元数据(
--zero-superblock),否则重建时可能报错- 热备盘(Spare)需提前配置,故障时自动重建
更多推荐

所有评论(0)