【磁盘阵列老树开新花】老树开新花下一句
存储是目前IT产业发展的一大热点,而磁盘阵列(RAID)是构造高性能、海量存储的基础技术,也是构建网络存储的基础技术。专家认为,磁盘阵列的性能优势得益于磁盘运行的并行性,提高设备运行并行度可以提高磁盘的性能和数据安全性。磁盘阵列虽然是一种成熟的技术,但是对大多数用户来说它还是一个新东西。从目前情况来看,用户对大容量存储及数据安全的需求越来越强烈,选择磁盘阵列是必然的。本期产品主题聚焦磁盘阵列,介绍在新引入RAID 6级别后,RAID技术、产品的发展,并介绍RAID产品的选购。
最近,RAID 6规范推出,不少企业立即推出了支持RAID 6的产品。RAID 6让沉寂多年的磁盘阵列技术再次成为人们关注的重点。
对于许多计算机用户而言,磁盘阵列RAID(Redundant Array of Independent Disks,冗余独立磁盘阵列)是一项成熟技术,已经成功应用了20年。1987年美国伯克利大学两名工程师提出了RAID的概念,最初目的是要将多个容量较小的廉价硬盘合并成为一个大容量的“逻辑盘”或磁盘阵列,实现提高硬盘容量和性能的目标。20年来,RAID 推出了一系列级别,包括RAID 0、RAID 1、RAID 2、RAID 3、RAID4、RAID 5,以及各种组合如 RAID 0+1 等。
专家认为,RAID 6技术是随着大容量ATA硬盘的广泛采用而推出的,它也再次让RAID得到了业界的重视。不过,用户期望利用不断完善的RAID技术,保障数据的安全和磁盘的稳定运行,这一点亘古不变。
RAID标准不断出新
RAID是什么?通俗地讲,RAID技术就是利用磁盘阵列特性与数据条块化结合的方法,提高数据可用率和系统可靠性,并预防磁盘故障。其原理是利用 RAID算法来计算丢失的信息数据,然后,再将找回的数据存放在冗余备用的磁盘上。RAID自诞生以来,其应用范围日益广泛,可以有效地预防各种类型的系统故障。
更具体地说,RAID将普通硬盘组成一个磁盘阵列,在主机写入数据时,RAID控制器把主机要写入的数据分解为多个数据块,然后并行写入磁盘阵列;在主机读取数据时,RAID控制器并行读取分散在磁盘阵列中各个硬盘上的数据,把它们重新组合后提供给主机。由于采用并行读写操作,因此提高了存储系统的数据存取速度。这种将数据平均分配在各个磁盘上的方法也避免了数据的大量损坏,再结合校验和冗余技术,就可以保证一定的数据安全性。
经常应用的 RAID 级别主要有 RAID 0、RAID 1 、RAID 5 和 RAID 0+1 几种。专家们经常会用大量的数学知识来说明这些标准的原理与不同。
RAID 0 也叫磁盘无冗余,它将数据像条带一样写到多个磁盘上,这些条带也叫做“块”。条带化实现了可以同时访问多个磁盘上的数据,平衡 I/O 负载,加大了数据存储空间和加快了数据的访问速度。 RAID 0 是唯一的一个没有冗余功能的 RAID 技术。RAID 0的优势是性能极好,磁盘空间利用率高,成本低;不足是没有容错性,发热量比较大。
RAID 1也被称为磁盘镜像。系统将数据同时重复地写入两个硬盘,但是在操作系统中表现为一个逻辑盘。所以如果一个硬盘发生了故障,另一个硬盘中仍然保留了一份完整的数据,系统仍然可以照常工作。系统可以同时从两个硬盘读取数据,所以会提高硬盘读的速度。RAID 1的优点是安全性高,技术简单,管理方便,读写性能良好;不足是无法扩展单块硬盘容量,数据空间浪费较大。
RAID 5是在 RAID 3 和 RAID 4 的基础上发展来的,它继承了它们的数据冗余和条带化的特点,并将数据校验信息均匀保存在阵列中的所有硬盘上。系统可以对阵列中所有的硬盘同时读写,减少了由硬盘机械系统引起的时间延迟,提高了磁盘系统的 I/O 能力。另外,当阵列中的一块硬盘发生故障时,系统可以使用保存在其他硬盘上的奇偶校验信息恢复故障硬盘的数据,继续进行正常工作。RAID 5具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛;但不足之处是如果一块硬盘出现故障后,整个系统的性能将大大降低。
专家建议,RAID级别的选择有三个主要因素:可用性(数据冗余)、性能和成本。如果不要求可用性,选择RAID 0以获得最佳性能。如果可用性和性能是重要的而成本不是一个最主要的因素,则根据硬盘数量选择RAID 1。如果可用性、成本和性能都同样重要,则根据一般的数据传输和硬盘的数量选择RAID3、RAID5。
RAID标准不断推陈出新,一些标准得到了广泛的应用,如RAID 0、RAID 1 、RAID 5,一些标准却随之被淘汰,如RAID4等。不过用户对磁盘阵列的性能要求却不断增强,RAID6标准随之产生。
RAID 6鹤立鸡群
RAID 6是RAID家族中的新成员,是在RAID 5基础上扩展而来的。所以同RAID 5一样,数据和校验码都是被分成数据块,然后分别存储到磁盘阵列的各个硬盘上。不过,RAID 6加入了一个独立的校验磁盘,它把分布在各个磁盘上的校验码都备份在一起,这样RAID 6磁盘阵列就允许多个磁盘同时出现故障,这对于数据安全要求高的应用场合是非常适合的。按照这样的思路,搭建一个RAID 6磁盘阵列,最少需要四块硬盘。专家认为,RAID 6并没有改善RAID 5写入性能不佳的情况,写入缓存的应用仅仅能对于这个缺点进行一定程度的弥补,但并不能从根本上解决问题。因为RAID 5和RAID 6都可以根据应用程序来更改数据块的大小,所以它的实际性能还会受到这个因素的影响。
既然RAID 6是最新的RAID冗余技术,那么它的性能应该是非常不错的。优点包括:随机读取性能很好(当使用大数据块时),持续读取性能好(当使用小数据块时),可以总结为快速的读取性能,更高的容错能力。
不足包括RAID 6的随机写入性能:差,因为不但要在每块硬盘上写入校验数据,而且要在专门的校验硬盘上写入数据;持续写入性能一般。可以总结为写入速度慢,RAID控制器在设计上更加复杂,成本更高。
因此有专家认为,在实际应用中RAID 6的应用范围可能并没有其他的RAID标准那么广泛。如果实现这个功能一般需要设计更加复杂、造价更昂贵的RAID控制器,那么它一般也不会集成在主板上。总的来说RAID 6是可以容忍两块硬盘同时出现故障而仍然可以恢复出数据的,另外它的实际容量是总容量减两块硬盘。(具体可参考《RAID 6能保护更多的对象》)
RAID三种实现方式
在实现方式上,RAID 可以分为三类:用软件实现的(软件 RAID),用硬件实现的RAID (硬件 RAID),以及外置RAID (External RAID)。
在服务器中,软件RAID很多情况下已经包含在操作系统如 Windows、Netware及Linux中,并成为操作系统的一项功能。软件RAID中的所有操作都由处理器负责,所以对CPU资源的占用很高,从而降低了系统的性能。软件RAID是不需要另外添加任何硬件设备,因为它是靠用户的服务器系统的中央处理器提供所需的计算资源。
在服务器中,硬件RAID通常由一个PCI卡实现RAID的处理。RAID卡通常会包含处理器及内存,可以提供RAID所需要的资源,所以硬件RAID不会占用服务器系统的资源,从而系统的性能大大提升。硬件RAID可以连接内置硬盘、热插拔背板或外置存储设备。无论连接何种硬盘,控制权都是在RAID卡上,即RAID是由RAID卡操控的。通常,硬件RAID PCI卡都需要安装驱动程序,一般操作系统不会包含RAID卡的驱动程序。 磁盘阵列可以在安装系统之前或之后产生,系统会视之为一个虚拟硬盘,它同时具有容错及冗余的功能。磁盘阵列支持容量扩展,只需要加入新的硬盘并执行一些简单的指令,系统便可以实时利用这新加的磁盘容量。
外置式RAID也是属于硬件RAID的一种,区别在于RAID卡不会安装在系统里,而是安装在外置的存储设备内。而这个外置的存储设备则会连接到系统的SCSI卡上。系统没有任何RAID功能,因为它只有一张SCSI卡;所有的RAID功能将会转移到外置存储设备中。好处是外置的存储往往可以连接更多的硬盘,不受系统机箱的大小的影响。而一些高级的技术,如双机容错,是需要多个服务器外连到一个外置存储设备上,以提供容错能力。
外置式RAID是一种独立的存储系统,它自己的CPU、缓存与操作系统,可以安装任何操作系统,因此是与服务器操作系统无关的。因为在服务器系统里只存在一张SCSI卡,并不是RAID卡。而对于服务器系统及SCSI卡来说,外置式的RAID只是一个大型硬盘,并不是什么特别的设备。目前市场的外置式RAID既可以是SAN(存储区域网络)或者NAS(网络附加存储),可以通过FC或者iSCSI连接网络,组成网络存储系统,也可以DAS(直连存储)。
RAID的四种接口
RAID接口是指RAID卡支持的硬盘接口,目前主要有四种:IDE接口、SCSI接口、SATA接口和FC接口。
1.IDE接口
IDE(Integrated Drive Electronics,电子集成驱动器),它的硬盘驱动器把硬盘控制器与盘体集成在一起,减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘的制造更容易,硬盘生产厂商不再担心自己的硬盘是否与其他厂商生产的控制器兼容;对用户而言,硬盘安装起来也更为方便。IDE接口技术从诞生至今一直不断发展,性能也不断提高,其拥有的价格低廉、兼容性强的特点,为其造就了其他类型硬盘无法替代的地位。
IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后出现的更多类型的硬盘接口,比如ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘。由于IDE口属于并行接口,因此为了和SATA口硬盘相区别,IDE口硬盘也叫PATA口硬盘。
2.SCSI接口
SCSI(小型计算机系统接口)――是同IDE完全不同的接口。IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及支持热插拔等优点,但较高的价格使它很难如IDE硬盘一样普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。SCSI硬盘和普通IDE硬盘相比有很多优点如接口速度快,硬盘本身的性能也比较高,硬盘转速快,缓存容量大,CPU占用率低,扩展性远优于IDE硬盘,并且支持热插拔。
3.SATA接口
使用SATA(Serial ATA)口的硬盘又叫串口硬盘,是未来PC用硬盘的主流趋势。由Intel、APT、Dell、IBM、希捷、迈拓等几大厂商组成的Serial ATA委员会确立的标准已经从Serial ATA 1.0规范发展到了Serial ATA 2.0规范。Serial ATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。
串口硬盘是一种完全不同于并行ATA的新型硬盘接口类型,因采用串行方式传输数据而知名。相对于并行ATA来说,Serial ATA以连续串行的方式传送数据,一次只会传送1位数据。这样能减少SATA接口的针脚数目,使连接电缆数目变少,效率也会更高。实际上,Serial ATA 仅用四只针脚就能完成所有的工作,分别用于连接电缆、连接地线、发送数据和接收数据,同时这样的架构还能降低系统能耗和减小系统复杂性。
Serial ATA的起点更高、发展潜力更大,Serial ATA 1.0定义的数据传输率可达150MB/s,这比目前最新的并行ATA(即ATA/133)所能达到133MB/s的最高数据传输率还高,而在Serial ATA 2.0的数据传输率达到300MB/s,最终SATA将实现600MB/s的最高数据传输率。
4.光纤通道
光纤通道(FC)和SCIS接口一样,最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等。光纤通道是为像服务器这样的多硬盘系统环境而设计,能满足高端工作站、服务器、海量存储子网络、外设间通过集线器、交换机和点对点连接进行双向、串行数据通信等系统对高数据传输率的要求。
从整体的角度上看,硬盘接口分为IDE、SATA、SCSI和光纤通道四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器;SCSI接口的硬盘则主要应用于服务器市场;而光纤通道只在高端服务器上,价格昂贵;SATA是种新生的硬盘接口类型,还正处于市场普及阶段,在家用市场中有着广泛的前景。在IDE和SCSI的大类别下,又可以分出多种具体的接口类型,又各自拥有不同的技术规范,具备不同的传输速度,比如ATA100和SATA;Ultra160 SCSI和Ultra320 SCSI都代表着一种具体的硬盘接口,各自的速度差异也较大。
应用从服务器、存储走向PC
RAID技术有两大特点:一是速度快,二是安全。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区、格式化等。对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。由于这两项优点,RAID技术早期被应用于服务器中的SCSI接口的硬盘系统中。随着近年计算机技术的发展,PC机的CPU的速度已进入GHz 时代。IDE接口的硬盘也不甘落后,相继推出了ATA66和ATA100硬盘。这就使得RAID技术被应用于中低档服务器甚至个人PC上成为可能。
RAID技术自诞生以来,在高端的服务器领域就有着广泛的应用,为各行业的关键数据保驾护航,虽然近些年来已经开始向个人PC市场拓展,但是目前还是主要应用在高端计算应用领域。
近年来高性能计算应用日趋普及,随着全球经济一体化和信息化的高度发展,各行各业,尤其是大型的科研应用和互联网应用,数据量呈现指数级的增长,海量的关键数据的安全成为高端服务器应用的核心部分,RAID技术在服务器领域的地位日益的重要。因此,现在的服务器产品在RAID技术方面都投入了很大的精力。服务器厂商在设计服务器产品的时候,也基本上都将RAID技术作为产品的标准参数。
而随着网络存储的发展,RAID被广泛地应用在各种存储系统中。企业推出的各种存储系统更是五花八门。不过,我们可以小结其发展特点。一是速度不断提高,FC与iSCSI在性能上的竞争,让存储系统的性能不断攀升;二是成本不断降低,单位存储的成本不断降低;安全性与管理性不断提高。这些都为网络存储的发展奠定了坚实的基础。
小资料:RAID的优势
● 扩大了存储能力 可由多个硬盘组成容量巨大的存储空间。
● 降低了单位容量的成本 市场上最大容量的硬盘每兆容量的价格要大大高于普及型硬盘,因此采用多个普及型硬盘组成的阵列,其单位价格要低得多。
● 提高了存储速度 单个硬盘速度的提高均受到各个时期的技术条件限制,要更进一步往往是很因难的。而使用RAID,则可以让多个硬盘同时分摊数据的读或写操作,因此整体速度有成倍的提高。
● 可靠性 RAID系统可以使用两组硬盘,同步完成镜像存储,这种安全措施对于网络服务器来说是最重要不过的了。
● 容错性 RAID控制器的一个关键功能就是容错处理。容错阵列中如有单块硬盘出错,不会影响到整体阵列继续使用,高级RAID控制器还具有拯救功能。
● 支持IDE RAID目前还有一个功能就是支持ATA/66/100。RAID也分为SCSI RAID和IDE RAID两类,当然IDE RAID要廉价得多。如果主机主板不支持ATA/66/100硬盘,那么通过RAID卡,则能够使用上新硬盘的ATA/66/100功能。
