磁盘阵列:
RAID 将一组硬盘连结成来,组成一个阵列,以避免单个硬盘损坏而带来的数据损失, 同时亦提供了比单个硬盘高的可用性及容错性。常见的组合方式有:RAID0、RAID1、RAID5、 RAID6、RAID1+0,下面分别介绍它们的特性。
(一)RAID0磁盘阵列
RAID0 俗称“条带”,它将两个或多个硬盘组成一个逻辑硬盘,容量是所有硬盘之和, 因为是多个硬盘组合成一个,故可并行写操作,写入速度提高,但此方式硬盘数据没有冗余, 没有容错,一旦一个物理硬盘损坏,则所有数据均丢失。因而,RAID0 适合于对数据量大, 但安全性要求不高的场景,比如音像、视频文件的存储等
类型 | 特点 | 缺点 | 组成条件 | 容量 |
raid0 | 高读写 | 不可靠 | 两个及以上大小相同的磁盘组成 | 多块磁盘容量总和 |
(二)RAID1磁盘阵列
RAID1 俗称“镜像”,它最少由两个硬盘组成,且两个硬盘上存储的数据均相同,以实 现数据冗余。RAID1 读操作速度有所提高,写操作理论上与单硬盘速度一样,但由于数据需 要同时写入所有硬盘,实际上稍为下降。容错性是所有组合方式里最好的,只要有一块硬盘 正常,则能保持正常工作。但它对硬盘容量的利用率则是最低,只有 50%,因而成本也是最 高。RAID1 适合对数据安全性要求非常高的场景,比如存储数据库数据文件之类
类型 | 特点 | 缺点 | 组成条件 | 容量 |
raid1 | 高可靠 | 不具备扩展性 | 至少两块大小相同的磁盘组成 | 多块磁盘容量总和的一半 |
(三)RAID5磁盘阵列
RAID5 最少由三个硬盘组成,它将数据分散存储于阵列中的每个硬盘,并且还伴有一个 数据校验位,数据位与校验位通过算法能相互验证,当丢失其中的一位时,RAID 控制器能 通过算法,利用其它两位数据将丢失的数据进行计算还原。因而 RAID5 最多能允许一个硬盘 损坏,有容错性。RAID5 相对于其它的组合方式,在容错与成本方面有一个平衡,因而受到 大多数使用者的欢迎。一般的磁盘阵列,最常使用的就是 RAID5 这种方式
类型 | 特点 | 组成条件 | 容量 |
raid5 | 高读写,写一般,高可靠性 | 至少三块大小相同的磁盘 | n-1/n磁盘容量总和 |
实际操作配置:
环境:新建四个磁盘,三个磁盘做成raid5,一个作为备用磁盘(当一块磁盘不可用的时候,备用可以顶替)实现无人值守
1,检测软raid管理命令mdadm是否安装
[root@localhost ~]# rpm -q mdadm mdadm-4.0-5.el7.x86_64
2,将四块磁盘分别分区,并改为raid分区类型(操作看前文章详解)
fdisk /dev/sdb ... 创建磁盘分区
3,创建raid5磁盘阵列/dev/md5,其中/dev/sde1作为备用磁盘
[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1 创建raid5磁盘阵列
-C:创建
-v:显示详细过程
-l:级别
-n:磁盘数量
-x:备用磁盘数
4,查看raid5磁盘阵列同步状态信息
[root@localhost ~]# 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] [root@localhost ~]# mdadm -D /dev/md5 查看raid磁盘阵列的详细信息
5,模拟撤销一块磁盘,看备用磁盘是否可以同步并使用
[root@localhost ~]# mdadm -f /dev/md5 /dev/sdb1 卸载其中一块磁盘 mdadm: set /dev/sdb1 faulty in /dev/md5 [root@localhost ~]# 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 = 10.7% (2242772/20954112) finish=1.5min speed=203888K/sec unused devices: <none>
使用mdadm -D查看raid5磁盘阵列的详细信息
(四)RAID6磁盘阵列
RAID6 是在 RAID5 的基础上改良而成的,RAID6 再将数据校验位增加一位,所以允许损 坏的硬盘数量也由 RAID5 的一个增加到二个。由于同一阵列中两个硬盘同时损坏的概率非常 少,所以,RAID6 用增加一块硬盘的代价,换来了比 RAID5 更高的数据安全性,至少4块磁盘。
[root@localhost ~]# mdadm -C -v /dev/md6 -l6 -n4 /dev/sd[b-e]1 -x1 /dev/sdf1 创建raid6磁盘阵列并创建一个备用磁盘
(五)RAID1+0磁盘阵列
RAID1+0 是先将数据进行镜像操作,然后再对数据进行分组,RAID 1 在这里就是一个冗余的备份阵列,而 RAID 0 则负责数据的读写阵列。至少要四块盘,两块做 raid0,另两块做raid1,RAID 10 对存储容量的利用率和 RAID 1 一样低,只有 50%.Raid1+0 方案造成了 50%的磁盘浪费,但是它提供了 200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一 Raid1 中,就能保证数据安全性、RAID 10 能提供比RAID 5 更好的性能。这种新结构的可扩充性不好,使用此方案比较昂贵
实验操作配置:
环境:四块磁盘做成raid1+0,两块做成raid1为/dev/md1,另两块做成raid1为/dev/md2,然后在一起做成raid0,组成raid1+0
1,将四块磁盘先分区,其中两两做成raid1磁盘阵列/dev/md1,/dev/md2
[root@localhost ~]# mdadm -C -v /dev/md1 -l1 -n2 /dev/sd[b-c]1 创建raid1磁盘阵列
[root@localhost ~]# mdadm -C -v /dev/md2 -l1 -n2 /dev/sd[d-e]1 创建raid1磁盘阵列
2,然后将/dev/md1,/dev/md2磁盘阵列做成一个raid0阵列/dev/md10
[root@localhost ~]# mdadm -C -v /dev/md10 -l0 -n2 /dev/md1 /dev/md2 创建raid0磁盘阵列
3,查看磁盘阵列的信息状态
总结:
项目 | RAID0 | RAID1 | RAID10 | RAID5 | RAID6 |
最少磁盘数 | 2 | 2 | 4 | 3 | 4 |
最大容错磁盘数 | 无 | n-1 | n/2 | 1 | 2 |
资料安全性 | 完全没有 | 最佳 | 最佳 | 好 | 比raid5好 |
理论写入效能 | n | 1 | n/2 | <n-1 | <n-2 |
可用容量 | n | 1 | n/2 | n-1 | n-2 |
一般应用 | 强调效能但资料不重要的环境 | 资料和备份 | 服务器,云系统常用 | 资料与备份 | 资料与备份 |
谢谢阅读!!!