2021-11-14 15:52:46 +08:00

1485 lines
55 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "软 RAID"
date: 2019-10-29T21:31:58+08:00
lastmod: 2019-10-29T21:31:58+08:00
keywords: []
tags: ["raid"]
categories: ["storage"]
---
## mdadm 命令
- 创建软 raid
```bash
mdadm -C -v /dev/创建的设备名 -l级别 -n数量 添加的磁盘 [-x数量 添加的热备份盘]
```
- -C: 创建一个新的阵列--create
- -v: 显示细节--verbose
- -l: 设定RAID级别--level=
- -n: 指定阵列中可用device数目--raid-devices=
- -x: 指定初始阵列的富余device数目--spare-devices=,空闲盘(热备磁盘)能在工作盘损坏后自动顶替
- 查看详细信息
```bash
mdadm -D /dev/设备名
```
- 查看 RAID 状态
```bash
cat /proc/mdstat
```
- 模拟损坏
```bash
mdadm -f /dev/设备名 磁盘
```
- 移除损坏的磁盘
```bash
mdadm -r /dev/设备名 磁盘
```
- 添加新硬盘作为热备份盘
```bash
mdadm -a /dev/设备名 磁盘
```
## RAID0
- RAID0俗称条带它将两个或多个硬盘组成一个逻辑硬盘容量是所有硬盘之和因为是多个硬盘组合成一个故可并行写操作写入速度提高但此方式硬盘数据没有冗余没有容错一旦一个物理硬盘损坏则所有数据均丢失。因而RAID0适合于对数据量大但安全性要求不高的场景比如音像、视频文件的存储等
![](/img/raid0.jpg)
- 实验: RAID0创建格式化挂载使用
- 添加2块20G的硬盘分区类型ID为fd
```
[root@localhost ~]# fdisk -l | grep raid
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect
```
- 创建RAID0
```
[root@localhost ~]# mdadm -C -v /dev/md0 -l0 -n2 /dev/sd{b,c}1
mdadm: chunk size defaults to 512K
mdadm: Fail create md0 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
```
- 查看raidstat状态
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdc1[1] sdb1[0]
41906176 blocks super 1.2 512k chunks
unused devices: <none>
```
- 查看RAID0的详细信息
```
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 25 15:28:13 2019
Raid Level : raid0
Array Size : 41906176 (39.96 GiB 42.91 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Aug 25 15:28:13 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Consistency Policy : none
Name : localhost:0 (local to host localhost)
UUID : 7ff54c57:b99a59da:6b56c6d5:a4576ccf
Events : 0
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
```
- 格式化
```
[root@localhost ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0 isize=512 agcount=16, agsize=654720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=10475520, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=5120, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
```
- 挂载使用
```
[root@localhost ~]# mkdir /mnt/md0
[root@localhost ~]# mount /dev/md0 /mnt/md0/
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/CentOS-root xfs 17G 1013M 16G 6% /
devtmpfs devtmpfs 901M 0 901M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 8.7M 904M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 143M 872M 15% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/md0 xfs 40G 33M 40G 1% /mnt/md0
```
## RAID1
- RAID1俗称镜像它最少由两个硬盘组成且两个硬盘上存储的数据均相同以实现数据冗余。RAID1读操作速度有所提高写操作理论上与单硬盘速度一样但由于数据需要同时写入所有硬盘实际上稍为下降。容错性是所有组合方式里最好的只要有一块硬盘正常则能保持正常工作。但它对硬盘容量的利用率则是最低只有50%因而成本也是最高。RAID1适合对数据安全性要求非常高的场景比如存储数据库数据文件之类
![](/img/raid1.jpg)
- 实验: RAID1创建格式化挂载使用故障模拟重新添加热备份
- 添加3块20G的硬盘分区类型ID为fd。
```
[root@localhost ~]# fdisk -l | grep raid
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdd1 2048 41943039 20970496 fd Linux raid autodetect
```
- 创建RAID1并添加1个热备份盘。
```
[root@localhost ~]# mdadm -C -v /dev/md1 -l1 -n2 /dev/sd{b,c}1 -x1 /dev/sdd1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 20953088K
Continue creating array? y
mdadm: Fail create md1 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
```
- 查看raidstat状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd1[2](S) sdc1[1] sdb1[0]
20953088 blocks super 1.2 [2/2] [UU]
[========>............] resync = 44.6% (9345792/20953088) finish=0.9min speed=203996K/sec
unused devices: <none>
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd1[2](S) sdc1[1] sdb1[0]
20953088 blocks super 1.2 [2/2] [UU]
unused devices: <none>
```
- 查看RAID1的详细信息。
```
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Sun Aug 25 15:38:44 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Sun Aug 25 15:39:24 2019
State : clean, resyncing
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Consistency Policy : resync
Resync Status : 40% complete
Name : localhost:1 (local to host localhost)
UUID : b921e8b3:a18e2fc9:11706ba4:ed633dfd
Events : 6
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 - spare /dev/sdd1
```
- 格式化。
```
[root@localhost ~]# mkfs.xfs /dev/md1
meta-data=/dev/md1 isize=512 agcount=4, agsize=1309568 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5238272, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
```
- 挂载使用。
```
[root@localhost ~]# mkdir /mnt/md1
[root@localhost ~]# mount /dev/md1 /mnt/md1/
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1014M 16G 6% /
devtmpfs devtmpfs 901M 0 901M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 8.7M 904M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 143M 872M 15% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/md1 xfs 20G 33M 20G 1% /mnt/md1
```
- 创建测试文件。
```
[root@localhost ~]# touch /mnt/md1/test{1..9}.txt
[root@localhost ~]# ls /mnt/md1/
test1.txt test2.txt test3.txt test4.txt test5.txt test6.txt test7.txt test8.txt test9.txt
```
- 故障模拟。
```
[root@localhost ~]# mdadm -f /dev/md1 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md1
```
- 查看测试文件。
```
[root@localhost ~]# ls /mnt/md1/
test1.txt test2.txt test3.txt test4.txt test5.txt test6.txt test7.txt test8.txt test9.txt
```
- 查看状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd1[2] sdc1[1] sdb1[0](F)
20953088 blocks super 1.2 [2/1] [_U]
[=====>...............] recovery = 26.7% (5600384/20953088) finish=1.2min speed=200013K/sec
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Sun Aug 25 15:38:44 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Sun Aug 25 15:47:57 2019
State : active, degraded, recovering
Active Devices : 1
Working Devices : 2
Failed Devices : 1
Spare Devices : 1
Consistency Policy : resync
Rebuild Status : 17% complete
Name : localhost:1 (local to host localhost)
UUID : b921e8b3:a18e2fc9:11706ba4:ed633dfd
Events : 22
Number Major Minor RaidDevice State
2 8 49 0 spare rebuilding /dev/sdd1
1 8 33 1 active sync /dev/sdc1
0 8 17 - faulty /dev/sdb1
```
- 再次查看状态
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd1[2] sdc1[1] sdb1[0](F)
20953088 blocks super 1.2 [2/2] [UU]
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Sun Aug 25 15:38:44 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Sun Aug 25 15:49:28 2019
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 1
Spare Devices : 0
Consistency Policy : resync
Name : localhost:1 (local to host localhost)
UUID : b921e8b3:a18e2fc9:11706ba4:ed633dfd
Events : 37
Number Major Minor RaidDevice State
2 8 49 0 active sync /dev/sdd1
1 8 33 1 active sync /dev/sdc1
0 8 17 - faulty /dev/sdb1
```
- 移除损坏的磁盘
```
[root@localhost ~]# mdadm -r /dev/md1 /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md1
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Sun Aug 25 15:38:44 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Aug 25 15:52:57 2019
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : localhost:1 (local to host localhost)
UUID : b921e8b3:a18e2fc9:11706ba4:ed633dfd
Events : 38
Number Major Minor RaidDevice State
2 8 49 0 active sync /dev/sdd1
1 8 33 1 active sync /dev/sdc1
```
- 重新添加热备份盘。
```
[root@localhost ~]# mdadm -a /dev/md1 /dev/sdb1
mdadm: added /dev/sdb1
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Sun Aug 25 15:38:44 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Sun Aug 25 15:53:32 2019
State : active
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Consistency Policy : resync
Name : localhost:1 (local to host localhost)
UUID : b921e8b3:a18e2fc9:11706ba4:ed633dfd
Events : 39
Number Major Minor RaidDevice State
2 8 49 0 active sync /dev/sdd1
1 8 33 1 active sync /dev/sdc1
3 8 17 - spare /dev/sdb1
```
## RAID5
- RAID5最少由三个硬盘组成它将数据分散存储于阵列中的每个硬盘并且还伴有一个数据校验位数据位与校验位通过算法能相互验证当丢失其中的一位时RAID控制器能通过算法利用其它两位数据将丢失的数据进行计算还原。因而RAID5最多能允许一个硬盘损坏有容错性。RAID5相对于其它的组合方式在容错与成本方面有一个平衡因而受到大多数使用者的欢迎。一般的磁盘阵列最常使用的就是RAID5这种方式
![](/img/raid5.jpg)
- 实验: RAID5创建格式化挂载使用故障模拟重新添加热备份
- 添加4块20G的硬盘分区类型ID为fd。
```
[root@localhost ~]# fdisk -l | grep raid
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdd1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sde1 2048 41943039 20970496 fd Linux raid autodetect
```
- 创建RAID5并添加1个热备份盘。
```
[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20953088K
mdadm: Fail create md5 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
```
- 查看raidstat状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[====>................] recovery = 24.1% (5057340/20953088) finish=1.3min speed=202293K/sec
unused devices: <none>
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
```
- 查看RAID5的详细信息。
```
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Sun Aug 25 16:13:44 2019
Raid Level : raid5
Array Size : 41906176 (39.96 GiB 42.91 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:15:29 2019
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost:5 (local to host localhost)
UUID : a055094e:9adaff79:2edae9b9:0dcc3f1b
Events : 18
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
3 8 65 - spare /dev/sde1
```
- 格式化。
```
[root@localhost ~]# mkfs.xfs /dev/md5
meta-data=/dev/md5 isize=512 agcount=16, agsize=654720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=10475520, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=5120, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
```
- 挂载使用。
```
[root@localhost ~]# mkdir /mnt/md5
[root@localhost ~]# mount /dev/md5 /mnt/md5/
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1014M 16G 6% /
devtmpfs devtmpfs 901M 0 901M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 8.7M 904M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 143M 872M 15% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/md5 xfs 40G 33M 40G 1% /mnt/md5
```
- 创建测试文件。
```
[root@localhost ~]# touch /mnt/md5/test{1..9}.txt
[root@localhost ~]# ls /mnt/md5/
test1.txt test2.txt test3.txt test4.txt test5.txt test6.txt test7.txt test8.txt test9.txt
```
- 故障模拟。
```
[root@localhost ~]# mdadm -f /dev/md5 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md5
```
- 查看测试文件。
```
[root@localhost ~]# ls /mnt/md5/
test1.txt test2.txt test3.txt test4.txt test5.txt test6.txt test7.txt test8.txt test9.txt
```
- 查看状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1] sdb1[0](F)
41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
[====>................] recovery = 21.0% (4411136/20953088) finish=1.3min speed=210054K/sec
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Sun Aug 25 16:13:44 2019
Raid Level : raid5
Array Size : 41906176 (39.96 GiB 42.91 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:21:31 2019
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Rebuild Status : 12% complete
Name : localhost:5 (local to host localhost)
UUID : a055094e:9adaff79:2edae9b9:0dcc3f1b
Events : 23
Number Major Minor RaidDevice State
3 8 65 0 spare rebuilding /dev/sde1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
0 8 17 - faulty /dev/sdb1
```
- 再次查看状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1] sdb1[0](F)
41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Sun Aug 25 16:13:44 2019
Raid Level : raid5
Array Size : 41906176 (39.96 GiB 42.91 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:23:09 2019
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost:5 (local to host localhost)
UUID : a055094e:9adaff79:2edae9b9:0dcc3f1b
Events : 39
Number Major Minor RaidDevice State
3 8 65 0 active sync /dev/sde1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
0 8 17 - faulty /dev/sdb1
```
- 移除损坏的磁盘。
```
[root@localhost ~]# mdadm -r /dev/md5 /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md5
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Sun Aug 25 16:13:44 2019
Raid Level : raid5
Array Size : 41906176 (39.96 GiB 42.91 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:25:01 2019
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost:5 (local to host localhost)
UUID : a055094e:9adaff79:2edae9b9:0dcc3f1b
Events : 40
Number Major Minor RaidDevice State
3 8 65 0 active sync /dev/sde1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
```
- 重新添加热备份盘。
```
[root@localhost ~]# mdadm -a /dev/md5 /dev/sdb1
mdadm: added /dev/sdb1
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Sun Aug 25 16:13:44 2019
Raid Level : raid5
Array Size : 41906176 (39.96 GiB 42.91 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:25:22 2019
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost:5 (local to host localhost)
UUID : a055094e:9adaff79:2edae9b9:0dcc3f1b
Events : 41
Number Major Minor RaidDevice State
3 8 65 0 active sync /dev/sde1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
5 8 17 - spare /dev/sdb1
```
## RAID6
- RAID6是在RAID5的基础上改良而成的RAID6再将数据校验位增加一位所以允许损坏的硬盘数量也由 RAID5的一个增加到二个。由于同一阵列中两个硬盘同时损坏的概率非常少所以RAID6用增加一块硬盘的代价换来了比RAID5更高的数据安全性
![](/img/raid6.jpg)
- 实验: RAID6创建格式化挂载使用故障模拟重新添加热备份
- 添加6块20G的硬盘分区类型ID为fd。
```
[root@localhost ~]# fdisk -l | grep raid
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdd1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sde1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdf1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdg1 2048 41943039 20970496 fd Linux raid autodetect
```
- 创建RAID6并添加2个热备份盘。
```
[root@localhost ~]# mdadm -C -v /dev/md6 -l6 -n4 /dev/sd[b-e]1 -x2 /dev/sd[f-g]1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20953088K
mdadm: Fail create md6 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md6 started.
```
- 查看raidstat状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md6 : active raid6 sdg1[5](S) sdf1[4](S) sde1[3] sdd1[2] sdc1[1] sdb1[0]
41906176 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
[===>.................] resync = 18.9% (3962940/20953088) finish=1.3min speed=208575K/sec
unused devices: <none>
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md6 : active raid6 sdg1[5](S) sdf1[4](S) sde1[3] sdd1[2] sdc1[1] sdb1[0]
41906176 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
```
- 查看RAID6的详细信息。
```
[root@localhost ~]# mdadm -D /dev/md6
/dev/md6:
Version : 1.2
Creation Time : Sun Aug 25 16:34:36 2019
Raid Level : raid6
Array Size : 41906176 (39.96 GiB 42.91 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 6
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:34:43 2019
State : clean, resyncing
Active Devices : 4
Working Devices : 6
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Resync Status : 10% complete
Name : localhost:6 (local to host localhost)
UUID : 7c3d15a2:4066f2c6:742f3e4c:82aae1bb
Events : 1
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
4 8 81 - spare /dev/sdf1
5 8 97 - spare /dev/sdg1
```
- 格式化。
```
[root@localhost ~]# mkfs.xfs /dev/md6
meta-data=/dev/md6 isize=512 agcount=16, agsize=654720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=10475520, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=5120, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
```
- 挂载使用。
```
[root@localhost ~]# mkdir /mnt/md6
[root@localhost ~]# mount /dev/md6 /mnt/md6/
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1014M 16G 6% /
devtmpfs devtmpfs 901M 0 901M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 8.7M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 143M 872M 15% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/md6 xfs 40G 33M 40G 1% /mnt/md6
```
- 创建测试文件。
```
[root@localhost ~]# touch /mnt/md6/test{1..9}.txt
[root@localhost ~]# ls /mnt/md6/
test1.txt test2.txt test3.txt test4.txt test5.txt test6.txt test7.txt test8.txt test9.txt
```
- 故障模拟。
```
[root@localhost ~]# mdadm -f /dev/md6 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md6
[root@localhost ~]# mdadm -f /dev/md6 /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md6
```
- 查看测试文件。
```
[root@localhost ~]# ls /mnt/md6/
test1.txt test2.txt test3.txt test4.txt test5.txt test6.txt test7.txt test8.txt test9.txt
```
- 查看状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md6 : active raid6 sdg1[5] sdf1[4] sde1[3] sdd1[2] sdc1[1](F) sdb1[0](F)
41906176 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/2] [__UU]
[====>................] recovery = 23.8% (4993596/20953088) finish=1.2min speed=208066K/sec
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md6
/dev/md6:
Version : 1.2
Creation Time : Sun Aug 25 16:34:36 2019
Raid Level : raid6
Array Size : 41906176 (39.96 GiB 42.91 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 6
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:41:09 2019
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 4
Failed Devices : 2
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Rebuild Status : 13% complete
Name : localhost:6 (local to host localhost)
UUID : 7c3d15a2:4066f2c6:742f3e4c:82aae1bb
Events : 27
Number Major Minor RaidDevice State
5 8 97 0 spare rebuilding /dev/sdg1
4 8 81 1 spare rebuilding /dev/sdf1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
0 8 17 - faulty /dev/sdb1
1 8 33 - faulty /dev/sdc1
```
- 再次查看状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md6 : active raid6 sdg1[5] sdf1[4] sde1[3] sdd1[2] sdc1[1](F) sdb1[0](F)
41906176 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md6
/dev/md6:
Version : 1.2
Creation Time : Sun Aug 25 16:34:36 2019
Raid Level : raid6
Array Size : 41906176 (39.96 GiB 42.91 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 6
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:42:42 2019
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 2
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost:6 (local to host localhost)
UUID : 7c3d15a2:4066f2c6:742f3e4c:82aae1bb
Events : 46
Number Major Minor RaidDevice State
5 8 97 0 active sync /dev/sdg1
4 8 81 1 active sync /dev/sdf1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
0 8 17 - faulty /dev/sdb1
1 8 33 - faulty /dev/sdc1
```
- 移除损坏的磁盘。
```
[root@localhost ~]# mdadm -r /dev/md6 /dev/sd{b,c}1
mdadm: hot removed /dev/sdb1 from /dev/md6
mdadm: hot removed /dev/sdc1 from /dev/md6
[root@localhost ~]# mdadm -D /dev/md6
/dev/md6:
Version : 1.2
Creation Time : Sun Aug 25 16:34:36 2019
Raid Level : raid6
Array Size : 41906176 (39.96 GiB 42.91 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:43:43 2019
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost:6 (local to host localhost)
UUID : 7c3d15a2:4066f2c6:742f3e4c:82aae1bb
Events : 47
Number Major Minor RaidDevice State
5 8 97 0 active sync /dev/sdg1
4 8 81 1 active sync /dev/sdf1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
```
- 重新添加热备份盘。
```
[root@localhost ~]# mdadm -a /dev/md6 /dev/sd{b,c}1
mdadm: added /dev/sdb1
mdadm: added /dev/sdc1
[root@localhost ~]# mdadm -D /dev/md6
/dev/md6:
Version : 1.2
Creation Time : Sun Aug 25 16:34:36 2019
Raid Level : raid6
Array Size : 41906176 (39.96 GiB 42.91 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 6
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:44:01 2019
State : clean
Active Devices : 4
Working Devices : 6
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost:6 (local to host localhost)
UUID : 7c3d15a2:4066f2c6:742f3e4c:82aae1bb
Events : 49
Number Major Minor RaidDevice State
5 8 97 0 active sync /dev/sdg1
4 8 81 1 active sync /dev/sdf1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
6 8 17 - spare /dev/sdb1
7 8 33 - spare /dev/sdc1
```
## RAID10
- RAID10是先将数据进行镜像操作然后再对数据进行分组RAID1在这里就是一个冗余的备份阵列而RAID0则负责数据的读写阵列。至少要四块盘两两组合做RAID1然后做RAID0RAID10对存储容量的利用率和RAID1一样低只有50%。Raid10方案造成了50%的磁盘浪费但是它提供了200%的速度和单磁盘损坏的数据安全性并且当同时损坏的磁盘不在同一RAID1中就能保证数据安全性RAID10能提供比RAID5更好的性能。这种新结构的可扩充性不好使用此方案比较昂贵
![](/img/raid10.jpg)
- 实验: RAID10创建格式化挂载使用故障模拟重新添加热备份
- 添加4块20G的硬盘分区类型ID为fd。
```
[root@localhost ~]# fdisk -l | grep raid
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdd1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sde1 2048 41943039 20970496 fd Linux raid autodetect
```
- 创建两个RAID1不添加热备份盘。
```
[root@localhost ~]# mdadm -C -v /dev/md101 -l1 -n2 /dev/sd{b,c}1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 20953088K
Continue creating array? y
mdadm: Fail create md101 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md101 started.
[root@localhost ~]# mdadm -C -v /dev/md102 -l1 -n2 /dev/sd{d,e}1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 20953088K
Continue creating array? y
mdadm: Fail create md102 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md102 started.
```
- 查看raidstat状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md102 : active raid1 sde1[1] sdd1[0]
20953088 blocks super 1.2 [2/2] [UU]
[=========>...........] resync = 48.4% (10148224/20953088) finish=0.8min speed=200056K/sec
md101 : active raid1 sdc1[1] sdb1[0]
20953088 blocks super 1.2 [2/2] [UU]
[=============>.......] resync = 69.6% (14604672/20953088) finish=0.5min speed=200052K/sec
unused devices: <none>
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md102 : active raid1 sde1[1] sdd1[0]
20953088 blocks super 1.2 [2/2] [UU]
md101 : active raid1 sdc1[1] sdb1[0]
20953088 blocks super 1.2 [2/2] [UU]
unused devices: <none>
```
- 查看两个RAID1的详细信息。
```
[root@localhost ~]# mdadm -D /dev/md101
/dev/md101:
Version : 1.2
Creation Time : Sun Aug 25 16:53:00 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:53:58 2019
State : clean, resyncing
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Resync Status : 62% complete
Name : localhost:101 (local to host localhost)
UUID : 80bb4fc5:1a628936:275ba828:17f23330
Events : 9
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
[root@localhost ~]# mdadm -D /dev/md102
/dev/md102:
Version : 1.2
Creation Time : Sun Aug 25 16:53:23 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:54:02 2019
State : clean, resyncing
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Resync Status : 42% complete
Name : localhost:102 (local to host localhost)
UUID : 38abac72:74fa8a53:3a21b5e4:01ae64cd
Events : 6
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 65 1 active sync /dev/sde1
```
- 创建RAID10。
```
[root@localhost ~]# mdadm -C -v /dev/md10 -l0 -n2 /dev/md10{1,2}
mdadm: chunk size defaults to 512K
mdadm: Fail create md10 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md10 started.
```
- 查看raidstat状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0]
md10 : active raid0 md102[1] md101[0]
41871360 blocks super 1.2 512k chunks
md102 : active raid1 sde1[1] sdd1[0]
20953088 blocks super 1.2 [2/2] [UU]
md101 : active raid1 sdc1[1] sdb1[0]
20953088 blocks super 1.2 [2/2] [UU]
unused devices: <none>
```
- 查看RAID10的详细信息。
```
[root@localhost ~]# mdadm -D /dev/md10
/dev/md10:
Version : 1.2
Creation Time : Sun Aug 25 16:56:08 2019
Raid Level : raid0
Array Size : 41871360 (39.93 GiB 42.88 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:56:08 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Consistency Policy : none
Name : localhost:10 (local to host localhost)
UUID : 23c6abac:b131a049:db25cac8:686fb045
Events : 0
Number Major Minor RaidDevice State
0 9 101 0 active sync /dev/md101
1 9 102 1 active sync /dev/md102
```
- 格式化。
```
[root@localhost ~]# mkfs.xfs /dev/md10
meta-data=/dev/md10 isize=512 agcount=16, agsize=654208 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=10467328, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=5112, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
```
- 挂载使用。
```
[root@localhost ~]# mkdir /mnt/md10
[root@localhost ~]# mount /dev/md10 /mnt/md10/
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1014M 16G 6% /
devtmpfs devtmpfs 901M 0 901M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 8.7M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 143M 872M 15% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/md10 xfs 40G 33M 40G 1% /mnt/md10
```
- 创建测试文件。
```
[root@localhost ~]# touch /mnt/md10/test{1..9}.txt
[root@localhost ~]# ls /mnt/md10/
test1.txt test2.txt test3.txt test4.txt test5.txt test6.txt test7.txt test8.txt test9.txt
```
- 故障模拟。
```
[root@localhost ~]# mdadm -f /dev/md101 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md101
[root@localhost ~]# mdadm -f /dev/md102 /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md102
```
- 查看测试文件。
```
[root@localhost ~]# ls /mnt/md10/
test1.txt test2.txt test3.txt test4.txt test5.txt test6.txt test7.txt test8.txt test9.txt
```
- 查看状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0]
md10 : active raid0 md102[1] md101[0]
41871360 blocks super 1.2 512k chunks
md102 : active raid1 sde1[1] sdd1[0](F)
20953088 blocks super 1.2 [2/1] [_U]
md101 : active raid1 sdc1[1] sdb1[0](F)
20953088 blocks super 1.2 [2/1] [_U]
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md101
/dev/md101:
Version : 1.2
Creation Time : Sun Aug 25 16:53:00 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Aug 25 17:01:11 2019
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0
Consistency Policy : resync
Name : localhost:101 (local to host localhost)
UUID : 80bb4fc5:1a628936:275ba828:17f23330
Events : 23
Number Major Minor RaidDevice State
- 0 0 0 removed
1 8 33 1 active sync /dev/sdc1
0 8 17 - faulty /dev/sdb1
[root@localhost ~]# mdadm -D /dev/md102
/dev/md102:
Version : 1.2
Creation Time : Sun Aug 25 16:53:23 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Aug 25 17:00:43 2019
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0
Consistency Policy : resync
Name : localhost:102 (local to host localhost)
UUID : 38abac72:74fa8a53:3a21b5e4:01ae64cd
Events : 19
Number Major Minor RaidDevice State
- 0 0 0 removed
1 8 65 1 active sync /dev/sde1
0 8 49 - faulty /dev/sdd1
[root@localhost ~]# mdadm -D /dev/md10
/dev/md10:
Version : 1.2
Creation Time : Sun Aug 25 16:56:08 2019
Raid Level : raid0
Array Size : 41871360 (39.93 GiB 42.88 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Aug 25 16:56:08 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Consistency Policy : none
Name : localhost:10 (local to host localhost)
UUID : 23c6abac:b131a049:db25cac8:686fb045
Events : 0
Number Major Minor RaidDevice State
0 9 101 0 active sync /dev/md101
1 9 102 1 active sync /dev/md102
```
- 移除损坏的磁盘。
```
[root@localhost ~]# mdadm -r /dev/md101 /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md101
[root@localhost ~]# mdadm -r /dev/md102 /dev/sdd1
mdadm: hot removed /dev/sdd1 from /dev/md102
[root@localhost ~]# mdadm -D /dev/md101
/dev/md101:
Version : 1.2
Creation Time : Sun Aug 25 16:53:00 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Sun Aug 25 17:04:59 2019
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : localhost:101 (local to host localhost)
UUID : 80bb4fc5:1a628936:275ba828:17f23330
Events : 26
Number Major Minor RaidDevice State
- 0 0 0 removed
1 8 33 1 active sync /dev/sdc1
[root@localhost ~]# mdadm -D /dev/md102
/dev/md102:
Version : 1.2
Creation Time : Sun Aug 25 16:53:23 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Sun Aug 25 17:05:07 2019
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : localhost:102 (local to host localhost)
UUID : 38abac72:74fa8a53:3a21b5e4:01ae64cd
Events : 20
Number Major Minor RaidDevice State
- 0 0 0 removed
1 8 65 1 active sync /dev/sde1
```
- 重新添加热备份盘。
```
[root@localhost ~]# mdadm -a /dev/md101 /dev/sdb1
mdadm: added /dev/sdb1
[root@localhost ~]# mdadm -a /dev/md102 /dev/sdd1
mdadm: added /dev/sdd1
```
- 再次查看状态。
```
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0]
md10 : active raid0 md102[1] md101[0]
41871360 blocks super 1.2 512k chunks
md102 : active raid1 sdd1[2] sde1[1]
20953088 blocks super 1.2 [2/1] [_U]
[====>................] recovery = 23.8% (5000704/20953088) finish=1.2min speed=208362K/sec
md101 : active raid1 sdb1[2] sdc1[1]
20953088 blocks super 1.2 [2/1] [_U]
[======>..............] recovery = 32.0% (6712448/20953088) finish=1.1min speed=203407K/sec
unused devices: <none>
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0]
md10 : active raid0 md102[1] md101[0]
41871360 blocks super 1.2 512k chunks
md102 : active raid1 sdd1[2] sde1[1]
20953088 blocks super 1.2 [2/2] [UU]
md101 : active raid1 sdb1[2] sdc1[1]
20953088 blocks super 1.2 [2/2] [UU]
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md101
/dev/md101:
Version : 1.2
Creation Time : Sun Aug 25 16:53:00 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Aug 25 17:07:28 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : localhost:101 (local to host localhost)
UUID : 80bb4fc5:1a628936:275ba828:17f23330
Events : 45
Number Major Minor RaidDevice State
2 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
[root@localhost ~]# mdadm -D /dev/md102
/dev/md102:
Version : 1.2
Creation Time : Sun Aug 25 16:53:23 2019
Raid Level : raid1
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 20953088 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Aug 25 17:07:36 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : localhost:102 (local to host localhost)
UUID : 38abac72:74fa8a53:3a21b5e4:01ae64cd
Events : 39
Number Major Minor RaidDevice State
2 8 49 0 active sync /dev/sdd1
1 8 65 1 active sync /dev/sde1
```
## 常用 RAID 比较
名称 | 硬盘数量 | 容量/利用率 | 读性能 | 写性能 | 数据冗余
---- | ---- | ---- | ---- | ---- | ----
RAID0 | N | N块总和 | N倍 | N倍 | 无,一个故障,丢失所有数据
RAID1 | N(偶数) | 50% | ↑ | ↓ | 写两个设备,允许一个故障
RAID5 | N≥3 | (N-1)/N | ↑↑ | ↓ | 计算校验,允许一个故障
RAID6 | N≥4 | (N-2)/N | ↑↑ | ↓↓ | 双重校验,允许两个故障
RAID10 | N(偶数N≥4) | 50% | (N/2)倍 | (N/2)倍 | 允许基组中的磁盘各损坏一个
## 参考
- [https://www.linuxidc.com/Linux/2019-08/160345.htm](https://www.linuxidc.com/Linux/2019-08/160345.htm)