一、实验环境
银河麒麟V10 0711 server x86_64
二、以raid5为例
raid5是raid0和raid1的折中方案,具有和raid0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢,同时由于多个数据对应一个奇偶校验信息,raid5的磁盘空间利用率要比raid1高,存储成本相对较低,是运用较多的一种解决方案。
所需硬盘数:至少3块,可以超过3块;
硬盘利用率:(n-1)/n ,其中n为硬盘数,奇偶校验数据实际上加起来占用一个盘;
最大磁盘故障数:最多允许坏 1 块盘;
1、raid5配置
前提条件:准备4块硬盘,此处以sdb、sdc、sdd、sde为例,自行分区为sdb1、sdc1、sdd1、sde1
# mkfs.ext4 /dev/sdb1
# mkfs.ext4 /dev/sdc1
# mkfs.ext4 /dev/sdd1
# mkfs.ext4 /dev/sde1
以下方式1和方式2根据实际需求选一个操作即可:
方式1:3块盘,做raid5,无冗余盘
# mdadm --create --auto=yes /dev/md5 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
参数说明:
--create:创建raid
--auto=yes:决定创建后接的软件磁盘阵列设备,即md[0-9]
/dev/md5:md5为raid设备文件名,自定义名称,一般习惯raid5就取名md5,方便理解
--raid-devices=4:使用几个磁盘或分区作为磁盘阵列的设备
--level=5:设置这组磁盘阵列的等级
方式2:4块盘,做raid5,有一块盘做冗余盘,如果使用期间有一块故障,冗余盘可以自动接替坏盘
# mdadm --create /dev/md5 --auto=yes --level=5 --chunk=256K --raid-devices=3 --spare-devices=1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
参数说明:
--chunk=256K:决定这个设备的chunk大小,一般是64K或者512K
--spare-devices=1:使用几个磁盘或分区作为备用设备
# mdadm -D /dev/md5
[root@192 ~]# mdadm -D /dev/md5
/dev/md5: #raid设备文件名
Version : 1.2
Creation Time : Mon Nov 1 19:31:24 2021 #创建时间
Raid Level : raid5 #raid等级
Array Size : 10473472 (9.99 GiB 10.72 GB) #整组raid的实际可用容量
Used Dev Size : 5236736 (4.99 GiB 5.36 GB) #每个磁盘的容量
Raid Devices : 3 #组成raid的磁盘数量
Total Devices : 4 #包括spare的总磁盘数
Persistence : Superblock is persistent
Update Time : Mon Nov 1 19:31:50 2021
State : clean #目前这个磁盘阵列的使用状态
Active Devices : 3 #启动的设备数量
Working Devices : 4 #目前使用与此阵列的设备数
Failed Devices : 0 #损坏的设备数
Spare Devices : 1 #预留磁盘的数量
Layout : left-symmetric
Chunk Size : 256K #chunk的小区块容量
Consistency Policy : resync
Name : 192.168.1.13:5 (local to host 192.168.1.13)
UUID : c18e80e3:2786d97c:8fbdd2b1:c9b8c07b
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 #看到sde1作为备用设备在候场区
#最后4行就是这4个设备目前的状况,RaidDevice 指的是此Raid内的磁盘顺序
# cat /proc/mdstat
[root@192 ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
10473472 blocks super 1.2 level 5, 256k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
说明:第一行部分:指出 md05为 raid5 ,且使用了 sdd1,sde1,sdc1,sdb1,等四个磁盘设备。每个设备后面的中括号 [] 内的数字为此磁盘在 RAID 中的顺序(RaidDevice);至于 sde1 后面的 [S] 则代表 sde1 为 spare 之意;
第二行部分:此磁盘阵列拥有 10473472 个block(每个 block 单位为 1K),所以总容量约为 9.98GB,使用 RAID 5 等级,写入磁盘的小区块(chunk)大小为 256K,使用 algorithm 2 磁盘阵列演算法。 [m/n] 代表此阵列需要 m 个设备,且 n 个设备正常运行。因此本 md5 需要 3 个设备且这 3个设备均正常运行。后面的 [UUU] 代表的是四个所需的设备(就是 [m/n] 里面的 m)的启动情况,U 代表正常运行,若为 _ 则代表不正常。
# mkfs.ext4 /dev/md5
# blkid /dev/md5
# mkdir /data2
# vim /etc/fstab
# mount -a
# df -Th