秋栈博客

七月

实验:CentOS7-Altarch配置RAID1、0、5、10阵列

3
2022-07-14
 

RAID介绍

RAID 是英文Redundant Array of Independent Disks 的缩写,意思是“独立磁盘冗余阵列”,简称磁盘阵列(Disk Array)。RAID是一种把多块独立的物理磁盘,按不同的方式组合起来形成一个磁盘组(逻辑磁盘),从而提供比单个磁盘更高的存储性能和提供数据备份的技术。之前也有翻译成“廉价冗余磁盘阵列”
组成磁盘阵列的不同方式称为RAID级别(RAID Levels),常见的RAID级别包括raid0, raid1, raid5, raid6, raid10,raid50等,各级别对比如下:
RAID 等级 最少 磁盘 最大容错 可用容量 读取性能 写入性能 安全性 目的 应用产业
0 2 0 n n n 一个磁盘异常,全部磁盘都会异常 追求最大容量、速度 3D产业实时渲染、视频剪辑高速缓存
1 2 n-1 1 n 1 最高,一个正常即可 追求最大 安全性 个人、企业备份
5 3 1 n-1 n-1 n-1 追求最大容量、最小预算 个人、企业备份
10 4 n/2 n/2 n n/2 安全性高 综合RAID 0/1优点,理论速度较快 大型数据库、 服务器

实验环境

系统版本:Linux CentOS7-5.11.12-300.el7.aarch64 实验平台:MacBook Air M1 ARM架构 虚拟化平台:Parallels Desktop 17 mdadm版本:mdadm-4.1-9.el7_9.aarch64

虚拟机添加硬盘

由于parallels desktop只能加6块硬盘,raid5另开一台虚拟机做。 raid1:2主 raid0:2主 raid5:4主+1备 raid10:4主

RAID 0

2块磁盘 sdb1、sdc1 总容量 1/2

划分为单个分区并且修改分区类型

1、安装mdadm软件包

软raid-软件包:利用系统的功能组件实现,现有系统再在系统之上创建RAID 硬raid-阵列卡:需要硬件的支持,先创建RAID。不依赖操作系统
yum -y install mdadm*

2、创建单分区并修改分区类型

#fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x06a6f6fe 创建新的 DOS 磁盘标签。

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.

命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-16777215,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-16777215,默认为 16777215):
将使用默认值 16777215
分区 1 已设置为 Linux 类型,大小设为 8 GiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):L

0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要
16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep
1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT
1e 隐藏的 W95 FAT1 80 旧 Minix
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

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

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

查看分区情况

# fdisk -l /dev/sd[b-c]

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos
磁盘标识符:0x9b613f7b

设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20971519 10484736 fd Linux raid autodetect

磁盘 /dev/sdc:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos
磁盘标识符:0x5db4041e

设备 Boot Start End Blocks Id System
/dev/sdc1 2048 20971519 10484736 fd Linux raid autodetect

3、创建阵列

#mdadm --create --chunk=64 --verbose /dev/md/raid10 --level=10 --raid-devices=4 /dev/sd[b-c]

#以下为简写命令

#mdadm -C /dev/md0 -ayes -l0 -n2 /dev/sd[b,c]

4、查看阵列状况

#cat /proc/mdstat

Personalities : [raid0]
md0 : active raid0 sdc[1] sdb[0]
20953088 blocks super 1.2 512k chunks

unused devices:
扇区 block chunk 大小
512Byte 1024 512Kbyte 20953088
#查看raid详细信息

#mdadm --detail /dev/md/raid10

#以下为简写命令

# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Jul 13 22:48:46 2022
#阵列级别
Raid Level : raid0
#阵列容量大小
Array Size : 20953088 (19.98 GiB 21.46 GB)
#RAID成员的个数
Raid Devices : 2
#RAID中下属成员的总计个数,因为还有冗余磁盘或分区,也就是spare,为了RAID的正常运行,随时可以推上去加入RAID的
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Wed Jul 13 22:48:46 2022
#包括三个状态,clean 表示正常,degraded 表示有问题,recovering 表示正在恢复或构建
State : clean
#被激活的RAID成员个数
Active Devices : 2
#正常的工作的RAID成员个数
Working Devices : 2
#出问题的RAID成员
Failed Devices : 0
#备用RAID成员个数,当一个RAID的成员出问题时,用其它磁盘或分区来顶替时,RAID要进行构建,在没构建完成时,这个成员也会被认为是spare设备

Spare Devices : 0

 Chunk Size : 512K


Consistency Policy : none

   Name : localhost.localdomain:0  (local to host localhost.localdomain)
   #RAID的UUID值,在系统中是唯一的
   UUID : 5497e59c:bfd8528e:af70fc42:ca2c979a
 Events : 0


Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc

5、创建mdadm.conf

RAID 的配置文件为/etc/mdadm.conf,默认是不存在的,需要手工创建。该配置文件的主要作用是系统启动的时候能够自动加载软RAID,同时也方便日后管理。但不是必须的,推荐对该文件进行配置。这里需要创建这个文件,测试中发现,如果没有这个文件,则reboot 后,已经创建好的md0 会自动变成md-xxx。 /etc/mdadm.conf 文件内容包括:由DEVICE 选项指定用于软RAID的所有设备,和ARRAY 选项所指定阵列的设备名、RAID级别、阵列中活动设备的数目以及设备的UUID号。
echo DEVICE /dev/sd[b,c]1 >> /etc/mdadm.conf

#完整命令

mdadm --detail --scan >> /etc/mdadm.conf

#简写

mdadm -Ds >> /etc/mdadm.conf

# cat -n ./mdadm.conf
1 DEVICE /dev/sdb1 /dev/sdc1
2 ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=5497e59c:bfd8528e:af70fc42:ca2c979a

#修改第二行内容

ARRAY /dev/md0 level=raid0 num-devices=2 UUID=5497e59c:bfd8528e:af70fc42:ca2c979a

6、raid分区格式化、挂载、使用

# mkfs.xfs /dev/md0
Discarding blocks...Done.
meta-data=/dev/md0 isize=512 agcount=16, agsize=327296 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5236736, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
#创建挂载点目录
# mkdir /raid0
#挂载到raid0
# mount /dev/md0 /raid0/
# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 716M 0 716M 0% /dev
tmpfs tmpfs 730M 0 730M 0% /dev/shm
tmpfs tmpfs 730M 8.6M 721M 2% /run
tmpfs tmpfs 730M 0 730M 0% /sys/fs/cgroup
/dev/mapper/cl_fedora-root xfs 41G 2.1G 39G 5% /
/dev/sda2 xfs 1014M 155M 860M 16% /boot
/dev/sda1 vfat 599M 9.0M 590M 2% /boot/efi
/dev/mapper/cl_fedora-home xfs 20G 174M 20G 1% /home
tmpfs tmpfs 146M 0 146M 0% /run/user/0
/dev/md0 xfs 20G 33M 20G 1% /raid0
 

RAID 1

2块磁盘 sdd、sde 总容量    1

#对sdd、sde同样进行创建单分区,选择为Linux raid自动
#创建阵列
mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[d,e]1
#查看raid状况
# cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid1 sde1[1] sdd1[0]
10475520 blocks super 1.2 [2/2] [UU]
#正在同步磁盘
[===>.................] resync = 17.1% (1801344/10475520) finish=0.6min speed=225168K/sec

md0 : active raid0 sdc[1] sdb[0]
20953088 blocks super 1.2 512k chunks

unused devices:

#稍等片刻再执行一次看看,已创建完成

# cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid1 sde1[1] sdd1[0]
10475520 blocks super 1.2 [2/2] [UU]

md0 : active raid0 sdc[1] sdb[0]
20953088 blocks super 1.2 512k chunks

unused devices:

修改mdadm.conf文件。添加raid1信息。

DEVICE /dev/sdb1 /dev/sdc1
ARRAY /dev/md0 level=raid0 num-devices=2 UUID=5497e59c:bfd8528e:af70fc42:ca2c979a
DEVICE /dev/sdd1 /dev/sde1
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=bf8a9fa0:3b396fcf:4b22d1f6:8078a1d0
# mkdir /raid1
# mount /dev/md
md0 md1
# mount /dev/md1 /raid1
# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 716M 0 716M 0% /dev
tmpfs tmpfs 730M 0 730M 0% /dev/shm
tmpfs tmpfs 730M 8.6M 721M 2% /run
tmpfs tmpfs 730M 0 730M 0% /sys/fs/cgroup
/dev/mapper/cl_fedora-root xfs 41G 2.1G 39G 5% /
/dev/sda2 xfs 1014M 155M 860M 16% /boot
/dev/sda1 vfat 599M 9.0M 590M 2% /boot/efi
/dev/mapper/cl_fedora-home xfs 20G 174M 20G 1% /home
tmpfs tmpfs 146M 0 146M 0% /run/user/0
/dev/md0 xfs 20G 33M 20G 1% /raid0
/dev/md1 xfs 10G 33M 10G 1% /raid1

RAID 5

三块磁盘 一块热备 总容量20G

创建分区,同上。创建阵列

# mdadm -C /dev/md5 -ayes -l5 -n3 -x1 /dev/sd[b,c,d,e]1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde13 sdc1[1] sdb1[0]
20951040 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[=======>.] recovery = 99.1% (10389888/10475520) finish=0.0min speed=200262K/sec

unused devices:
稍等片刻再次查看raid状态
# cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde13 sdc1[1] sdb1[0]
20951040 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices:
查看详细raid信息
# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Wed Jul 13 23:28:06 2022
Raid Level : raid5
Array Size : 20951040 (19.98 GiB 21.45 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Wed Jul 13 23:29:07 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 : CentOS7-Test:5 (local to host CentOS7-Test) UUID : 67cb933c:4524de5a:d75d00f3:bb023a19 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@CentOS7-Test ~]# mkfs.xfs /dev/md5
meta-data=/dev/md5 isize=512 agcount=16, agsize=327296 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5236736, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@CentOS7-Test ~]# mkdir /raid5
[root@CentOS7-Test ~]# mount /dev/md5 /raid5
[root@CentOS7-Test ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 470M 0 470M 0% /dev
tmpfs tmpfs 484M 0 484M 0% /dev/shm
tmpfs tmpfs 484M 6.6M 477M 2% /run
tmpfs tmpfs 484M 0 484M 0% /sys/fs/cgroup
/dev/mapper/cl_testecs1-root xfs 41G 2.0G 39G 5% /
/dev/sda2 xfs 1014M 143M 872M 15% /boot
/dev/sda1 vfat 599M 9.0M 590M 2% /boot/efi
/dev/mapper/cl_testecs1-home xfs 20G 174M 20G 1% /home
tmpfs tmpfs 97M 0 97M 0% /run/user/0
/dev/md5 xfs 20G 33M 20G 1% /raid5

raid5容灾模拟测试

#模拟sdb损坏情况
# mdadm /dev/md5 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md5
再次查看阵列详细信息
# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Wed Jul 13 23:28:06 2022
Raid Level : raid5
Array Size : 20951040 (19.98 GiB 21.45 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Wed Jul 13 23:47:52 2022 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 : 5% complete
Name : CentOS7-Test:5 (local to host CentOS7-Test) UUID : 67cb933c:4524de5a:d75d00f3:bb023a19 Events : 20

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
查看重建进度
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1] sdb10
20951040 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
[==>..................] recovery = 12.0% (1266716/10475520) finish=0.7min speed=211119K/sec
稍等片刻再次查看
# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Wed Jul 13 23:28:06 2022
Raid Level : raid5
Array Size : 20951040 (19.98 GiB 21.45 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)

#总共四块盘,一块已损坏。
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Wed Jul 13 23:48:44 2022 State : clean

Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0

Layout : left-symmetric Chunk Size : 512K

Consistency Policy : resync

Name : CentOS7-Test:5 (local to host CentOS7-Test) UUID : 67cb933c:4524de5a:d75d00f3:bb023a19 Events : 37

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@CentOS7-Test ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md5 : active raid5 sdd1[4] sde1[3] sdc1[1] sdb10 20951040 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices:
检查数据--正常。
# cd /raid5/
# ls
install2.img install.img
 

模拟移除损坏盘

# mdadm /dev/md5 -r /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md5
 
# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Wed Jul 13 23:28:06 2022
Raid Level : raid5
Array Size : 20951040 (19.98 GiB 21.45 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent

Update Time : Wed Jul 13 23:52:56 2022 State : clean


#移除sdb后总设备显示为3,备用盘已顶上。
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric Chunk Size : 512K

Consistency Policy : resync

Name : CentOS7-Test:5 (local to host CentOS7-Test) UUID : 67cb933c:4524de5a:d75d00f3:bb023a19 Events : 38

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

添加新成员盘(实际生产中需进行格式化操作等)

# mdadm /dev/md5 -a /dev/sdb1
mdadm: added /dev/sdb1
查看sdb1状态----正常 变成spare 热备盘
# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Wed Jul 13 23:28:06 2022
Raid Level : raid5
Array Size : 20951040 (19.98 GiB 21.45 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Wed Jul 13 23:55:52 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 : CentOS7-Test:5 (local to host CentOS7-Test) UUID : 67cb933c:4524de5a:d75d00f3:bb023a19 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

5 8 17 - spare /dev/sdb1
查看数据情况,正常未丢失。
# cd /raid5/
[root@CentOS7-Test raid5]# ls
install2.img install.img

新增硬盘到用户组

#新增一块硬盘到阵列中
mdadm /dev/md5 -a /dev/sdb1

#将热备盘转为活动盘
mdadm -G /dev/md5 -n4
查看当前raid情况
# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Wed Jul 13 23:28:06 2022
Raid Level : raid5
Array Size : 20951040 (19.98 GiB 21.45 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Thu Jul 14 00:01:14 2022 State : clean, reshaping

Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric Chunk Size : 512K

Consistency Policy : resync

#同步进度
Reshape Status : 22% complete
Delta Devices : 1, (3->4)

Name : CentOS7-Test:5 (local to host CentOS7-Test) UUID : 67cb933c:4524de5a:d75d00f3:bb023a19 Events : 61

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 3 active sync /dev/sdb1
[root@CentOS7-Test raid5]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdb1[5] sdd1[4] sde1[3] sdc1[1]
20951040 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
[==>..........] reshape = 50.3% (5272512/10475520) finish=0.4min speed=202788K/sec

unused devices:
#查看同步进度
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdb1[5] sdd1[4] sde1[3] sdc1[1]
20951040 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
[====>....] reshape = 83.5% (8749056/10475520) finish=0.1min speed=206114K/sec

unused devices:
同步完成再次查看
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdb1[5] sdd1[4] sde1[3] sdc1[1]
31426560 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]

扩容

# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 470M 0 470M 0% /dev
tmpfs tmpfs 484M 0 484M 0% /dev/shm
tmpfs tmpfs 484M 6.7M 477M 2% /run
tmpfs tmpfs 484M 0 484M 0% /sys/fs/cgroup
/dev/mapper/cl_testecs1-root xfs 41G 2.0G 39G 5% /
/dev/sda2 xfs 1014M 143M 872M 15% /boot
/dev/sda1 vfat 599M 9.0M 590M 2% /boot/efi
/dev/mapper/cl_testecs1-home xfs 20G 853M 19G 5% /home
tmpfs tmpfs 97M 0 97M 0% /run/user/0
/dev/md5 xfs 20G 1.4G 19G 7% /raid5
此时容量并未增加,需要进行扩容
resize2fs /dev/md5
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block 当尝试打开 /dev/md5 时
找不到有效的文件系统超级块.
忘了 我的文件系统是xfs的,得用xfs_growfs命令
#xfs_growfs /dev/md5
meta-data=/dev/md5 isize=512 agcount=16, agsize=327296 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=5236736, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 5236736 to 7856640

写入fstab。开机自动挂载。

编辑 /etc/fstab文件
#vi /etc/fstab

/dev/mapper/cl_testecs1-root / xfs defaults 0 0
UUID=44f9786c-19e5-49eb-8e9f-b06e0fb65fbb /boot xfs defaults 0 0
UUID=ED4C-486E /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/cl_testecs1-home /home xfs defaults 0 0
/dev/mapper/cl_testecs1-swap none swap defaults 0 0
/dev/md5                   /raid5 xfs  defaults 0 0
reboot后再次df -Th查看,容量已增加且已正常挂载使用。
# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 470M 0 470M 0% /dev
tmpfs tmpfs 484M 0 484M 0% /dev/shm
tmpfs tmpfs 484M 6.6M 477M 2% /run
tmpfs tmpfs 484M 0 484M 0% /sys/fs/cgroup
/dev/mapper/cl_testecs1-root xfs 41G 2.0G 39G 5% /
/dev/sda2 xfs 1014M 143M 872M 15% /boot
/dev/md5 xfs 30G 1.4G 29G 5% /raid5
/dev/sda1 vfat 599M 9.0M 590M 2% /boot/efi
/dev/mapper/cl_testecs1-home xfs 20G 853M 19G 5% /home
tmpfs tmpfs 97M 0 97M 0% /run/user/0

RAID 10

四块磁盘 总容量20G

创建分区,同上。

创建阵列

创建raid10的顺序是:先创建2个raid0,再把2个raid0配置成一个raid1,当然我选择直接做10,方便快捷。
# mdadm -C /dev/md10 -ayes -l10 -n4 /dev/sd[b,c,d,e]
mdadm: partition table exists on /dev/sdb
mdadm: partition table exists on /dev/sdb but will be lost or
meaningless after creating array
mdadm: partition table exists on /dev/sdc
mdadm: partition table exists on /dev/sdc but will be lost or
meaningless after creating array
mdadm: partition table exists on /dev/sdd
mdadm: partition table exists on /dev/sdd but will be lost or
meaningless after creating array
mdadm: partition table exists on /dev/sde
mdadm: partition table exists on /dev/sde but will be lost or
meaningless after creating array
Continue creating array? 
y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md10 started.

查看创建进度

# cat /proc/mdstat
Personalities : [raid10]
md10 : active raid10 sde[3] sdd[2] sdc[1] sdb[0]
16758784 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
[===>.....] resync = 77.9% (13059200/16758784) finish=0.2min speed=206844K/sec
#完成。
# cat /proc/mdstat
Personalities : [raid10]
md10 : active raid10 sde[3] sdd[2] sdc[1] sdb[0]
16758784 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]

unused devices:

查看raid10状况

# mdadm -D /dev/md10
/dev/md10:
Version : 1.2
Creation Time : Thu Jul 14 05:35:43 2022
Raid Level : raid10
Array Size : 16758784 (15.98 GiB 17.16 GB)
Used Dev Size : 8379392 (7.99 GiB 8.58 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Thu Jul 14 05:37:07 2022 State : clean

Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

Layout : near=2 Chunk Size : 512K

Consistency Policy : resync

Name : CentOS7-raid10:10 (local to host CentOS7-raid10) UUID : 691806b0:9070196e:6bd58ad0:5027e812 Events : 17

Number Major Minor RaidDevice State
0 8 16 0 active sync set-A /dev/sdb
1 8 32 1 active sync set-B /dev/sdc
2 8 48 2 active sync set-A /dev/sdd
3 8 64 3 active sync set-B /dev/sde

创建mdadm.conf文件并写入配置信息。

DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde ARRAY /dev/md10 level=raid10 num-devices=4 UUID=691806b0:9070196e:6bd58ad0:5027e812

格式化并挂载raid10,写入fstab开机自动挂载

#vi /etc/fstab

/dev/mapper/cl_fedora-root / xfs defaults 0 0
UUID=100a5c8f-165f-45ff-8f9d-c2578aeb872f /boot xfs defaults 0 0
UUID=27D8-BEEA /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/cl_fedora-home /home xfs defaults 0 0
/dev/mapper/cl_fedora-swap none swap defaults 0 0
/dev/md10                /raid10 xfs defaults 0 0
重启检查是否挂载。
# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 716M 0 716M 0% /dev
tmpfs tmpfs 730M 0 730M 0% /dev/shm
tmpfs tmpfs 730M 8.6M 721M 2% /run
tmpfs tmpfs 730M 0 730M 0% /sys/fs/cgroup
/dev/mapper/cl_fedora-root xfs 41G 1.9G 39G 5% /
/dev/sda2 xfs 1014M 155M 860M 16% /boot
/dev/sda1 vfat 599M 9.0M 590M 2% /boot/efi
/dev/mapper/cl_fedora-home xfs 20G 174M 20G 1% /home
tmpfs tmpfs 146M 0 146M 0% /run/user/0
#已成功挂载
/dev/md10 xfs 16G 33M 16G 1% /root/raid10
查看raid情况可看到raid10是由raid0和raid组成。
# cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid1 sde1[1] sdd1[0]
10475520 blocks super 1.2 [2/2] [UU]

md0 : active raid0 sdc[1] sdb[0]
20
  • 0