RAID 磁盘阵列 详解

摘要:
RAID1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。RAID5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。为了具有RAID-5级的冗余度,需要最少由三个磁盘组成的磁盘阵列。RAID-5可以通过磁盘阵列控制器硬件实现,也可以通过某些网络操作系统软件实现了。RAID4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。与RAID5相比,RAID6增加了第二个独立的奇偶校验信息块。

RAIDRedundantArraysofIndependentDisks的简称,独立磁盘冗余阵列,简称磁盘阵列。

磁盘阵列其实也分为软阵列(SoftwareRaid)和硬阵列(HardwareRaid)两种.

软阵列即通过软件程序并由计算机的CPU提供运行能力所成.由于软件程式不是一个完整系统故只能提供最基本的RAID容错功能.其他如热备用硬盘的设置,远程管理等功能均一一欠奉.

硬阵列是由独立操作的硬件提供整个磁盘阵列的控制和计算功能.不依靠系统的CPU资源.由于硬阵列是一个完整的系统,所有需要的功能均可以做进去.所以硬阵列所提供的功能和性能均比软阵列好.如果你想把系统也做到磁盘阵列中,硬阵列是唯一的选择.故我们可以看市场上RAID5级的磁盘阵列均为硬阵列.软阵列只适用于Raid0Raid1.

  要使用磁盘RAID主要有两种方式,第一种就是RAID适配卡,通过RAID适配卡插入PCI插槽再接上硬盘实现硬盘的RAID功能。第二种方式就是直接在主板上集成RAID控制芯片,让主板能直接实现磁盘RAID。这种方式成本比专用的RAID适配卡低很多。此外还可以用2korxporlinux系统做成软RAID.个人使用磁盘RAID主要是用RAID0RAID1RAID01工作模式

下面将各个级别的RAID介绍如下。

RAID0

条带化(Stripe)存储,DataStripping数据分条技术。RAID0可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁盘的性能和吞吐量。RAID0没有冗余或错误修复能力,成本低,要求至少两个磁盘,一般只是在那些对数据安全性要求不高的情况下才被使用。RAID0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,在所有的级别中,RAID0的速度是最快的。理论上说,有N个磁盘组成的RAID0是单个磁盘读写速度的N倍。但是RAID0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。因此并不能算是真正的RAID结构。
1)、RAID0最简单方式
  就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起,形成一个独立的逻辑驱动器,容量是单独硬盘的N,在电脑数据写时被依次写入到各磁盘中,当一块磁盘的空间用尽时,数据就会被自动写入到下一块磁盘中,它的好处是可以增加磁盘的容量。速度与其中任何一块磁盘的速度相同,如果其中的任何一块磁盘出现故障,整个系统将会受到破坏,可靠性是单独使用一块硬盘的1/n
2)、RAID0的另一方式
  是用N块硬盘选择合理的带区大小创建带区集,最好是为每一块硬盘都配备一个专门的磁盘控制器,在电脑数据读写时同时向N块磁盘读写数据,速度提升n倍。提高系统的性能。

RAID 磁盘阵列 详解第1张

RAID1有以下特点: 
 (1)、RAID1的每一个磁盘都具有一个对应的镜像盘,任何时候数据都同步镜像,系统可以从一组镜像盘中的任何一个磁盘读取数据。
 (2)、磁盘所能使用的空间只有磁盘容量总和的一半,系统成本高。
 (3)、只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。
 (4)、出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。
 (5)、更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。
 (6)、RAID1磁盘控制器的负载相当大,用多个磁盘控制器可以提高数据的安全性和可用性。

RAID 磁盘阵列 详解第2张
RAID1
镜象(Mirror)存储。把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,具有很高的数据冗余能力,但磁盘利用率为50%。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID1可以提高读取性能。RAID1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。



RAID3
奇偶校验(XOR)条带存储,共享校验盘,数据条带存储单位为字节。RAID3是以一个硬盘来存放数据的奇偶校验位,数据则分段存储于其余硬盘中。它象RAID0一样以并行的方式来存放数,但速度没有RAID0快。如果数据盘(物理)损坏,只要将坏硬盘换掉,RAID控制系统则会根据校验盘的数据校验位在新盘中重建坏盘上的数据。不过,如果校验盘(物理)损坏的话,则全部数据都无法使用。利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高,为n-1RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。

RAID 磁盘阵列 详解第3张

RAID2
海明码(HammingCode)校验条带存储。将数据条块化地分布于不同的硬盘上,条块单位为位或字节,使用称为海明码来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID2技术实施更复杂,因此在商业环境中很少使用。
RAID 磁盘阵列 详解第4张



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

 RAID5把校验块分散到所有的数据盘中。使用了一种特殊的算法,可以计算出任何一个带区校验块的存放位置。这样就可以确保任何对校验块进行的读写操作都会在所有的RAID磁盘中进行均衡,从而消除了产生瓶颈的可能。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。RAID5提高了系统可靠性,但对数据传输的并行性解决不好,而且控制器的设计也相当困难。为了具有RAID-5级的冗余度,需要最少由三个磁盘组成的磁盘阵列(不包括一个热备用)。RAID-5可以通过磁盘阵列控制器硬件实现,也可以通过某些网络操作系统软件实现了。硬盘的利用率为n-1
当进行恢复时,比如我们需要需要恢复下图中的A0,这里就必须需要B0C0D00parity才能计算并得出A0,进行数据恢复。所以当有两块盘坏掉的时候,整个RAID的数据失效。

RAID 磁盘阵列 详解第5张

RAID4
奇偶校验(XOR)条带存储,共享校验盘,数据条带存储单位为块。RAID4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID4在商业环境中也很少使用。
RAID 磁盘阵列 详解第6张
RAID 磁盘阵列 详解第7张
RAID6
奇偶校验(XOR)条带存储,两个分布式存储的校验数据,数据条带存储单位为块。与RAID5相比,RAID6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID5有更大的写损失,因此写性能非常差。较差的性能和复杂的实施方式使得RAID6很少得到实际应用。

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


RAID7
这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID7可以看作是一种存储计算机(StorageComputer,它与其他RAID标准有明显区别。

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

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

RAID 磁盘阵列 详解第9张

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


RAID 磁盘阵列 详解第10张

因此RAID10RAID01在安全性方面要强。

从数据存储的逻辑位置来看,在正常的情况下RAID01RAID10是完全一样的,而且每一个读写操作所产生的IO数量也是一样的,所以在读写性能上两者没什么区别。而当有磁盘出现故障时,比如前面假设的DISK0损坏时,我们也可以发现,这两种情况下,在读的性能上面也将不同,RAID10的读性能将优于RAID01
 把RAID0RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。

RAID10RAID01的比较
-RAID10是先做镜象,然后再做条带。
-RAID01则是先做条带,然后再做镜象。

注:整理自网络

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

Blog http://blog.csdn.net/tianlesoftware

网上资源: http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(); DBA2 群:62697977()

DBA3 群:62697850DBA 超级群:63306533;

聊天群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

免责声明:文章转载自《RAID 磁盘阵列 详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇zookeeper使用02--基本命令转:通过 Visual Studio 对 SQL Server 中的存储过程设置断点并调试下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Fiddler 菜单功能 Host配置 请求伪造 接口调试

菜单功能:   Fiddler工具栏上每个按钮的功能只要鼠标停留在按钮上面就会出现英文描述的功能。   小气泡:增加备注,点击气泡即可对下面捕捉到的会话增加备注(很少使用)   Replay回放按钮:较常用,捕捉到一个会话后想回放这个会话,点这个按钮即可。   remove按钮:清空监控面板,下面还附有很多remove规则,可按照需要选择相应的remove...

linux内核驱动的知识要点

IT的本质信息技术研究0和1的行业 计算机:数字计算 数字描述万事万物 数字的进制:10 24 12 7 60 16 2 0和1可以描述万事万物 内存的作用:1. 存指令2. 存数据 CPU的组成:ALU(运算器) 控制器 寄存器ALU中包含很多个运算电路:每个电路对应一条指令 CPU分为: RISC(精简指令集):易 慢 功耗低 CISC(复杂指令集):...

第十一篇 BCD码调整

无论是X86汇编还是MCS-51的指令集中都会有BCD码调整指令。本博文将浅谈下BCD码调整的 相关情况。 一、BCD码是十进制数在计算机中的表现形式。 我们一直都说计算机只能表示0、1二进制,这毫无疑问是正确的。但人对十进制数较为熟悉,为了 迎合人的方便,8421BCD码用来表示十进制数。当然了,BCD码也是用0、1二进制来表示的。所以, 需要注意理解的...

Usb-type-C端口实现的挑战与设计方案

 Usb-type-C端口实现的挑战与设计方案 USB Type-C port implementation challenges and design solutions USB from 1.1 to 3.2 and Beyond 通用串行总线(universal serial bus,USB)于1996年首次推出,它统一了多种不同类型连接的角色,在计...

VR电脑模拟实现

一、概述 1.实现的基本操作是: 1)用手柄抓住黄色的方块代表手抓住鼠标。 2)通过移动手柄模拟鼠标移动,电脑屏幕上的光标跟着移动。 3)当光标移动到一个Button上时,Button高亮,离开时Button取消高亮,点击Button触发点击事件。 4)当点击Button之后,打开一个画图程序,可以用光标在颜色选择区选择一种颜色,然后在画图区根据光标的...

用户被锁定

这种情况很少发生,偏偏被我碰到了,我按照网上一个哥们的教程去解决电脑问题 (请勿模仿,很麻烦的) -------------------------------------------------  1、右键单击“计算机”——”管理“——”本地用户和组“——”用户“找到administrator电脑图标右键单击”属性“将”禁用此用户“选项勾掉。      ...