1. 查看madadm是否安装
[root@centos7-9 ~]# rpm -qa mdadm
2. 安装四块硬盘(sdb、sdc、sdd、sde)
3. 硬盘分区均为1且设置为fd类型(以sdb为例)
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xae687f23 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-2097151,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151):
将使用默认值 2097151
分区 1 已设置为 Linux 类型,大小设为 1023 MiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]#
4. 做完后使用lsblk指令查看
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─centos-root 253:0 0 27G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 1G 0 disk
└─sdb1 8:17 0 1023M 0 part
sdc 8:32 0 1G 0 disk
└─sdc1 8:33 0 1023M 0 part
sdd 8:48 0 1G 0 disk
└─sdd1 8:49 0 1023M 0 part
sde 8:64 0 1G 0 disk
└─sde1 8:65 0 1023M 0 part
sr0 11:0 1 4.4G 0 rom /run/media/root/CentOS 7 x86_64
[root@localhost ~]#
5. 使用mdadm创建RAID5
[root@localhost ~]# mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]#
6. 建立文件系统
[root@localhost ~]# mkfs -t ext4 -c /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
130816 inodes, 522752 blocks
26137 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Checking for bad blocks (read-only test): done
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]#
7. 使用mdadm查看
[root@localhost ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Mar 30 20:49:35 2022
Raid Level : raid5
Array Size : 2091008 (2042.00 MiB 2141.19 MB)
Used Dev Size : 1045504 (1021.00 MiB 1070.60 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Wed Mar 30 20:51:12 2022
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.localdomain:0 (local to host localhost.localdomain)
UUID : 833a36ef:2c8d5ea1:35eea347:07f81288
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 ~]#
8. 将RAID设备/dev/md0挂载到指定的目录/media/md0中,并显示该设备中的内容。
[root@localhost ~]# mkdir /media/md0
[root@localhost ~]# mount /dev/md0 /media/md0 ; ls /media/md0
lost+found
[root@localhost ~]#
9. 写入md0内容 (写入一个50M的文件50_file供数据恢复时测试用)
[root@localhost ~]# cd /media/md0/
[root@localhost md0]# dd if=/dev/zero of=50_file count=1 bs=50M; ll
记录了1+0 的读入
记录了1+0 的写出
52428800字节(52 MB)已复制,0.164985 秒,318 MB/秒
总用量 51216
-rw-r--r--. 1 root root 52428800 3月 30 20:55 50_file
drwx------. 2 root root 16384 3月 30 20:51 lost+found
[root@localhost md0]#
数据恢复测试
1. 将损坏的RAID成员标为失效
[root@localhost ~]# mdadm /dev/md0 --fail /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md0
[root@localhost ~]#
2. 移除失效的RAID成员
[root@localhost ~]# mdadm /dev/md0 --remove /dev/sdc1
mdadm: hot removed /dev/sdc1 from /dev/md0
[root@localhost ~]#
3. 查看RAID5下的文件是否失效,同时再次查看RAID5的情况
[root@localhost ~]# ll /media/md0/
总用量 51216
-rw-r--r--. 1 root root 52428800 3月 30 20:55 50_file
drwx------. 2 root root 16384 3月 30 20:51 lost+found
[root@localhost ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Mar 30 20:49:35 2022
Raid Level : raid5
Array Size : 2091008 (2042.00 MiB 2141.19 MB)
Used Dev Size : 1045504 (1021.00 MiB 1070.60 MB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Wed Mar 30 20:58:45 2022
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.localdomain:0 (local to host localhost.localdomain)
UUID : 833a36ef:2c8d5ea1:35eea347:07f81288
Events : 38
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
3 8 65 1 active sync /dev/sde1
4 8 49 2 active sync /dev/sdd1
[root@localhost ~]#
4. 卸载停止RAID设备
[root@localhost ~]# umount /dev/md0 /media/md0
umount: /media/md0:未挂载
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@localhost ~]#