【硬盘】RAID

RAID是英文Redundant Array of Independent Disks(独立磁盘冗余阵列),简称磁盘阵列。下面将各个级别的RAID介绍以下。算法

 

1、为何使用Raid?安全

 

一、对磁盘高速存取(提速): RAID将普通硬盘组成一个磁盘阵列,在主机写入数据,RAID控制器把主机要写入的数据分解为多个数据块,而后并行写入磁盘阵列;主机读取数据时,RAID控制器并行读取分散在磁盘阵列中各个硬盘上的数据,把它们从新组合后提供给主机。因为采用并行读写操做,从而提升了存储系统的存取速度。服务器

 

二、扩容。分布式

 

三、数据冗余。工具

 

2、分类性能

 

RAID可分为级别0到级别6,一般称为:RAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6。大数据

 

RAID0:RAID0并非真正的RAID结构,没有数据冗余,RAID0连续地分割数据并并行地读/写于多个磁盘上。所以具备很高的数据传输率,但RAID0在提升性能的同时,并无提供数据可靠性,若是一个磁盘失效,将影响整个数据。所以RAID0不可应用于须要数据高可用性的关键应用。编码

 

RAID0的优势:最快的读写性能,若是每块硬盘拥有独立的控制器性能将会更好。操作系统

 

RAID0的缺点:任何一块硬盘出现故障全部的数据都会丢失,大部分的控制器都是经过软件实现的,因此效能并很差。设计

 

-----------------------------------------------------------------------

 

RAID1:RAID1经过数据镜像实现数据冗余,在两对分离的磁盘上产生互为备份的数据。RAID1能够提升读的性能,当原始数据繁忙时,可直接从镜像中读取数据。RAID1是磁盘阵列中费用最高的,但提供了最好的数据可用性。当一个磁盘失效,系统能够自动地交换到镜像磁盘上,而不须要重组失效的数据。

 

RAID1的优势:数据高可靠性,易于实现,设计简单。

 

RAID1的缺点:比RAID0相比速度较慢,特别是写入速度,另外就是咱们仅仅能使用一半的硬盘容量。

 

-----------------------------------------------------------------------

 

RAID0+1

 

这种RAID模式实际上是RAID0和RAID1模式的组合,至少须要4块硬盘。其中任何两块组成一个RAID0磁盘阵列,而后两个RAID0磁盘阵列能够当作两个容量更大、速度更快的硬盘,它们再组成一个RAID1磁盘阵列。这样的系统保证了较高的磁盘性能和较高的数据安全性。固然缺点也是显而易见的就是成本较高,构造比较复杂。RAID0+1在容错性能方面仅次于RAID5,通常用于文件服务器等方面。

 

-----------------------------------------------------------------------

 

RAID2:从概念上讲,RAID2同RAID3相似,二者都是将数据条块化分布于不一样的硬盘上,条块单位为位或字节。然而RAID2使用称为“加剧平均纠错码”的编码技术来提供错误检查及恢复。这种编码技术须要多个磁盘存放检查及恢复信息,使得RAID2技术实施更复杂。所以,在商业环境中不多使用。

 

RAID2的优势:数据安全性高,只要存放校验码的硬盘没有故障就能恢复数据。

 

RAID2的缺点:昂贵、须要专门的硬盘存放校验码、效率不高、没有商业应用的支持。

 

-----------------------------------------------------------------------

 

RAID3:不一样于RAID2,RAID3使用单块磁盘存放奇偶校验信息。若是一块磁盘失效,奇偶盘及其余数据盘能够从新产生数据。若是奇偶盘失效,则不影响数据使用。RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操做的瓶颈。

 

RAID3的优势:比较适合视频编辑等须要大数据量调用的场合。

 

RAID3的缺点:实现各个驱动器的转速同步很是困难(目前大部分的硬盘都不支持这个功能),须要复杂的控制器。

 

-----------------------------------------------------------------------

 

RAID4:RAID4和RAID5一样将数据条块化并分布于不一样的磁盘上,但条块单位为块或记录。RAID4使用一块磁盘做为奇偶校验盘,每次写操做都须要访问奇偶盘,成为写操做的瓶颈。在商业应用中不多使用。

 

RAID4的优势:除了RAID3的优势以外,它并不须要同步驱动器转速。

 

RAID4的缺点:写入性能不好,控制器的要求较高。

 

-----------------------------------------------------------------------

 

RAID5:RAID5没有单独指定的奇偶盘,而是交叉地存取数据及奇偶校验信息于全部磁盘上。在RAID5上,读/写指针可同时对阵列设备进行操做,提供了更高的数据流量。RAID5更适合于小数据块,随机读写的数据。RAID3与RAID5相比,重要的区别在于RAID3每进行一次数据传输,需涉及到全部的阵列盘。而对于RAID5来讲,大部分数据传输只对一块磁盘操做,可进行并行操做。在RAID5中有“写损失”,即每一次写操做,将产生四个实际的读/写操做,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

 

RAID5的优势:不须要专门的校验码磁盘,读取速度快,并且解决了写入速度相对较慢的问题。

 

RAID5的缺点:写入性能依然不尽如人意。

 

-----------------------------------------------------------------------

 

RAID6:RAID6与RAID5相比,增长了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不一样的算法,数据的可靠性很是高。即便两块磁盘同时失效,也不会影响数据的使用。但须要分配给奇偶校验信息更大的磁盘空间,相对于RAID5有更大的“写损失”。RAID6的写性能很是差,较差的性能和复杂的实施使得RAID6不多使用。

 

RAID6的优势:快速的读取性能,更高的容错能力。 RAID6的缺点:很慢的写入速度,RAID控制器在设计上更加复杂,成本更高。

 

详细介绍

 

RAID0 

条带化(Stripe)存储。理论上说,有N个磁盘组成的RAID0是单个磁盘读写速度的N倍。RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,所以具备很高的数据传输率,但它没有数据冗余,所以并不能算是真正的RAID结构。

 

RAID1 

镜象(Mirror)存储。它是经过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互 为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,所以RAID 1能够提升读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统能够自动切换到镜像磁盘上读写,而不须要重组失效的数据。

 

 

RAID2 

海明码(Hamming Code)校验条带存储。将数据条块化地分布于不一样的硬盘上,条块单位为位或字节,使用称为海明码来提供错误检查及恢复。这种编码技术须要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂,所以在商业环境中不多使用。

 

RAID3 

奇偶校验(XOR)条带存储,共享校验盘,数据条带存储单位为字节。它同RAID 2很是相似,都是将数据条块化分布于不一样的硬盘上,区别在于RAID 3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。若是一块磁盘失效,奇偶盘及其余数据盘能够从新产生数据;若是奇偶盘失效则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来讲,奇偶盘会成为写操做的瓶颈。

 

 

RAID4 

奇偶校验(XOR)条带存储,共享校验盘,数据条带存储单位为块。RAID 4一样也将数据条块化并分布于不一样的磁盘上,但条块单位为块或记录。RAID 4使用一块磁盘做为奇偶校验盘,每次写操做都须要访问奇偶盘,这时奇偶校验盘会成为写操做的瓶颈,所以RAID 4在商业环境中也不多使用。

 

 

RAID5 

奇偶校验(XOR)条带存储,校验数据分布式存储,数据条带存储单位为块。RAID 5不单独指定的奇偶盘,而是在全部磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操做,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到全部的阵列盘;而对于RAID 5来讲,大部分数据传输只对一块磁盘操做,并可进行并行操做。在RAID 5中有“写损失”,即每一次写操做将产生四个实际的读/写操做,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

当进行恢复时,好比咱们须要须要恢复下图中的A0,这里就必须须要B0、C0、D0加0 parity才能计算并得出A0,进行数据恢复。因此当有两块盘坏掉的时候,整个RAID的数据失效。

 

RAID6 

奇偶校验(XOR)条带存储,两个分布式存储的校验数据,数据条带存储单位为块。与RAID 5相比,RAID 6增长了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不一样的算法,数据的可靠性很是高,即便两块磁盘同时失效也不会影响数据的使用。但RAID 6须要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,所以“写性能”很是差。较差的性能和复杂的实施方式使得RAID 6不多获得实际应用。

 

 

RAID7 

这是一种新的RAID标准,其自身带有智能化实时操做系统和用于存储管理的软件工具,可彻底独立于主机运行,不占用主机CPU资源。RAID 7能够看做是一种存储计算机(Storage Computer),它与其余RAID标准有明显区别。

RAID 7等级是至今为止,理论上性能最高的RAID模式,由于它从组建方式上就已经和以往的方式有了重大的不一样。基本成形式见图,以往一个硬盘是一个组成阵列的“柱子”,而在RAID 7中,多个硬盘组成一个“柱子”,它们都有各自的通道,也正由于如此,你能够把这个图分解成一个个硬盘链接在主通道上,只是比之前的等级更为细分了。这样作的好处就是在读/写某一区域的数据时,能够迅速定位,而不会由于以往因单个硬盘的限制同一时间只能访问该数据区的一部分,在RAID 7中,之前的单个硬盘至关于分割成多个独立的硬盘,有本身的读写通道。

 

RAID10RAID01的比较 

- RAID10是先作镜象,而后再作条带。

- RAID01则是先作条带,而后再作镜象。

好比以6个盘为例,RAID10就是先将盘分红3组镜象,而后再对这3个RAID1作条带。RAID01则是先利用3块盘作RAID0,而后将另外3块盘作为RAID0的镜象。下面以4块盘为例来介绍安全性方面的差异:

一、RAID10的状况 

这种状况中,咱们假设当DISK0损坏时,在剩下的3块盘中,只有当DISK1一个盘发生故障时,才会致使整个RAID失效,咱们可简单计算故障率为1/3。

 

二、RAID01的状况

这种状况下,咱们仍然假设DISK0损坏,这时左边的条带将没法读取。在剩下的3块盘中,只要DISK2,DISK3两个盘中任何一个损坏,都会致使整个RAID失效,咱们可简单计算故障率为2/3。

 

所以RAID10比RAID01在安全性方面要强。

从数据存储的逻辑位置来看,在正常的状况下RAID01和RAID10是彻底同样的,并且每个读写操做所产生的IO数量也是同样的,因此在读写性能上二者没什么区别。而当有磁盘出现故障时,好比前面假设的DISK0损坏时,咱们也能够发现,这两种状况下,在读的性能上面也将不一样,RAID10的读性能将优于RAID01。

相关文章
相关标签/搜索