独立磁盘冗余阵列,简称磁盘阵列 通过技术(软件/硬件)将多个独立的磁盘整合成一个巨大容量的大逻辑磁盘使用 可以提高数据I/O(读写)速度和冗余(备份)数据的功能。

环境准备

主机

IP

Centos7

192.168.3.3/24

添加3块以上的虚拟磁盘

Linux下如何创建软RAID?_软RAID

软raid5创建

至少由3块磁盘组成,同一份文档分散写入不同磁盘,每个磁盘都有校验数据,其中校验数据会占用磁盘3分之1的空间,3分之2的空间存放原始数据,允许同时坏一块磁盘,当一块磁盘损坏,其他磁盘里的数据配合校验信息可将数据恢复回来。(以最小的磁盘空间为主,如果三个盘大小不一致,则会以最小的磁盘空间为主。)

1)为新添加的磁盘创建1G的主分区,重复以下步骤为新添加的磁盘添加主分区。

#如果不知道新添加的磁盘可以使用`fdisk -l`进行查看
fdisk /dev/sdb
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-4194303,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):1024G
值超出范围。
Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

Linux下如何创建软RAID?_磁盘阵列_02

2)创建raid5,并设置其中一块为备用盘

mdadm --create /dev/md5 --level=5 --raid-devices=3 --spare-device=1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 

- `mdadm`: 这是用于管理Linux内核中的多设备冗余数组(RAID)的工具。
- `--create`: 这个选项表示要创建一个新的RAID阵列。
- `/dev/md5`: 这是新创建的RAID阵列的设备路径。
- `--level=5`: 这个选项指定了RAID级别为5,即RAID 5。
- `--raid-devices=3`: 这个选项指定了要使用的磁盘数量,这里是3块磁盘。
- `--spare-device=1`: 这个选项指定了一个备用磁盘,用于在RAID阵列出现故障时提供额外的数据保护。
- `/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1`: 这些是参与RAID阵列创建的磁盘设备路径。

Linux下如何创建软RAID?_磁盘阵列_03

3)查看raid状态

mdadm --detail /dev/md5

Linux下如何创建软RAID?_Linux_04

4)故障测试,将sdd1设置为故障盘,此时会自动将热备盘加入到RAID组中进行数据重建

[root@lvs ~]# mdadm /dev/md5 -f /dev/sdd1
mdadm -D /dev/md5  #查看raid组

Linux下如何创建软RAID?_Linux_05

5)从raid组中移除故障磁盘,添加新磁盘

#从raid组中移除故障盘
mdadm /dev/md5 -r /dev/sdd1
#添加新硬盘加入raid组
mdadm /dev/md5 -a /dev/sdd1

可以看到新添加的磁盘已经作为热备盘加入了raid组中

Linux下如何创建软RAID?_磁盘阵列_06