RAID扫盲

RAID代表Redundant Array of Inexpensive (or Independent) Drive。它通过将多个相对比较便宜的磁盘组合起来,并相互连接,同时都连到一个或多个计算机上,以组成一个磁盘组,使其性能和容量达到或超过一个价格更昂贵的大型磁盘。RAID是1988年由美国加州大学的Berkeley分校的David Patterson等几人提出来的。从那以后,磁盘阵列技术发展很快,并逐渐走向成熟。

RAID的优点在于三个方面即可用性(Availability)、大容量(Capacity)及高性能(Performance)。

根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求。常用的RAID级别有以下几种:NRAID,JBOD,RAID0,RAID1,RAID0+1,RAID3,RAID5,RAID6,RAIDS,RAID7等。为提高可靠性和性能,常使用RAID5和RAID0+1。下面分别简要介绍各自的原理及特点:

NRAID - 即Non-RAID,所有磁盘的容量组合成一个逻辑盘,没有数据块分条(no block stripping)。NRAID不提供数据冗余。要求至少一个磁盘。

JBOD - 代表Just a Bunch of Drives,磁盘控制器把每个物理磁盘看作独立的磁盘,因此每个磁盘都是独立的逻辑盘。JBOD也不提供数据冗余。要求至少一个磁盘。

RAID0 - 即Data Stripping数据条带化技术。整个逻辑盘的数据是被分条(stripped)分布在多个物理磁盘上,可以并行读/写,提供最快的速度,但没有冗余能力。要求至少两个磁盘。RAID0代表了RAID系统的高性能,成本最低的方案。由于没有容错功能,RAID0适用于低成本,低可靠性的台式系统,在这里,高速的数据吞吐比可靠性更重要。

RAID1 - 把一个磁盘的数据镜像到另一个磁盘上,只能在两个磁盘上实施,具有最高的数据冗余能力, RAID1又称镜像(Mirror)盘,采用镜像容错来提高可靠性。即每一个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时只从工作盘读出。一旦工作盘发生故障立即转入镜像盘,从镜像盘中读出数据,然后由系统再恢复工作盘正确数据。因此这种方式数据可以重构,但工作盘和镜像盘必须保持一一对应关系。这种盘阵列可靠性很高,但其有效容量减小到总容量一半以下。因此RAID1常用于对出错率要求极严的应用场合,如财政、金融等领域。只允许一颗硬盘失败。

RAID0+1 - 把RAID0和RAID1技术结合起来,即Mirroring + Stripping。数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。要求至少4个硬盘才能作成RAID0+1。只允许一颗硬盘失败。

RAID3 - 带有一个专门的校验盘的分条技术。数据被分布在多个磁盘上以提高读/写速度,并用一个专门的校验盘来存储校验信息,当一个成员盘故障时,控制器可以从校验盘重新恢复/生成丢失的数据。RAID3要求至少3个盘,且其中一个为专职校验盘。它的优点是支持阵列中多硬盘的同步访问,整个阵列的带宽可以充分利用,在要求大块数据顺序传送时较理想,如:图形、图象、科学计算等应用。其缺点是每次读写要牵动整个组,每次只能完成一次I/O,所以作为文件服务器共享时性能不好。只允许一颗硬盘失败。

RAID5 - RAID5是一种循环偶校验独立存取的阵列。类似于RAID3,但校验数据不是存储在一个专职的校验盘上,而是分布在多个盘上。当一个磁盘故障时,控制器可以从其他尚存的磁盘上重新恢复/生成丢失的数据而不影响数据的可用性。RAID5要求至少3个磁盘,容量是(N-1)/N。这一改变解决了争用校验盘的问题,因此DAID5内允许在同一组内并发进行多个写操作。所以RAID5即适于大数据量的操作,也适于各种事务处理。它是一种快速,大容量和容错分布合理的磁盘阵列。只允许一颗硬盘失败。

RAIDS - 是EMC公司的RAID5的实施方案,它和纯粹的RAID5存在以下区别:
(1) 它条带化奇偶校验,但不条带化数据;
(2) 它与一个带有写缓存的异步硬件环境合并。这个缓存主要是一种延迟写的机制,因此它能让系统在相对不忙的时候计算和写奇偶校验信息。

RAID6 - 是RAID家族中的新技术,是在RAID 5基础上扩展而来的。所以同RAID 5一样,数据和校验码都是被分成数据块然后分别存储到磁盘阵列的各个硬盘上。RAID 6加入了一个独立的校验磁盘,它把分布在各个磁盘上的校验码都备份在一起,这样RAID 6磁盘阵列就允许多个磁盘同时故障,这对于数据安全要求很高的应用场合是非常的必要的。这样搭建一个RAID 6磁盘阵列最少需要4块硬盘。但是RAID 6并没有改善RAID 5写入性能不佳的情况,写入缓存的应用仅仅能对于这个缺点进行一定程度的弥补但是并不能从根本上解决。因为RAID 5和RAID 6都可以根据应用程序来更改数据块的大小,所以它的实际性能还会受到这个因素的影响。允许两颗硬盘失败。

RAID7 - 也同样引入了缓存机制,这个缓存是被一个内嵌式操作系统控制。但是,RAID-7中数据是被条带化的,而奇偶校验不被条带化。奇偶校验信息被存放在一个或者多个专门的磁盘上。

RAID3与RAID5的区别:

RAID3是所谓的同步访问SynchronousAccess阵列,在执行IO的时候,R3内所有的成员磁盘会进行磁头同步,共同完成一个IO操作,IO内的数据会分散写入每一个成员磁盘的stripe内,适用于顺序读写,如OLAP;而RAID5是所谓的独立访问阵列IndependentAccess,执行IO时不需要同步磁头,不同的磁盘可以分别执行不同的IO,适用于随机读写,如OLTP,这样,对于R5,把stripe size设置的大一些,会方便多个IO的同时执行;而对于R3,stripe size小一些是因为一次IO覆盖的磁盘数量多所以也不需要设置得很大

Raid 3 在第N+1个硬盘上存储的数据是校验容错信息,而每次修改数据的时候都需要往这个硬盘上写数据,这就出现了瓶颈。

RAID 5 不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

Raid5能保证每次修改数据每块硬盘都在工作,因此性能比Raid3能高一些。所以Raid5比Raid3更适合服务器应用。

两者都有错误校检,都是比较稳定的Raid解决方案。

raid3的条带深度是最小的:1bit;而raid4、raid5的条带深度都会相对更大

你可能感兴趣的:(工作,应用服务器,金融,performance)