RAID介绍
RAID
全称是独立磁盘冗余阵列(Redundant Array of Independent Disks)
,基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高。最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。
RAID
可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会 受到损坏硬盘的影响。
RAID磁盘阵列介绍
RAID
将一组硬盘连结成来,组成一个阵列,以避免单个硬盘损坏而带来的数据损失,同时亦提供了比单个硬盘高的可用性及容错性。
RAID 0介绍
RAID 0
俗称条带卷,与Windows
系统中带区卷功能相同,它将两个或多个硬盘组成一个逻辑硬盘,将数据分段储存在各个硬盘中,读写均可并行处理,因此,其读写速度是单个硬盘的N倍,没有冗余功能,任何一个磁盘的损坏就会导致的数据不可用。
- 特点:
- 高读写
- 不可靠
- 大小相同的两块或多块磁盘组成
- 容量是多块磁盘容量总和
- 构建
RAID 0
1、首先,在虚拟机中添加两块硬盘,每块硬盘分别是20G,然后,重启Linux系统,识别添加的硬盘,并将添加的硬盘进行分区管理,修改分区号为fd(Linux raid 自动)。
[[email protected] ~]# cd /dev
[[email protected] dev]# ls
...//省略部分内容...
cdrom lp2 sda4 tty16 tty38 tty6 vcs6
char lp3 sda5 tty17 tty39 tty60 vcsa
console mapper sdb tty18 tty4 tty61 vcsa1
core mcelog sdc tty19 tty40 tty62 vcsa2
cpu mem sg0 tty2 tty41 tty63 vcsa3
...//省略部分内容...
[[email protected] dev]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
...//省略部分内容...
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1570d5d5
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
//sdc硬盘同样操作...
[[email protected] ~]# fdisk -l
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
...//省略部分内容...
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1570d5d5
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe4b54d43
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect
? 2、查看Linux系统是否安装mdadm软件(制作软RAID工具),我们需要通过mdadm命令来制作RAID磁盘阵列。(若为安装此软件可以通过yum安装)
命令格式:mdadm -C -v [/dev/要创建的RAID的设备名称] -lN -nN 磁盘设备 -xN 磁盘设备
- 常用选项
-C
:创建-v
:显示详细过程-l
:RAID的级别-n
:磁盘个数-x
:保留磁盘(备用盘)-D
:查看创建的RAID磁盘阵列-f
:删除RAID阵列中的某块磁盘
[[email protected] ~]# rpm -q mdadm
mdadm-4.0-5.el7.x86_64
? 3、制作RAID 0磁盘阵列,然后查看是否创建成功。(可以用mdadm -D [RAID的设备名称]查看,也可以通过查看配置文件查看cat /proc/mdstat)
[[email protected] ~]# mdadm -C -v /dev/md0 -l0 -n2 /dev/sd[b-c]1
mdadm: chunk size defaults to 512K //将sdb1、sdc1做成RAID 0磁盘阵列
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[[email protected] ~]# mdadm -D /dev/md0 //查看RAID磁盘阵列的详细信息
/dev/md0:
Version : 1.2
Creation Time : Sat Aug 24 09:10:19 2019
Raid Level : raid0
Array Size : 41908224 (39.97 GiB 42.91 GB) //容量
Raid Devices : 2 //磁盘个数
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sat Aug 24 09:10:19 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Consistency Policy : none
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : 9b56f231:d4687383:83705a03:7d5d606a
Events : 0
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1 //构成RAID的磁盘
1 8 33 1 active sync /dev/sdc1
[[email protected] ~]# cat /proc/mdstat //查看RAID磁盘阵列状态
Personalities : [raid0]
md0 : active raid0 sdc1[1] sdb1[0] //输出创建的RAID磁盘阵列信息
41908224 blocks super 1.2 512k chunks
unused devices: <none>
? 4、将RAID 0磁盘进行创建文件系统(格式化),再通过挂载,使磁盘可以正常使用。
[[email protected] ~]# 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
[[email protected] ~]# mkdir /opt/md01
[[email protected] ~]# mount /dev/md0 /opt/md01
[[email protected] ~]# df -h
(敏感词汇分隔...)
/dev/sda2 20G 4.3G 16G 22% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.0M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda5 10G 50M 10G 1% /home
/dev/sda1 2.0G 174M 1.9G 9% /boot
tmpfs 378M 12K 378M 1% /run/user/42
tmpfs 378M 0 378M 0% /run/user/0
/dev/md0 40G 33M 40G 1% /opt/md01
RAID 1介绍
RAID 1
与Windows
系统中j镜像卷功能相同,它最少由2个硬盘组成,且两个硬盘上存储的数据均相同,以实现数据冗余。没有数据校验,数据被同等的写入到2个或者多个磁盘中,写入速度相对慢, 但是读取速度比较快。
- 特点:
- 高可靠
- 不具备扩展性
- 由大小相同的2块或多块磁盘组成
- 容量是多块磁盘总和的一半
- 构建
RAID 1
1、首先,在虚拟机中添加3块硬盘,每块硬盘分别是20G,然后,重启Linux系统,识别添加的硬盘,并将添加的硬盘进行分区管理,修改分区号为fd(Linux raid 自动)。(在这里我做三块磁盘是因为在企业中使用RAID时都会多做一块或多块备用磁盘,当在使用的磁盘有1块损坏时自动顶替上去,使磁盘正常运行。)
[[email protected] ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x95ce2aa8 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x95ce2aa8
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
//sdc、sdd硬盘同样操作...
[[email protected] ~]# fdisk -l
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
...//省略部分内容...
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xac9b4564
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x7be39280
设备 Boot Start End Blocks Id System
/dev/sdd1 2048 41943039 20970496 fd Linux raid autodetect
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x95ce2aa8
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
? 2、通过mdadm命令构建RAID 1磁盘阵列,并构建保存备用盘;然后查看是否构建成功。
[[email protected] ~]# 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 //构建RAID 1磁盘阵列,并设置备用盘
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 20954112K
Continue creating array? //询问是否创建,回车
Continue creating array? (y/n) y //输入Y确认,回车
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[[email protected] ~]# cat /proc/mdstat //查看RAID状态
Personalities : [raid1]
md1 : active raid1 sdd1[2](S) sdc1[1] sdb1[0]
20954112 blocks super 1.2 [2/2] [UU]
[========>............] resync = 41.0% (8602240/20954112) finish=0.9min speed=206300K/sec //构建RAID 1的两块磁盘在进行同步,同步完成后才能正常使用
unused devices: <none>
[[email protected] ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdd1[2](S) sdc1[1] sdb1[0]
20954112 blocks super 1.2 [2/2] [UU] //同步完成,可以正常使用磁盘
unused devices: <none>
[[email protected] ~]# mdadm -D /dev/md1 //查看RAID详细信息
/dev/md1:
Version : 1.2
Creation Time : Sat Aug 24 10:23:31 2019
Raid Level : raid1
Array Size : 20954112 (19.98 GiB 21.46 GB) //容量
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 2 //使用的磁盘数量
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Sat Aug 24 10:25:16 2019
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Consistency Policy : resync
Name : localhost.localdomain:1 (local to host localhost.localdomain)
UUID : 459d9233:201d4c25:73f1b967:3b477186
Events : 17
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1 ////构成RAID的磁盘
1 8 33 1 active sync /dev/sdc1
2 8 49 - spare /dev/sdd1 //创建的备用盘
? 3、将RAID 0磁盘进行创建文件系统(格式化),再通过挂载,使磁盘可以正常使用。
[[email protected] ~]# mkfs.xfs /dev/md1
meta-data=/dev/md1 isize=512 agcount=4, agsize=1309632 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5238528, 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
[[email protected] ~]# mkdir /opt/si1
[[email protected] ~]# mount /dev/md1 /opt/si1
[[email protected] ~]# df -h
(敏感词汇分隔...)
/dev/sda2 20G 4.3G 16G 22% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.0M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda5 10G 50M 10G 1% /home
/dev/sda1 2.0G 174M 1.9G 9% /boot
tmpfs 378M 12K 378M 1% /run/user/42
tmpfs 378M 0 378M 0% /run/user/0
/dev/md1 20G 33M 20G 1% /opt/si1
? 4、在挂载点中写入文件,并通过mdadm命令模拟撤掉一块磁盘,看备用盘是否会自动顶替,然后查看写入的文件是否能够正常查看。
[[email protected] ~]# touch /opt/si1/siti{1..10}.txt //在si1中创建txt文件
[[email protected] ~]# ls /opt/si1 //查看文件
siti10.txt siti2.txt siti4.txt siti6.txt siti8.txt
siti1.txt siti3.txt siti5.txt siti7.txt siti9.txt
[[email protected] ~]# mdadm -f /dev/md1 /dev/sdb1 //在RAID中撤掉sdb1磁盘
mdadm: set /dev/sdb1 faulty in /dev/md1
[[email protected] ~]# cat /proc/mdstat //查看PAID阵列状态
Personalities : [raid1]
md1 : active raid1 sdd1[2] sdc1[1] sdb1[0](F)
20954112 blocks super 1.2 [2/1] [_U]
[========>............] recovery = 41.0% (8602368/20954112) finish=0.9min speed=206284K/sec //开始重新同步磁盘
unused devices: <none>
[[email protected] ~]# mdadm -D /dev/md1 //查看RAID 1阵列的详细信息
/dev/md1:
Version : 1.2
Creation Time : Sat Aug 24 10:23:31 2019
Raid Level : raid1
Array Size : 20954112 (19.98 GiB 21.46 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Sat Aug 24 11:12:25 2019
State : active, degraded, recovering
Active Devices : 1
Working Devices : 2
Failed Devices : 1
Spare Devices : 1
Consistency Policy : resync
Rebuild Status : 86% complete
Name : localhost.localdomain:1 (local to host localhost.localdomain)
UUID : 459d9233:201d4c25:73f1b967:3b477186
Events : 33
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 //sdb1处于闲置状态
[[email protected] ~]# ls /opt/si1 //查看si1中文件
siti10.txt siti2.txt siti4.txt siti6.txt siti8.txt //显示文件,可以正常查看使用
siti1.txt siti3.txt siti5.txt siti7.txt siti9.txt
RAID 5介绍
RAID5
最少由三个硬盘组成,它将数据分散存储于阵列中的每个硬盘,并且还伴有一个数据校验位,数据位与校验位通过算法能相互验证,当丢失其中的一位时,RAID
控制器能通过算法,利用其它两位数据将丢失的数据进行计算还原。
- 特点
- 高读取,写一般,高可靠
- 至少3快大小相同的磁盘
- 容量为n-1/n磁盘容量总和
- 构建
RAID 5
1、首先,在虚拟机中添加4块硬盘,每块硬盘分别是20G,然后,重启Linux系统,识别添加的硬盘,并将添加的硬盘进行分区管理,修改分区号为fd(Linux raid 自动)。(与上面做RAID 1相同,用三块磁盘构建RAID 5,1块做备用盘)。
[[email protected] ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x6247f95d 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x6247f95d
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
//sdc、sdd、sde硬盘同样操作...
[[email protected] ~]# fdisk -l
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
...//省略部分内容...
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x88c98a9f
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf265b801
设备 Boot Start End Blocks Id System
/dev/sdd1 2048 41943039 20970496 fd Linux raid autodetect
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x7922c5a3
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect
磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x54d78d57
设备 Boot Start End Blocks Id System
/dev/sde1 2048 41943039 20970496 fd Linux raid autodetect
? 2、通过mdadm命令构建RAID 5磁盘阵列,并构建保存备用盘;然后查看是否构建成功。
[[email protected] ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1
mdadm: layout defaults to left-symmetric //构建RAID 5磁盘阵列
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[[email protected] ~]# cat /proc/mdstat //查看状态
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[=======>.............] recovery = 37.6% (7898112/20954112) finish=1.0min speed=200093K/sec //正在同步...
unused devices: <none>
[[email protected] ~]# mdadm -D /dev/md5 //查看详细信息
/dev/md5:
Version : 1.2
Creation Time : Sat Aug 24 11:59:51 2019
Raid Level : raid5
Array Size : 41908224 (39.97 GiB 42.91 GB) //容量40G
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sat Aug 24 12:01:29 2019
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 4
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Rebuild Status : 99% complete
Name : localhost.localdomain:5 (local to host localhost.localdomain)
UUID : 968fa4f5:020f5fec:4c726d63:df4b4b9b
Events : 16
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1 //构建RAID 5的磁盘
1 8 33 1 active sync /dev/sdc1
4 8 49 2 spare rebuilding /dev/sdd1 //未同步好的磁盘
3 8 65 - spare /dev/sde1 //备用盘
[[email protected] ~]# cat /proc/mdstat //常看状态
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
//同步完成
unused devices: <none>
3、在RAID 5阵列中撤掉sdb1磁盘,看看备用盘是否会顶替sdb1。
[[email protected] ~]# mdadm -f /dev/md5 /dev/sdb1 //从RAID 5中撤掉sdb1磁盘
mdadm: set /dev/sdb1 faulty in /dev/md5
[[email protected] ~]# cat /proc/mdstat //查看状态
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1] sdb1[0](F)
41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
[=>...................] recovery = 5.7% (1212928/20954112) finish=1.3min speed=242585K/sec //开始重新同步
unused devices: <none>
[[email protected]st ~]# mdadm -D /dev/md5 //查看详细信息
/dev/md5:
Version : 1.2
Creation Time : Sat Aug 24 11:59:51 2019
Raid Level : raid5
Array Size : 41908224 (39.97 GiB 42.91 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sat Aug 24 12:13:10 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 : 14% complete
Name : localhost.localdomain:5 (local to host localhost.localdomain)
UUID : 968fa4f5:020f5fec:4c726d63:df4b4b9b
Events : 22
Number Major Minor RaidDevice State
3 8 65 0 spare rebuilding /dev/sde1 //顶替sdb1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
0 8 17 - faulty /dev/sdb1 //sdb1处于闲置状态
4、将RAID 5阵列进行文件系统创建(格式化),并挂载使用。
[[email protected] ~]# 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
[[email protected] ~]# mkdir /opt/siti02
[[email protected] ~]# mount /dev/md5 /opt/siti02
[[email protected] ~]# df -h
(敏感词汇分隔...)
/dev/sda2 20G 4.3G 16G 22% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.1M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda5 10G 50M 10G 1% /home
/dev/sda1 2.0G 174M 1.9G 9% /boot
tmpfs 378M 12K 378M 1% /run/user/42
tmpfs 378M 0 378M 0% /run/user/0
/dev/md5 40G 33M 40G 1% /opt/siti02
注意:
我每次创建RAID磁盘阵列都是重新初始化虚拟机Linux系统,因为之前在虚拟机中安装好Linux系统时已经拍了快照,可以直接恢复。大家也可以自己操作下,希望可以帮助到大家!!!
原文地址:https://blog.51cto.com/14473285/2432257