RAID 磁盘阵列详解,RAID分类及优缺点
Posted 宝山的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RAID 磁盘阵列详解,RAID分类及优缺点相关的知识,希望对你有一定的参考价值。
文章目录
Raid 基础知识
1. 什么RAID磁盘阵列
- RAID 是美国加州伯克利 D.A.Patterson 教授 在1988年提出的
- 中文全称 独立磁盘冗余阵列,简称 磁盘阵列
把多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能,并通过储存冗余数据也增加容错能力。
2.RAID 磁盘阵列分类
按照物理类型可以分为2大类:硬RAID 、软RAID
通过硬件实现RAID功能的,俗称硬RAID。通常有2种解决方案,一是外接式 磁盘阵列柜(价格贵,企业级才需要)。二是通过在电脑上假装 阵列卡,通过磁盘阵列卡实现RAID。阵列卡更快(提示读写速度)更稳定(好一点的阵列卡会带电池,防止突然断电)
用软件模拟RAID,就是软RAID
3.RAID的逻辑分类
3.1 RAID 0模式(速度很快)
-
将2个以上的磁盘并联起来,形成一个大的磁盘。
-
可用容量= 所有硬盘之和
-
当进行写入的时候,是把 数据分段后,分别存在不同的硬盘中
-
容量最大,读写速度最快
-
极致的速度带来的就是不安全
-
一定不要用RAID 0 存放重要数据
缺点:没有冗余和容错能力,磁盘阵列只要坏一块盘,所有数据跟着玩完
3.2 RAID 1(护卫镜像)
RAID1模式最少需要2块磁盘,所有硬盘互为镜像,每块硬盘上存储的数据都一样。阵列磁盘中,只要有一块硬盘没坏,数据都可以完整读取出来
RAID 1理论去读速度和RAID0 相同,有几块硬盘,读取速度就是几倍,但是写入速度等于单块硬盘,没有任何提升。当RAID1 某一块硬盘损坏时,拔出损坏的盘,插入新的盘,阵列会恢复数据到新插入硬盘(重建阵列)
注释:如果各个硬盘大小不一,最终容量会以最小的为准,整体利用率是所有RAID分类中最低的
3.3 RAID 2
如果想要安全的提升,又不追求极致的速度,那就了解下RAID2、3、4、5、6吧
RAID 2、3、4在设计之初,主要针对特定的应用场景,因为各种各样的缺陷,很少会用到,很多阵列卡也都不支持RAID 2、3、4
RAID 2 模式至少需要3块盘,读写是需要对 数据进行实时编码,分段写入不同的硬盘,得到的数据总量会比原始数据大。
RAID2 模式在读写是需要实时校验数据,校验算法较为复杂,硬件开销偏大。所以提出了RAID3
3.4 RAID3
-
RAID3 是在RAID 2基础是提出来的,因为采用跟简单算法,对硬件开销相对较小
-
RAID 3最少3块硬盘,读写操作时,数据分段写入不同的硬盘,校验数据单独存放在,另一个硬盘里。
-
由于每次读写操作都会访问校验盘,导致校验盘长时间高负荷工作,非常容易挂掉。如果校验盘坏了,那数据就没救了。
3.5 RAID4
-
RAID 4和RAID3 相似,是把校验数据单独存放在一个硬盘里
-
与RAID3 不同的是,RAID4 数据分段的方式不一样。
RAID 3按照bit 比特分割数据,RAID4 按照数据块分割,数据块大小按照系统决定,通常比 bit 大很多,所以小文件写入会比RAID3 快。
RAID4 的缺点是非校验盘数据损坏,数据恢复概率比RAID 3低一些
如果是校验盘损坏,RAID3 和RAID4 都无法恢复数据
3.6 RAID 5(重要,允许挂一块)
-
RAID 5 原理和RAID3 相似,区别是RAID3 把校验数据存放在一个硬盘里,但RAID 5的校验数据是分散 在各个磁盘里。每个硬盘都有校验数据
-
当一块硬盘损坏,所有其它盘里的数据,配合校验信息,就可以进行信息恢复,避免了RAID3 校验盘坏了,无法恢复数据的缺陷
RAID 5模式至少需要3块硬盘,其中1/3的空间作为冗余。2/3空间存放原始数据。
- RAID 读取数据和RAID0 相近,写入速度不急RAID0。但因为1/3的空间作为校验数据,允许阵列损坏一块硬盘的情况下,实现数据完全恢复,安全性比RAID0 高出很多
注意:RAID 5还有一个子模式 RAID F1,主要针对固态硬盘。采用类似RAID5的阵列模式,对SSD写入有特定的优化,校验数据会尽量放在一个SSD里,降低其他固态硬盘的写入量,当发现SSD写入快到上限时,支持自动数据转移。(由于价格贵,一般接触不到)
3.6 RAID 6(重要)
-
与RAID5 相比,增加到了2个硬盘空间,存放校验数据,导致RAID6
-
至少需要4块硬盘才行。
RAID 6模式数据安全性非常高,2个冗余磁盘空间,使用不同校验算法,任意坏2块硬盘,都能实现数据完全恢复,安全性相对RAID5更高一级
但因为采用双算法校验数据,校验数据量是RAID5的2倍,同时校验算法计算量也偏大,导致RAID6读写速度不及RAID5.
RAID6 写入慢,还多站了一个磁盘容量
注意:机械硬盘先天性缺陷URE,大概是每12TB的数据,可能会出现一个URE。当RAID5正在进行磁盘构建的时候,出现一次URE错误,就会导致RAID5认为数据出现问题,需要从新构建阵列。多次重建阵列导致硬盘长时间高负荷运作,如果硬盘是同一时期买的,一块硬盘挂了,其它硬盘的状态也好不到哪里去,非常容易导致更多硬盘损坏(RAID5只允许坏掉一块硬盘,重建过程中在挂掉一块硬盘,数据就恢复不回来了。)
个人建议RAID 5尽量少用。重建阵列成功率偏低,安全性相对RAID 6差很多
3.7 RAID 7(美国SCC的专利)
3.8 RAID 10(混合RAID)
把RAID1 和RAID0 两种模式合二为一,既保证数据安全,大幅度提升读写速度。缺点是可用容量 只有总容量的一半
RAID 10 至少需要四块硬盘,其中 先 两两组成RAID1 ,然后把两组 RAID 1 组成RAID0/
- 所以RAID 10,是先RAID1 在RAID 0
3.9 JBOD 和 UNRAID
Just a Bunch Of Disks
只是一堆磁盘
JBOD模式下,数据从第一块磁盘开始,一直往后边的硬盘存。系统只能看到包含所有硬盘容量的大分区,那个硬盘坏了,坏盘里的数据就会损坏。由于第一块硬盘包含了个盘上的数据分段表。第一块盘不能坏,如果坏的是第一块硬盘 的。如果坏的是第一块硬盘,整个阵列都会报废
JBOD 优点是:系统会把多块硬盘认成一个,可用容量为所有硬盘容量之和,而且每次写入只会占用一块磁盘,读写是其它硬盘处于闲置状态,不会导致过劳而死
JBOD的缺点是:安全性偏低,读写速度和单块硬盘速度一样,没有任何的提升
UNRAID(安RAID),不组RAID
UNRAID 本身是基于LINUX 的RAID 系统,和JBOD非常相似。
事实上就是带冗余的JBOD
RAID 总结
RAID 技术对磁盘存储来说,是比较重要的,选择一个好的RAID方案,是可以达到意向不到的效果。常用的RAID 0 适用于对速度要求较高,且安全性低的业务场景。而对安全性要求较高的话,可以考虑RAID 1,如果考虑成本问题,要求硬盘大容量、安全性及速度的话,可以考虑RAID 5,RAID 10
以上是关于RAID 磁盘阵列详解,RAID分类及优缺点的主要内容,如果未能解决你的问题,请参考以下文章