1.6 磁盘阵列RAID
1.6.1 RAID概述
RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出,其最初是为了组合廉价的、容量较小的磁盘来代替昂贵的较大容量的磁盘,同时希望磁盘失效不会使对数据的访问受到妨碍而开发出的一种数据保护技术。
RAID(独立冗余磁盘阵列)应用比较普遍,它指的是一种由数块磁盘驱动器按照一定的要求和顺序构成的磁盘阵列,具有一定的冗余备份功能。在操作系统中,这数块磁盘驱动器将作为一个独立的大型存储设备出现。RAID按照不同的需求和设计要求分为不同的级别,具有重要作用和明显优势:提升了存储速度,增大了容量,提供了对于数据的容错和数据灾难的恢复功能。
以前RAID基本上用于高端服务器,随着技术的发展和成本的下降,现在RAID也逐渐出现在桌面系统之上,Microsoft Windows NT/2000/XP都不同程度地提供了配置RAID的选项和功能。
1.6.2 RAID级别
RAID级别不同,就会具有不同的性能、速度、可靠性和磁盘利用率,在此对几种主要的RAID级别做一简单介绍。
1.RAID0
RAID0又称为Stripe或Striping,即条带卷,是所有RAID级别中性能最高的阵列类型。
RAID0具有较高的性能,实现了带区组,将连续的数据分散地存储在若干个磁盘驱动器中。当系统有数据请求时,就可同时由多个磁盘并行读取数据。这种数据上的并行操作充分地利用了总线的带宽,数据吞吐率得到大大的提高,同时驱动器的负载也比较平衡,从而显著提升了磁盘整体的存取性能。但它没有数据差错控制,安全性比较低,适用于图像编辑和其他要求数据传输性能高的实际工作。
图1-8是RAID0的一个组成图。
图1-8 RAID0组成图
● 阵列容量=磁盘数×阵列中最小磁盘容量;
● 阵列数据传输速率=磁盘数×阵列中最低速磁盘数据传输速率;
● 阵列存取时间=阵列中最低速磁盘的存取时间;
● 阵列中任何一块磁盘损坏=阵列损坏;
● 安全性低。
2.RAID1
RAID1又称为“镜像条带”,组建RAID1至少需要两块磁盘。
RAID1比较适合需要极高可靠性的系统,且RAID1技术支持“热交换”,即在不断电的情况下对故障磁盘进行更换,更换完毕可从镜像盘上恢复数据。RAID1的数据安全性在所有的RAID级别中是最好的,但是其磁盘的利用率却只有50%,是所有RAID级别中最低的。图1-9是RAID1的一个组成图。
图1-9 RAID1组成图
3.RAID2
RAID2采取海明码校验方式。从概念上讲,RAID2和RAID3类似,两者都是数据条块化分布于不同的磁盘上,条块单位为位或字节。但RAID2使用一定的编码技术来提供错误检查及恢复操作。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID2技术实施起来更加复杂,不适合商业环境。由于海明码的特点,RAID2可以在数据发生错误时将错误校正,以保证输出的正确性。
4.RAID3
RAID3是带奇偶校验码的并行传送结构。组建RAID3最少需要3个磁盘,其中一个磁盘专门用于存储校验信息。RAID3使用专门的单独磁盘存放奇偶校验信息。如果一块磁盘失效,利用奇偶校验盘及其他数据盘可以重新生成丢失的数据。若奇偶校验盘发生故障,也不会影响数据的正常使用。它对大量连续存储的数据可提供很好的传输速率,但对于随机数据,奇偶校验盘则会成为读/写操作的瓶颈。
5.RAID4
RAID4是带奇偶校验码的独立磁盘结构,RAID4和RAID3很相似,不同的是它对数据的访问是按数据块进行的,而不像RAID3那样按字节进行。组建RAID4需要至少3块以上的磁盘。
6.RAID5
RAID5是分布式奇偶校验的独立磁盘结构。RAID5的奇偶校验码分散地存储于所有磁盘上。如图1-10所示,Ap代表A号带区的奇偶校验值,Bp代表B号带区的奇偶校验值。
图1-10 RAID5组成图
Ap=A1 xor A2 xor A3
Bp=B1 xor B2 xor B3
Cp=C1 xor C2 xor C3
Dp=D1 xor D2 xor D3
● 阵列容量=(磁盘数-1)×阵列中最小磁盘容量;
● 阵列读取速度近似于RAID0;
● 具有一定的安全性,一块磁盘损坏不会影响数据的完整性;
● RAID0与RAID1的折中方案。
当然,组成RAID5的存储结构有多种形式,常见的有左异步、左同步、右异步、右同步和HP双循环等。
RAID5的读数据效率很高,写数据效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,这就提高了其可靠性,允许单个磁盘出错。RAID5中有“写损失”,即每一次写操作将产生4个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
7.RAID6
RAID6是比RAID5具有更高安全性的一种RAID类型,全称是“带有两个独立分布式校验方案的独立数据磁盘”。它的工作模式和RAID5很相似,不同的是RAID5只设置了一个校验码,而RAID6设立了两个校验码,并将校验码写入两个驱动器中,增强了磁盘的容错能力。
8.RAID7
RAID7全称是“最优化的异步高I/O速率和高数据传输率”。它可被理解为一个独立存储计算机,自身带有操作系统和管理工具,每个磁盘都有一个独立的I/O通道,与主通道相连,操作系统可直接对每个磁盘的访问进行控制,可让每个磁盘在不同的时段进行数据读写。这就大大提升了I/O的使用效率,同时也提高了数据的读写能力,这种磁盘的访问方式也叫作非同步访问。但它价格非常高,不适合普通企业用户。
9.RAID 1E
RAID 1E是RAID1的增强版本,工作原理与RAID1基本一样,但其数据恢复能力更强。由于RAID 1E写一份数据至少需要两次,因此RAID处理器的负载增加,磁盘读写能力下降。
10.RAID 5E
RAID 5E是IBM公司提出的一种私有RAID级别。这种RAID基本也是从RAID5的基础上发展起来的,它与RAID5相同的地方是将数据校验信息平均分布在每一个磁盘中,不同的是每个磁盘都要预留一定的空间,这部分空间没有进行条带化。当一个磁盘出现故障时,这个磁盘上的数据将被压缩到其他磁盘预留的没有条带化的空间内,达到数据保护的目的。而这时候的RAID级别则从RAID 5E转换成了RAID5,继续保护磁盘数据。RAID 5E允许非同一时刻的两个磁盘出错,但至少需要4个磁盘才能构成RAID 5E。
11.RAID 5EE
RAID 5EE也是IBM公司提出的一种私有RAID级别,工作原理与RAID 5E基本相同,也是在每个磁盘中预留一部分空间作为分布的热备盘,当一个磁盘出现故障时,这个磁盘上的数据将被压缩到分布的热备盘中,达到保护数据的目的。但RAID 5EE增加了一些优化技术,使RAID 5EE的工作效率更高,压缩数据的速度更快。
12.RAID DP
RAID DP是双校验RAID,它的目的与RAID6实际上是完全相同的,都是为了加强数据存储的安全性,也是一种私有的RAID标准。最为典型的是NetApp RAID DP,它是一种双RAID4,即在RAID4横向校验的基础上增加了一个斜向校验,从而在同一时刻允许两个磁盘失效,但不影响数据正常使用,有效地提高了数据存储的安全性。为了存放这个斜向校验,RAID DP还增加了一个磁盘。
1.6.3 RAID构建
RAID的实现一般分为硬件实现和软件实现两种方式。通过硬件实现的RAID通常称为“硬RAID”,而通过软件实现的RAID则称为“软RAID”。
1.6.3.1硬RAID构建
所谓硬RAID,就是使用专门的RAID控制器将磁盘和计算机连接起来,RAID控制器负责将所有的RAID成员盘配置成一个虚拟的RAID磁盘卷。对于操作系统而言,只能识别到由RAID控制器配置后的虚拟磁盘,而无法识别到组成RAID的各个成员盘。RAID配置好后,就可以像使用一个普通磁盘一样使用这个RAID磁盘卷了。
硬RAID的主要构成方式就是RAID卡构建:利用RAID卡或SCSI控制卡实现RAID。
RAID卡
● RAID卡是一种磁盘阵列卡,核心技术就是RAID技术。
● 主要作用是为了提高服务器的磁盘读写性能和镜像备份,以提高服务器磁盘系统的安全级别。
● 可以为两个以上的物理磁盘实现冗余,提高安全性。
● 提供多个磁盘接口,SCSI、IDE或SATA接口。
SCSI控制卡
● SCSI控制卡接口通常有50针、68针和80针,常用的是50针和68针。
● SCSI控制卡是一种提供一个以上的SCSI接口的内置板卡,它可插在服务器(或其他设备)主板上的普通PCI(或服务器上的PCI-X)插槽上,提供多个SCSI接口,以方便多个SCSI外设的连接。
SCSI控制卡优势
● 使主板中没有提供SCSI接口的服务器(或计算机)通过普通的PCI插槽连接SCSI接口的磁盘或其他外设。
● 扩展了SCSI接口数量,因为一般来说在服务器中经常提供两个的SCSI接口,而SCSI卡可以提供4个或更多的SCSI接口,一个SCSI接口可以通过电缆连接15个SCSI设备。
● 支持热插拔。
SCSI实例
● ADAPTEC SCSI-3210S磁盘阵列卡:它有两个内68针和两个外68针的SCSI接口,可实现30个SCSI磁盘或SCSI外设的连接,如图1-11所示。
图1-11 ADAPTEC SCSI-3210S磁盘阵列卡
● RocketRAID 404磁盘阵列卡:它提供4条独立的IDE通道,因为一个IDE接口最多能连接两个磁盘,因此它最多可连接8个IDE磁盘,如图1-12所示。
图1-12 RocketRAID 404磁盘阵列卡
1.6.3.2软RAID构建
软RAID是不使用RAID控制器,而是直接通过软件层实现的RAID。与硬RAID不同的是,软RAID的各个成员盘对于操作系统而言是可见的,但操作系统并不把各个成员盘呈现给用户,而是把通过软件层配置好的虚拟RAID卷呈现给用户,使用户可以像使用一个普通磁盘一样使用RAID卷。现在的很多操作系统都在一定程度上支持RAID,包括Windows NT/2000/XP、Apple OS X、Sun Solaris、HP-UX和IBM AIX等。
Windows NT/2000/XP配置RAID实例。
● 首先将磁盘转换为动态磁盘(只能在Windows NT/2000/XP系统中使用),操作路径是“控制面板→管理工具→计算机管理→磁盘管理”,单击鼠标右键将选择的磁盘转换为动态磁盘,如图1-13所示。
图1-13 磁盘管理
● 划分动态卷,可划分为以下5种磁盘卷。
➣ 简单卷:包含单一磁盘上的磁盘空间,和分区功能一样。
➣ 简单卷:包含单一磁盘上的磁盘空间,和分区功能一样。当系统中有两个或两个以上的动态磁盘并且两个磁盘上都有未分配的空间时,用户可以选择以下两种分卷方式。
➣ 跨区卷:跨区卷将来自多个磁盘的未分配空间合并到一个逻辑卷中。
➣ 带区卷:组合多个(2~32个)磁盘上的未分配空间到一个卷。
如果系统中的两个动态磁盘容量一致,用户可以选择镜像卷方式。
➣ 镜像卷:单一卷有两份相同的备份,每一份在一个磁盘上,即所谓的RAID1。
当用户拥有3个或3个以上的动态磁盘时,就可以使用更加复杂的RAID方式——RAID 5,此时在分卷界面中会出现新的分卷形式。
➣ RAID5卷:相当于带奇偶校验的带区卷,即RAID5方式。
1.6.4 RAID数据恢复
当RAID磁盘阵列出现故障,需要数据恢复时,首先应当分清是哪种故障情况,一般有服务器主系统出现故障、RAID卡损坏、磁盘扇区固件物理故障,或因突然停电、拔插更换磁盘忘记并放错顺序、重新配置RAID阵列信息等引起的数据丢失。
在实际工作中,RAID阵列故障和数据恢复最常见的是以安全著称的RAID5及其衍生方式,大多数是因为没有及时更换故障盘所致。
如果发现RAID磁盘阵列出现故障,应按以下步骤操作。
1.将系统电源关闭,将磁盘按顺序编号;
2.单独使用计算机挂接数据盘,做出磁盘镜像,不可对数据盘(源盘)直接操作;
3.不要盲目操作,无把握地尝试Rebuild 、同步等数据恢复操作;
4.当RAID的磁盘镜像完成后,在其他计算机上用软件对镜像进行操作,不会影响丢失数据的计算机信息和状态。
RAID Reconstructor工具能处理绝大多数RAID0、RAID5等特殊RAID阵列,以及组合型RAID系列的磁盘故障和数据恢复的案例。