一、Raid(Redundant Array of lndependent Disks)技术
独立磁盘余阵列,RAID技术将多个单独的物理硬盘以不同的方式组合成一个逻辑硬盘,从而提高了硬盘的读写性能和数据安全性(实现冗余)
二、Raid类型
1、独立Raid
Raid0 | 数据条带化,无校验 |
Raid1 | 数据镜像,无校验 |
Raid3 | 数据条带化读写,校验信息存放于专用硬盘 |
Raid5 | 数据条带化,校验信息分布式存放 |
Raid6 | 数据条带化,分布式校验并提供两级冗余 |
2、组合Riad(采用两种不同的RAID方式还能组合成新的RAID级别)
RAID0+1 | 先做RAID 0,后做RAID 1,同时提供数据条带化和镜像 |
RAID10 | 类似于RAID 0+1,区别在于先做RAID 1,后做RAID 0 |
RAID50 | 先做RAID 5,后做RAID 0,能有效提高RAID 5的性能 |
三、独立Raid级别的详细解析
1、RAID 0
- 最少所需磁盘:2块
- 数据存放方式:数据条带化存放,对数据进行切片,将数据分散在不同的磁盘里面,以达到磁盘性能提升的目
- 缺点:任意损坏一块盘,就会导致数据丢失
- 磁盘利用率:100%
图示如下:
2、RAID 1
- 最少所需磁盘:2块
- 数据存放方式:镜像存放,数据同时一致写到主硬盘和镜像硬盘,实现冗余,达到数据备份的目的
- 缺点:读写性能可能会下降,误删除数据无法恢复
- 磁盘利用率:50%
图示如下:
RAID 0解决性能问题,不能冗余问题
RAID 1解决冗余问题,不能解决性能问题
3、RAID 3
- 最少所需磁盘:3块
- 数据存放方式:数据条带化存放(提升磁盘读写性能),产生校验值(数据保护),即解决了性能问题,也解决了冗余问题
- 缺点: 容易产生性能瓶颈,校验缓慢,导致读写数据缓慢
- 磁盘利用率:n-1/n
图示如下:
4、RAID 5
- 最少所需磁盘:3块
- 数据存放方式:分布式奇偶校验条带化存放,数据分布式条带化存放(提升磁盘读写性能),产生校验值(数据保护),即解决了性能问题,也解决了冗余问题
- 优点:解决了RAID 3的性能瓶颈 — 每个盘都充当校验盘(压力分散)
- 磁盘利用率:n-1/n
图示如下:
5、RAID 6
比RAID 5多一个校验位,经常被称之为:double校验
- 最少所需磁盘:4块
- 数据存放方式:数据分布式条带化存放(提升磁盘读写性能),产生两个相同校验值(数据保护),即解决了性能问题,也解决了冗余问题
- 优点:同一个校验,存放两份,加强了数据的安全性
- 磁盘利用率:n-2/n
图示如下:
四、组合Raid级别的详细解析
所谓的组合Raid,就是将独立的两种Raid组成新的Raid级别
例如:
Raid 10 读作:RAID 一 零 错误读法:RAID 十
Raid 50 读作:RAID 五 零 错误读法:RAID 五十
从上述读法就可以看出,组合raid是由两个独立的raid拼凑而成
1、RAID 0+1
画法(如下图):先画一个raid 0,再将raid 0整体充当为画raid 1的磁盘,则最少需要两个raid 0,才可以组成raid 1,这个整体就叫做Raid 0+1
数据存放方法如下图所示:
2、RAID 10
画法(如下图):先画一个raid 1,再将raid 1整体充当为画raid 0的磁盘,则最少需要两个raid 1,才可以组成raid 0,这个整体就叫做Raid 10
数据存放方法如下图所示:
3、RAID 50
画法(如下图):先画一个raid 5,再将raid 5整体充当为画raid 0的磁盘,则最少需要两个raid 5,才可以组成raid 0,这个整体就叫做Raid 50
数据存放方法如下图所示:
五、Raid的选择(拿raid 5和raid 10举例)
对raid技术原理理解后,更重要的是在未来工作中如何对raid级别的选择!
例如:
连续性的大I/O(读写),如:视频监控,数据库整体备份,这种连续大量的读写,建议使用RAID 5,因为连续的大I/O(读写),不用经常更改数据,对校验盘性能没有太高的要求。
反面论证:为什么不用raid 10?
如图所示,raid 10存储数据的方式会将数据存两份,则磁盘利用率会减半,而像视频监控这种需要占用大量磁盘空间的业务,底层就需要更多的磁盘空间,但配置raid 10却让磁盘空间减少了,这就产生了冲突。如果一定要配置raid 10则需要购买更多的磁盘,增加了成本,所以做连续性的大I/O(读写)业务时,不推荐使用raid 10。
随机的小I/O(读写),如:日常数据库业务,银行交易,这种经常变更的小I/O(读写),建议使用raid 10,因为随机的小I/O(读写),对底层磁盘空间消耗较少,哪怕数据存两份也不会造成磁盘空间不够用。
反面论证:为什么不使用raid 5?
如图所示,raid 5存储数据的方式会进行数据校验,而随机的小I/O(读写)会涉及到大量频繁的增删改查,每次增删改查都会造成重新校验,所以对磁盘校验性能要求较高,需要不停的运算,存数据,校验数据,改数据,再校验数据,时间长了,对磁盘性能会造成影响,导致最后校验跟不上,造成磁盘读写数据变慢。
注:I/O翻译为input输入、output输出,指磁盘读写的意思。