1.安装
[root@localhost ~]# yum install mdadm -y
分区sdc
sdc[1-2]z用来做raid1 sdc3用来做热备盘
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 39.5G 0 part
├─centos-root 253:0 0 35.6G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
├─sdc1 8:33 0 1G 0 part
├─sdc2 8:34 0 1G 0 part
└─sdc3 8:35 0 1G 0 part
sdd 8:48 0 5G 0 disk
sr0 11:0 1 1024M 0 rom
创建
[root@localhost ~]# mdadm -C /dev/md1 -l 1 -n 2 -x 1 /dev/sdc[1-3]
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
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[root@l
查看
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 39.5G 0 part
├─centos-root 253:0 0 35.6G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md1 9:1 0 1023M 0 raid1
├─sdc2 8:34 0 1G 0 part
│ └─md1 9:1 0 1023M 0 raid1
└─sdc3 8:35 0 1G 0 part
└─md1 9:1 0 1023M 0 raid1
sdd 8:48 0 5G 0 disk
sr0 11:0 1 4G 0 rom
loop0 7:0 0 4G 0 loop /opt/centos
分区
[root@localhost ~]# fdisk /dev/md1
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x85a666d8.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-2095103, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2095103, default 2095103): +1G
Value out of range.
Last sector, +sectors or +size{K,M,G} (2048-2095103, default 2095103): +500M
Partition 1 of type Linux and of size 500 MiB is set
Command (m for help): W
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
格式化
[root@localhost ~]# mkfs.ext4 /dev/md1p1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=34078720
63 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
挂载
[root@localhost ~]# mkdir /opt/md1p1
[root@localhost ~]# mount /dev/md1p1 /opt/md1p1/
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 36G 7.6G 29G 22% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.7M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 497M 125M 373M 25% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/loop0 4.1G 4.1G 0 100% /opt/centos
/dev/md1p1 477M 2.3M 445M 1% /opt/md1p1
实时查看
[root@localhost ~]# watch -n 1 cat /proc/mdstat
Every 1.0s: cat /proc/mdstat Tue Dec 29 05:18:16 2020
Personalities : [raid1]
md1 : active raid1 sdc3[2](S) sdc2[1] sdc1[0]
1047552 blocks super 1.2 [2/2] [UU]
unused devices: <none>
模拟故障
[root@localhost ~]# mdadm -f /dev/md1 /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md1
删除故障盘
[root@localhost ~]# mdadm -r /dev/md1 /dev/sdc1
mdadm: hot removed /dev/sdc1 from /dev/md1
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc3[2] sdc2[1]
1047552 blocks super 1.2 [2/2] [UU]
unused devices: <none>
raid5
至少三块
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 39.5G 0 part
├─centos-root 253:0 0 35.6G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
├─sdc1 8:33 0 1G 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md1 9:1 0 1023M 0 raid1
│ └─md1p1 259:1 0 500M 0 md /opt/md1p1
└─sdc3 8:35 0 1G 0 part
└─md1 9:1 0 1023M 0 raid1
└─md1p1 259:1 0 500M 0 md /opt/md1p1
sdd 8:48 0 5G 0 disk
├─sdd1 8:49 0 1G 0 part
├─sdd2 8:50 0 1G 0 part
├─sdd3 8:51 0 1G 0 part
└─sdd4 8:52 0 1G 0 part
sr0 11:0 1 4G 0 rom
loop0 7:0 0 4G 0 loop /opt/centos
创建并查看
[root@localhost ~]# mdadm -C /dev/md5 -l 5 -n 3 -c 32 -x 1 /dev/sdd[1-4]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md5 : active raid5 sdd3[4] sdd4[3](S) sdd2[1] sdd1[0]
2095104 blocks super 1.2 level 5, 32k chunk, algorithm 2 [3/3] [UUU]
md1 : active raid1 sdc3[2] sdc2[1]
1047552 blocks super 1.2 [2/2] [UU]
unused devices: <none>
测试先分区sdb
sdb 8:16 0 5G 0 disk
├─sdb1 8:17 0 1G 0 part
├─sdb2 8:18 0 1G 0 part
└─sdb3 8:19 0 1G 0 part
刷新分区
[root@localhost ~]# partprobe
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
故障
[root@localhost ~]# mdadm -f /dev/md5 /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md5
删除故障盘
[root@localhost ~]# mdadm -r /dev/md5 /dev/sdd1
mdadm: hot removed /dev/sdd1 from /dev/md5
在raid5上再继续扩展一个盘
[root@localhost ~]# mdadm -a /dev/md5 /dev/sdb3
mdadm: added /dev/sdb3
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md5 : active raid5 sdb3[5](S) sdd3[4] sdd4[3] sdd2[1]
2095104 blocks super 1.2 level 5, 32k chunk, algorithm 2 [3/3] [UUU]
md1 : active raid1 sdc3[2] sdc2[1]
1047552 blocks super 1.2 [2/2] [UU]
unused devices: <none>
删除raid
[root@localhost ~]# umount /opt/md5p1
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Tue Dec 29 06:19:36 2020
Raid Level : raid5
Array Size : 2095104 (2046.34 MiB 2145.39 MB)
Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Tue Dec 29 06:30:57 2020
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 32K
Name : localhost.localdomain:5 (local to host localhost.localdomain)
UUID : df2a785c:e9019314:60a25d21:203d517d
Events : 39
Number Major Minor RaidDevice State
3 8 52 0 active sync /dev/sdd4
1 8 50 1 active sync /dev/sdd2
4 8 51 2 active sync /dev/sdd3
5 8 19 - spare /dev/sdb3
[root@localhost ~]# mdadm -S /dev/md5
mdadm: stopped /dev/md5
[root@localhost ~]# mdadm --misc --zero-superblock /dev/sdd[1-4]
raid10的搭建
[root@localhost ~]# cd /dev/sdb
sdb sdb1 sdb2 sdb3 sdb4
[root@localhost ~]# mdadm -C /dev/md10 -l 10 -n 4 /dev/sdb[1-4]
[root@localhost ~]# watch -n 1 cat /proc/mdstat
[root@localhost ~]# mdadm -D /dev/md10
0 8 17 0 active sync set-A /dev/sdb1
1 8 18 1 active sync set-B /dev/sdb2
2 8 19 2 active sync set-A /dev/sdb3
3 8 20 3 active sync set-B /dev/sdb4
命令
创建
[root@localhost ~]# mdadm --create(-C) /dev/md1 --level=1(-l) --raid-devices=2 (-n)/dev/sdc1 /dev/sdd1
标记故障
[root@localhost aaa]# mdadm /dev/md1 --fail (-f)/dev/sdc1
移除
[root@localhost aaa]# mdadm /dev/md1 --remove(-r) /dev/sdc1
添加
[root@localhost aaa]# mdadm /dev/md1 --add (-a)/dev/sde1
显示详情信息
[root@localhost aaa]# mdadm --detail(-D) /dev/md1
停止
[root@localhost ~]# mdadm --stop (-S)/dev/md0
清除raid标识
[root@localhost ~]# mdadm --help
[root@localhost ~]# mdadm --misc --help
[root@localhost ~]# mdadm --misc --zero-superblock /dev/sdb[1-2]