RAID 5

RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。

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

RAID5校验位算法原理
P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn为数据块,P为校验,xor为异或运算)
XOR(Exclusive OR)的校验原理如下表:
A值
B值
Xor结果
0
0
0
1
0
1
0
1
1
1
1
0
这里的A与B值就代表了两个位,从中可以发现,A与B一样时,XOR结果为0,A与B不一样时,XOR结果就是1,而且知道XOR结果和A与B中的任何一个数值,就可以反推出另一个数值。比如A为1,XOR结果为1,那么B肯定为0,如果XOR结果为0,那么B肯定为1。这就是XOR编码与校验的基本原理。

用简单的语言来表示,至少使用3块硬盘(也可以更多)组建RAID5磁盘阵列,当有数据写入硬盘的时候,按照1块硬盘的方式就是直接写入这块硬盘的磁道,如果是RAID5的话这次数据写入会根据算法分成3部分,然后写入这3块硬盘,写入的同时还会在这3块硬盘上写入校验信息,当读取写入的数据的时候会分别从3块硬盘上读取数据内容,再通过检验信息进行校验。当其中有1块硬盘出现损坏的时候,就从另外2块硬盘上存储的数据可以计算出第3块硬盘的数据内容。也就是说raid5这种存储方式只允许有一块硬盘出现故障,出现故障时需要尽快更换。当更换故障硬盘后,在故障期间写入的数据会进行重新校验。 如果在未解决故障又坏1块,那就是灾难性的了。

RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此当RAID5的一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID还会自动利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。
做raid 5阵列所有磁盘容量必须一样大,当容量不同时,会以最小的容量为准。 最好硬盘转速一样,否则会影响性能,而且可用空间=磁盘数n-1,Raid 5 没有独立的奇偶校验盘,所有校验信息分散放在所有磁盘上, 只占用一个磁盘的容量。

Windows Server 2003中创建RAID 5
在Windows Server 2003系统中创建RAID-5卷的方法:
第1步,打开“计算机管理”窗口,选中“磁盘管理”目录。在右窗格中用鼠标右键单击准备创建RAID-5卷的动态磁盘,在弹出的快捷菜单中选择“新建卷”命令。
第2步,在向导欢迎页中单击“下一步”按钮,打开“选择卷类型”对话框。在“选择要创建的卷”区域中选中RAID-5单选框,并单击“下一步”按钮。
第3步,在“选择磁盘”对话框中,将“可用”磁盘列表中的所有磁盘通过“添加”按钮添加到“已选的”磁盘列表中(在“已选的”磁盘列表中至少要有三块磁盘),其他参数保持默认值。单击“下一步”按钮。
第4步,打开“指派驱动器号和路径”对话框,选中“指派以下驱动器号”单选框。单击右侧的下拉三角按钮,为该RAID-5卷指派驱动器号,以便于访问和管理。单击“下一步”按钮。
第5步,在“卷区格式化”对话框中保持“按下列设置格式化这个卷”单选框为选中状态,“文件系统”和“分配单位大小”选项均采用默认值。在“卷标”编辑框中输入一个卷标用于和其他卷进行区别,并选中“快速格式化”复选框。单击“下一步”按钮。
第6步,“正在完成新建卷向导”对话框的“用户已选择下列设置”列表中显示了以上所有的设置。如果没有问题,则单击“完成”按钮,系统开始创建RAID-5卷并对其进行格式化操作以及进行数据同步操作。同步操作所需的时间视卷的容量和系统性能而定,所实现的RAID-5卷会以特殊颜色标识出来。
完成格式化操作并进行数据同步后,RAID-5卷所包含的各个磁盘卷将显示“状态良好”的状态信息。

RAID-5故障原因分析这里说的RAID-5故障,是指RAID-5逻辑盘丢失或不可访问。导致RAID-5故障的原因主要有以下几种:
(1)RAID控制器出现物理故障
RAID控制器如果出现物理故障,将不能被计算机识别,也就无法完成对RAID-5中各个物理成员盘的控制,在这种情况下,通过RAID控制器虚拟出来的逻辑盘自然就不存在了。
(2)RAID信息出错
RAID控制器将物理盘配置为RAID-5后,会生成一些参数,包括该RAID-5的盘序、条带大小、左右结构情况、同步异步情况、RAID-5在每块物理盘中的起始地址等,还会记录有关该RAID-5的相关信息,包括组成该RAID-5的物理盘数目、物理盘的容量大小等,所有这些信息和参数就被称为RAID信息,也称为RAID元数据,它们会被保存到RAID控制器中,有时候也会保存到RAID-5的成员盘中。
RAID信息出错就是指该RAID-5的配置信息和参数出现错误,导致RAID程序不能正确地组织管理RAID-5中的成员盘,从而导致RAID-5逻辑盘丢失或不能访问。
(3)RAID-5成员盘出现物理故障
RAID-5可以允许其中一块成员盘离线而不影响数据的完整性,如果RAID-5中的某一块成员盘出现物理故障,比如电路损坏、磁头损坏、固件损坏、出现坏扇区等,该成员盘就不能正常使用,但剩下的成员盘可以利用异或运算计算出离线成员盘中的数据,所以RAID-5还不会崩溃。
如果系统管理员没有及时替换出现故障的成员盘,当再有一块成员盘再出现故障离线后,RAID-5将彻底崩溃。
(4)人为误操作
如果误将RAID-5中两块以上成员盘同时拔出、或者给RAID-5除尘时将成员盘拔出后忘了原来的顺序、以及不小心删除了RAID-5的配置信息等,都会造成RAID-5崩溃。
(5)RAID控制器的稳定性
RAID-5的数据分布结构中有校验块的存在,当RAID-5中有成员盘离线时,算法将变得更加复杂,RAID控制器将会工作在一个比较吃力的状态。而RAID控制器的负载太重便会极大地增加数据读写时出现I/O滞留的可能性,从而导致更多成员盘离线,或者导致RAID信息出错。

RAID-5数据恢复思路RAID-5阵列中数据的分布与RAID-0类似,数据也是分布到每块硬盘上,与RAID-0不同的是,RAID-5中每个条带组中总有一个条带是校验块。
RAID-5能够支持在一块盘离线的情况下保证数据的正常访问,如果有两块或两块以上硬盘同时离线,或者RAID信息出错等原因,阵列便会失效,这时就需要对数据进行重组。
对RAID-5的数据进行重组,也需要先把物理盘区RAID化,作为单盘进行分析,如图中的四块物理盘,把四块物理盘中的数据按照“A、B、C、D、E、F、G、H……”的顺序拼接好,就是RAID-5逻辑盘中完整的数据。
因为RAID-5的每块物理盘中都有校验信息,所以分析RAID-5就需要比RAID-0多一个因素,即校验块的位置和方向,另外,RAID-5中数据块的走向也会不一样,分为异步和同步,也就是说,RAID-5 有四个因素很重要,第一个是RAID中每个条带的大小,也就是“A”或“B”。
这些数据块所占用的扇区数;第二个因素是RAID中硬盘的排列顺序,也就是盘序;第三个因素是校验块的循环方向;第四个因素是数据块的走向。
根据RAID5的这些属性结构,把所有取出来的数据按照顺序衔接成一个镜像文件或者是镜像盘,这就成为完整的原RAID-5逻辑盘的结构了,直接访问这个重组出来的镜像文件或镜像盘,就得到了原RAID-5逻辑盘中的数据。

你可能感兴趣的:(杂文)