raid磁盘阵列
也是可以用不同的硬盘分区,组成一个逻辑上的硬盘。
高可用。冗余
硬盘 分了就分了。
lvm 扩容
raid 高可用
磁盘的组成方式不同,也就是不同的raid级别:
raid级别:
raid0
raid1
raid5
raid6
raid10
条带化存储:数据分散在多个物理磁盘上的存储方式。利用多个磁盘并行读取和写入。存储性能和读写性能是最好的。
raid0:
raid0:
raid0 使用条带化存储,没有冗余能力,坏一块盘数据就会丢失。
raid0 使用场景,高吞吐和低延迟的应用场景。视频,大数据处理。
raid0 最少要一块硬盘分区。硬盘利用率是100%。
raid1:
镜像存储:
raid1:
两两复制,数据会存储在所有的硬盘上。
raid1 需要的磁盘数N(偶数)
raid1 可以提高读的性能,写性能相对较低,数据在每个磁盘上都要备份。
raid1 可以提供冗余
raid1 磁盘利用率50%
raid5:
raid5 条带 数据是分散存储,校验存储,根据校验机制,循环均衡存储。
raid5 n>=3 有四个硬盘,怎么选择磁盘阵列?
raid5 有冗余,可以坏一块盘,如果有热备份,可以再坏一块盘。
raid5 读写性能, 读性能好,写性能相对较差。
raid5 磁盘利用率(n-1)/n 66% raid是最多的
raid6:
raid6 需要4块硬盘,n>=4
raid6 磁盘利用率 n-2/n
raid6 有冗余,奇偶校验,每个盘上的数据一致,循环按照奇数和偶数来把数据写入磁盘。
raid6 最多可以坏2个盘
raid6 读性能和raid性能差不多,比raid强,比raid1低。写性能最差。
raids的可靠性是最高的,最可靠的raid级别,金融,医疗,法律,银行都爱用raid6.
对数据的完整性和可靠性要求很高,选择raid6.
raid1+0 :
raid1+0
raid10 最少需要4块,盘数必须是偶数。先做镜像再做条带。
raid10 有冗余,可以坏两块,每个两两复制的硬盘当中可以坏一个。
raid10 的磁盘利用率n/2 50%
raid10 读写性能高,读性能和raid差不多,稍低一些,写性能和raid1差不多,比raid1稍差。
raid级别 | 使用硬盘数量 | 磁盘利用率 | 冗余能力 | 读写能力 |
---|---|---|---|---|
raid0 | N | 100% | 无 | 读写性能最好 |
raid1 | N(偶数) | 50% | 坏一块 | 读性能好,写相对较差 |
raid5 | N>=3 | n-1/n | 坏一块 | 读性能好,写性能一般 |
raid6 | N>=4 | n-2/n | 坏两块 | 读性能好,写性能最差 |
raid10 | N>=4(偶数) | 50% | 每组(A或B)可以各坏一块 | 读性能好,写性能一般 |
在企业当中,用的最多的是raid5。
#####面试题------有四个硬盘,怎么选择硬盘阵列?
raid
raid1
raid5 经济实惠
raid6 可以坏两个
raid10 虽然是可以坏两个,但是磁盘利用率50%
总结:我个人认为在当前条件,选择raid5是比较合适的选择。
3+1热备份
热备份:
热备份:当阵列中,有一块硬盘坏了,热备份盘可以随时顶替。相当于磁盘的最后一次保险。
工作原理:热备份相当于给raid又做了一个备份,raid当中坏了一块硬盘,热备份在顶替的过程中,利用校验算法,把阵列当中的数据同步过滤,然后和再顶替坏掉的硬盘,在顶替过程中,阵列是不可使用的,不能读写,顶替完成以后,raid回复正常状态。
冷:static
热:活动
删除:
实验raid5练习
1、创建4个分区(物理卷)
2、查看是否磁盘阵列
[root@localhost ~]# mdadm -E /dev/sd[b-e]1
mdadm: No md superblock detected on /dev/sdb1.
mdadm: No md superblock detected on /dev/sdc1.
mdadm: No md superblock detected on /dev/sdd1.
mdadm: No md superblock detected on /dev/sde1.
3、创建raid5磁盘阵列
[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 10476544K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
4、查看raid5情况
[root@localhost ~]# mdadm -D /dev/md5
5、创建文件系统、文件夹、挂载
[root@localhost ~]# mkfs.xfs /dev/md5
[root@localhost ~]# mkdir /data1
[root@localhost ~]# mount /dev/md5 /data1/
[root@localhost ~]# df -h
6、模拟故障,第一次热备份顶替
[root@localhost ~]# mdadm /dev/md5 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md5
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Wed May 29 14:31:27 2024
Raid Level : raid5
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 10476544 (9.99 GiB 10.73 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Wed May 29 14:40:58 2024
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:5 (local to host localhost.localdomain)
UUID : 3d818243:64f1e8f8:14ad761f:a282924c
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
7、raid5可以损坏第二次,模拟
[root@localhost ~]# mdadm /dev/md5 -f /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md5
[root@localhost ~]# mdadm -D /dev/md5
8、raid5损坏第三个,模拟
[root@localhost ~]# mdadm /dev/md5 -f /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md5
[root@localhost ~]# cd /data1
[root@localhost data1]# ll
总用量 0
-rw-r--r--. 1 root root 0 5月 29 14:43 123
[root@localhost data1]# cd ..
[root@localhost /]# cd -
/data1
[root@localhost data1]# touch 1
[root@localhost data1]# ll
总用量 0
-rw-r--r--. 1 root root 0 5月 29 14:46 1
-rw-r--r--. 1 root root 0 5月 29 14:43 123
[root@localhost data1]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Wed May 29 14:31:27 2024
Raid Level : raid5
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 10476544 (9.99 GiB 10.73 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Wed May 29 14:46:45 2024
State : clean, FAILED
Active Devices : 1
Working Devices : 1
Failed Devices : 3
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:5 (local to host localhost.localdomain)
UUID : 3d818243:64f1e8f8:14ad761f:a282924c
Events : 51
Number Major Minor RaidDevice State
3 8 65 0 active sync /dev/sde1
- 0 0 1 removed
- 0 0 2 removed
0 8 17 - faulty /dev/sdb1
1 8 33 - faulty /dev/sdc1
4 8 49 - faulty /dev/sdd1
[root@localhost data1]# touch 2
touch: 无法创建"2": 输入/输出错误
[root@localhost data1]# ll
ls: 无法打开目录.: 输入/输出错误
[root@localhost data1]# cat 1
cat: 1: 输入/输出错误
raid10练习操作:
1、创建4+1热备份,磁盘阵列,先创建5个物理卷sd{b…f}2
2、创建raid10磁盘阵列
[root@localhost ~]# mdadm -Cv /dev/md10 -l10 -n4 -x1 /dev/sd{b,c,d,e,f}2
[root@localhost ~]# mdadm -D /dev/md10
/dev/md10:
Version : 1.2
Creation Time : Wed May 29 15:07:23 2024
Raid Level : raid10
Array Size : 20951040 (19.98 GiB 21.45 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Wed May 29 15:07:55 2024
State : clean
Active Devices : 4
Working Devices : 5
Failed Devices : 0
Spare Devices : 1
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:10 (local to host localhost.localdomain)
UUID : bee74479:3dd6af92:71673df1:2a373b2a
Events : 17
Number Major Minor RaidDevice State
0 8 18 0 active sync set-A /dev/sdb2
1 8 34 1 active sync set-B /dev/sdc2
2 8 50 2 active sync set-A /dev/sdd2
3 8 66 3 active sync set-B /dev/sde2
4 8 82 - spare /dev/sdf2
3、创建文件系统、文件夹、挂载
[root@localhost ~]# mkfs.xfs /dev/md10
[root@localhost ~]# mkdir /data2
[root@localhost ~]# mount /dev/md10 /data2
[root@localhost ~]# df -h
4、模拟分区损坏,第一次热备份顶替
[root@localhost ~]# mdadm /dev/md10 -f /dev/sdb2
mdadm: set /dev/sdb2 faulty in /dev/md10
[root@localhost ~]# mdadm -D /dev/md10
/dev/md10:
Version : 1.2
Creation Time : Wed May 29 15:07:23 2024
Raid Level : raid10
Array Size : 20951040 (19.98 GiB 21.45 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Wed May 29 15:20:10 2024
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 1
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:10 (local to host localhost.localdomain)
UUID : bee74479:3dd6af92:71673df1:2a373b2a
Events : 36
Number Major Minor RaidDevice State
4 8 82 0 active sync set-A /dev/sdf2
1 8 34 1 active sync set-B /dev/sdc2
2 8 50 2 active sync set-A /dev/sdd2
3 8 66 3 active sync set-B /dev/sde2
0 8 18 - faulty /dev/sdb2
5、模拟分区损坏,第一个B组的损坏
[root@localhost ~]# mdadm /dev/md10 -f /dev/sdc2
mdadm: set /dev/sdc2 faulty in /dev/md10
[root@localhost ~]# mdadm -D /dev/md10
/dev/md10:
Version : 1.2
Creation Time : Wed May 29 15:07:23 2024
Raid Level : raid10
Array Size : 20951040 (19.98 GiB 21.45 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Wed May 29 15:22:35 2024
State : clean, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 2
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:10 (local to host localhost.localdomain)
UUID : bee74479:3dd6af92:71673df1:2a373b2a
Events : 38
Number Major Minor RaidDevice State
4 8 82 0 active sync set-A /dev/sdf2
- 0 0 1 removed
2 8 50 2 active sync set-A /dev/sdd2
3 8 66 3 active sync set-B /dev/sde2
0 8 18 - faulty /dev/sdb2
1 8 34 - faulty /dev/sdc2
5、模拟分区损坏,第二个A损坏
[root@localhost data2]# mdadm /dev/md10 -f /dev/sdd2
mdadm: set /dev/sdd2 faulty in /dev/md10
[root@localhost data2]# mdadm -D /dev/md10
/dev/md10:
Version : 1.2
Creation Time : Wed May 29 15:07:23 2024
Raid Level : raid10
Array Size : 20951040 (19.98 GiB 21.45 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Wed May 29 15:26:11 2024
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 3
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:10 (local to host localhost.localdomain)
UUID : bee74479:3dd6af92:71673df1:2a373b2a
Events : 50
Number Major Minor RaidDevice State
4 8 82 0 active sync set-A /dev/sdf2
- 0 0 1 removed
- 0 0 2 removed
3 8 66 3 active sync set-B /dev/sde2
0 8 18 - faulty /dev/sdb2
1 8 34 - faulty /dev/sdc2
2 8 50 - faulty /dev/sdd2
6、删除raid10
[root@localhost /]# umount /dev/md10
[root@localhost /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root
253:0 0 37G 0 lvm /
├─centos-swap
253:1 0 3.9G 0 lvm [SWAP]
└─centos-home
253:2 0 18.1G 0 lvm /home
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 10G 0 part
│ └─md5 9:5 0 20G 0 raid5 /data1
└─sdb2 8:18 0 10G 0 part
└─md10 9:10 0 20G 0 raid10
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 10G 0 part
│ └─md5 9:5 0 20G 0 raid5 /data1
└─sdc2 8:34 0 10G 0 part
└─md10 9:10 0 20G 0 raid10
sdd 8:48 0 20G 0 disk
├─sdd1 8:49 0 10G 0 part
│ └─md5 9:5 0 20G 0 raid5 /data1
└─sdd2 8:50 0 10G 0 part
└─md10 9:10 0 20G 0 raid10
sde 8:64 0 20G 0 disk
├─sde1 8:65 0 10G 0 part
│ └─md5 9:5 0 20G 0 raid5 /data1
└─sde2 8:66 0 10G 0 part
└─md10 9:10 0 20G 0 raid10
sdf 8:80 0 20G 0 disk
└─sdf2 8:82 0 10G 0 part
└─md10 9:10 0 20G 0 raid10
sr0 11:0 1 4.3G 0 rom /run/media/root/CentOS 7 x86_64
[root@localhost /]# mdadm -S /dev/md10
mdadm: stopped /dev/md10
[root@localhost /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root
253:0 0 37G 0 lvm /
├─centos-swap
253:1 0 3.9G 0 lvm [SWAP]
└─centos-home
253:2 0 18.1G 0 lvm /home
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 10G 0 part
│ └─md5 9:5 0 20G 0 raid5 /data1
└─sdb2 8:18 0 10G 0 part
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 10G 0 part
│ └─md5 9:5 0 20G 0 raid5 /data1
└─sdc2 8:34 0 10G 0 part
sdd 8:48 0 20G 0 disk
├─sdd1 8:49 0 10G 0 part
│ └─md5 9:5 0 20G 0 raid5 /data1
└─sdd2 8:50 0 10G 0 part
sde 8:64 0 20G 0 disk
├─sde1 8:65 0 10G 0 part
│ └─md5 9:5 0 20G 0 raid5 /data1
└─sde2 8:66 0 10G 0 part
sdf 8:80 0 20G 0 disk
└─sdf2 8:82 0 10G 0 part
sr0 11:0 1 4.3G 0 rom /run/media/root/CentOS 7 x86_64
─md5 9:5 0 20G 0 raid5 /data1
└─sdc2 8:34 0 10G 0 part
sdd 8:48 0 20G 0 disk
├─sdd1 8:49 0 10G 0 part
│ └─md5 9:5 0 20G 0 raid5 /data1
└─sdd2 8:50 0 10G 0 part
sde 8:64 0 20G 0 disk
├─sde1 8:65 0 10G 0 part
│ └─md5 9:5 0 20G 0 raid5 /data1
└─sde2 8:66 0 10G 0 part
sdf 8:80 0 20G 0 disk
└─sdf2 8:82 0 10G 0 part
sr0 11:0 1 4.3G 0 rom /run/media/root/CentOS 7 x86_64