RAID6的普及
原作 小林章彦 翻译 东北藏
搭载或连接到服务器的硬盘的大容量化可能永无止境。存储数据的持续增长一直以来是存储管理工作者的一大烦恼。特别是一旦硬盘发生故障,面临重要数据丢失的危险不得不考虑一定的对策。
一般的用户对硬盘使用RAID的冗余化技术,若只有一台硬盘发生故障不至于丢失重要的数据。现在一般使用的RAID1(镜像)及RAID5(分散数据保护)都是只在一台硬盘发生故障时可以恢复数据,两台硬盘同时损坏的时候数据会完全丢失。比如对发生故障的硬盘更换前或之后对RAID进行重构中,另一硬盘一旦发生故障,数据便无法恢复。
通常建立RAID系统的时候,使用的硬盘是同一时期制造的。故障时期的特性也基本相同,一台发生故障,另一台也容易发生故障。特别是在RAID重构作业中,大量的数据读写操作增加硬盘的负担,旧的硬盘更容易发生故障。
只毁坏一台硬盘导致数据丢失的危险性
只一台硬盘损坏别的硬盘的不良块(Block)导致不可修复的读出错误时数据便会丢失。虽然不良块的部分不可读出,硬盘本身可以操作,因而不是硬盘的故障。不良块并非偶然出现,不管什么硬盘都必然存在,即不知何时便有不良块的产生。不可修复的读出错误比率通常在硬盘规格书中有说明。以Seagate Technology公司的硬盘为例,采用SCSI接口的Cheetah系列每1015~16 bits一个扇区(Sector),采用IDE接口的Barracuda系列每1014 bits是一个扇区。
一般,采用SCSI或光纤信道(Fiber Channel)面向企业的每1015 bits为一扇区,采用IDE或串口ATA面向普通用户的每1014 bits为一扇区。面向普通用户的少一位(不可修复的数据读出发生率高了10倍),每一扇区分配的数据恢复用冗长位少。换句话说,面向企业的一旦发生数据读出错误,可以利用冗长位对数据进行恢复。这就体现了面向普通用户的要考虑价格及容量,面向企业的要考虑高的可靠性的不同设计思想。
一旦发生不可恢复的数据读出错误,数据便发生损坏。但RAID5中,延展(Stripe)中即使存在不良块,可以从奇偶校验(Parity)信息中恢复,数据本身并不丢失。但一台硬盘发生故障,别的硬盘发生不良块时,块中的延展数据便会丢失。
简单来说,单一的RAID5卷组成的硬盘的台数越多,及单一的RAID5卷的容量越大,上述原因导致的数据丢失可能性就越大。也可以说,随着存储容量的扩大,基于RAID5的数据损坏风险也随之而大。
作为RAID5的扩展,即使两台硬盘同时发生故障也可恢复数据的RAID6使用了RAID控制器。RAID6中增加一台专用于奇偶校验的硬盘,即相同数目的硬盘的RAID5和RAID6系统中,RAID6的实际数据少了一台硬盘的容量。但是可靠性却大大提高。
RAID6中奇偶校验的操作的不同分为2D-XOR和P+Q两种方式。对这两种方式简单说明一下。
■对角方向的奇偶校验:2D-XOR
2D-XOR是在RAID5的水平奇偶校验(PH)的基础上增加了硬盘及延展形成对角奇偶校验(PD),并将其保存在专门的硬盘的方式。与水平奇偶校验一样,对角奇偶校验也是采用XOR运算(异或逻辑运算)的奇偶校验,特点是计算量低(因为是两个方向的XOR运算,所以叫2D-XOR)。而与RAID4一样,对专用于对角奇偶校验的硬盘的大量读写操作成为性能的瓶颈。
■不同算法的奇偶校验:P+Q
P+Q是一种与RAID5一样,将两种不同算法的奇偶校验(P和Q)保存于复数的硬盘的方式。硬盘一旦发生故障,利用两种奇偶校验的方式对RAID进行重构。两种奇偶校验的计算增加了写入时的计算量,但两种奇偶校验在硬盘是交替写入的,硬盘的访问负荷相同。近期由于进行奇偶校验计算的Intel公司的Intel IOP333 I/O Processor及专门ASIC等的问世,也出现了写入时低运算负荷的RAID系统。
RAID6的P+Q方式
(在通常的P奇偶校验的基础上,引进了权值等概念的不同的算法:Q奇偶校验方式)
为什么要选择RAID6
如前所述,用RAID5进行的存储保护,只一台硬盘发生故障导致重要数据丢失的危险性是很高的。现在像财务数据及产品开发相关等企业赖以生存的信息通常保存于服务器。无论是从成本还是从实际容量RAID5的企业标准存储系统的地位已经建立,但是虽然硬盘的大容量化及价格的低廉化,预算和容量即使与以前一样数据的冗长保护方面得到了大幅地提高。比如,几年前由200Gbytes×4台构成的RAID5系统(实际容量600Gbytes)更换为400Gbytes×4台RAID6(实际容量800Gbytes)硬盘的成本几乎没多少变化,甚至更便宜。
以前,服务器的硬盘通常采用高可靠性的SCSI硬盘。但SCSI硬盘虽然可靠性较高,价格也比较昂贵,且1台的容量比起IDE硬盘也像是迟了几代。正因为如此,小型服务器(Entry Server)广泛采用IDE硬盘(串口ATA硬盘),这种广泛也扩大到了中型服务器(Midrange Server)。
IDE硬盘虽然在可靠性上不如SCSI硬盘,但一旦RAID6采用IDE且能够保证高的可靠性的话,便可以建立低成本的存储系统。其实这种外挂的存储制品已经问世。当然若采用SCSI硬盘的RAID6系统能够保证更高的可靠性。
硬盘的价格低廉化及大容量化足以掩盖实际容量低下的不足。在加上Intel公司的RAID6奇偶校验的计算I/O处理器的问世,加速了这种动向。
RAID技术,从RAID1或RAID5时代即将迎来RAID1或RAID6时代的到来。
(译者注:对翻译不当之处敬请包涵。对不可理解的地方敬请联系。)