RAID技术入门详解.doc_第1页
RAID技术入门详解.doc_第2页
RAID技术入门详解.doc_第3页
RAID技术入门详解.doc_第4页
RAID技术入门详解.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RAID技术入门详解随着计算机应用的日益普及,人们对计算速度和性能的要求也逐渐提高。在一个完整的计算机系统中,CPU和内存的作用固然重要,但是数据存储设备性能的好坏和速度的快慢也直接影响到整个系统的表现。本文所要讲解的RAID技术起初主要应用于服务器高端市场,但是随着个人用户市场的成熟和发展,正不断向低端市场靠拢,从而为用户提供了一种既可以提升硬盘速度,又能够确保数据安全性的良好的解决方案。本文将对RAID技术进行较为详细的介绍,希望能够对广大读者有所帮助。 入门基础RAID是英文Redundant Array of Inexpensive Disks的缩写,中文简称为磁盘阵列。其实,从RAID的英文原意中,我们已经能够多少知道RAID就是一种由多块廉价磁盘构成的冗余阵列。虽然RAID包含多块磁盘,但是在操作系统下是作为一个独立的大型存储设备出现。RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。人们在开发RAID时主要是基于以下设想,即几块小容量硬盘的价格总和要低于一块大容量的硬盘。虽然目前这一设想还没有成为现实,RAID在节省成本方面的作用还不是很明显,但是RAID可以充分发挥出多块硬盘的优势,实现远远超出任何一块单独硬盘的速度和吞吐量。除了性能上的提高之外,RAID还可以提供良好的容错能力,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。RAID 0我们在前文中已经提到RAID分为几种不同的等级,其中,RAID 0是最简单的一种形式。RAID 0可以把多块硬盘连接在一起形成一个容量更大的存储设备。最简单的RAID 0技术只是提供更多的磁盘空间,不过我们也可以通过设置,使用RAID 0来提高磁盘的性能和吞吐量。RAID 0没有冗余或错误修复能力,但是实现成本是最低的。RAID 0最简单的实现方式就是把几块硬盘串联在一起创建一个大的卷集。磁盘之间的连接既可以使用硬件的形式通过智能磁盘控制器实现,也可以使用操作系统中的磁盘驱动程序以软件的方式实现。图示如下:在上述配置中,我们把4块磁盘组合在一起形成一个独立的逻辑驱动器,容量相当于任何任何一块单独硬盘的4倍。如图中彩色区域所示,数据被依次写入到各磁盘中。当一块磁盘的空间用尽时,数据就会被自动写入到下一块磁盘中。这种设置方式只有一个好处,那就是可以增加磁盘的容量。至于速度,则与其中任何一块磁盘的速度相同,这是因为同一时间内只能对一块磁盘进行I/O操作。如果其中的任何一块磁盘出现故障,整个系统将会受到破坏,无法继续使用。从这种意义上说,使用纯RAID 0方式的可靠性仅相当于单独使用一块硬盘的1/4(因为本例中RAID 0使用了4块硬盘)。虽然我们无法改变RAID 0的可靠性问题,但是我们可以通过改变配置方式,提供系统的性能。与前文所述的顺序写入数据不同,我们可以通过创建带区集,在同一时间内向多块磁盘写入数据。具体如图所示:上图中,系统向逻辑设备发出的I/O指令被转化为4项操作,其中的每一项操作都对应于一块硬盘。我们从图中可以清楚的看到通过建立带区集,原先顺序写入的数据被分散到所有的四块硬盘中同时进行读写。四块硬盘的并行操作使同一时间内磁盘读写的速度提升了4倍。在创建带区集时,合理的选择带区的大小非常重要。如果带区过大,可能一块磁盘上的带区空间就可以满足大部分的I/O操作,使数据的读写仍然只局限在少数的一、两块硬盘上,不能充分的发挥出并行操作的优势。另一方面,如果带区过小,任何I/O指令都可能引发大量的读写操作,占用过多的控制器总线带宽。因此,在创建带区集时,我们应当根据实际应用的需要,慎重的选择带区的大小。我们已经知道,带区集可以把数据均匀的分配到所有的磁盘上进行读写。如果我们把所有的硬盘都连接到一个控制器上的话,可能会带来潜在的危害。这是因为当我们频繁进行读写操作时,很容易使控制器或总线的负荷超载。为了避免出现上述问题,建议用户可以使用多个磁盘控制器。示意图如下:这样,我们就可以把原先控制器总线上的数据流量降低一半。当然,最好解决方法还是为每一块硬盘都配备一个专门的磁盘控制器。RAID 1虽然RAID 0可以提供更多的空间和更好的性能,但是整个系统是非常不可靠的,如果出现故障,无法进行任何补救。所以,RAID 0一般只是在那些对数据安全性要求不高的情况下才被人们使用。RAID 1和RAID 0截然不同,其技术重点全部放在如何能够在不影响性能的情况下最大限度的保证系统的可靠性和可修复性上。RAID 1是所有RAID等级中实现成本最高的一种,尽管如此,人们还是选择RAID 1来保存那些关键性的重要数据。RAID 1又被称为磁盘镜像,每一个磁盘都具有一个对应的镜像盘。对任何一个磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据。显然,磁盘镜像肯定会提高系统成本。因为我们所能使用的空间只是所有磁盘容量总和的一半。下图显示的是由4块硬盘组成的磁盘镜像,其中可以作为存储空间使用的仅为两块硬盘(画斜线的为镜像部分)。RAID 1下,任何一块硬盘的故障都不会影响到系统的正常运行,而且只要能够保证任何一对镜像盘中至少有一块磁盘可以使用,RAID 1甚至可以在一半数量的硬盘出现问题时不间断的工作。当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据。通常,我们把出现硬盘故障的RAID系统称为在降级模式下运行。虽然这时保存的数据仍然可以继续使用,但是RAID系统将不再可靠。如果剩余的镜像盘也出现问题,那么整个系统就会崩溃。因此,我们应当及时的更换损坏的硬盘,避免出现新的问题。 更换新盘之后,原有好盘中的数据必须被复制到新盘中。这一操作被称为同步镜像。同步镜像一般都需要很长时间,尤其是当损害的硬盘的容量很大时更是如此。在同步镜像的进行过程中,外界对数据的访问不会受到影响,但是由于复制数据需要占用一部分的带宽,所以可能会使整个系统的性能有所下降。因为RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。下图示意了使用两个控制器的磁盘镜像。使用两个磁盘控制器不仅可以改善性能,还可以进一步的提高数据的安全性和可用性。我们已经知道,RAID 1最多允许一半数量的硬盘出现故障,所以按照我们上图中的设置方式(原盘和镜像盘分别连接不同的磁盘控制),即使一个磁盘控制器出现问题,系统仍然可以使用另外一个磁盘控制器继续工作。这样,就可以把一些由于意外操作所带来的损害降低到最低程度。RAID 0+1单独使用RAID 1也会出现类似单独使用RAID 0那样的问题,即在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,我们可以在磁盘镜像中建立带区集。因为这种配置方式综合了带区集和镜像的优势,所以被称为RAID 0+1。热插拔一些面向高端应用的磁盘镜像系统都可以提供磁盘的热插拔功能。所谓热插拔功能,就是允许用户在不关闭系统,不切断电源的情况下取出和更换损害的硬盘。如果没有热插拔功能,即使磁盘损坏不会造成数据的丢失,用户仍然需要暂时关闭系统,以便能够对硬盘进行更换。现在,使用热插拔技术只要简单的打开连接开关或者转动手柄就可以直接取出硬盘,而系统仍然可以不间断的正常运行。校验RAID 3和RAID 5都分别使用了校验的概念提供容错能力。简单的说,我们可以把校验想象为一种二进制的校验和,一个可以告诉你其它所有字位是否正确的特殊位。 在数据通信领域,奇偶校验被用来确定数据是否被正确传送。例如,对于每一个字节,我们可以简单计算数字位1的个数,并在字节内加入附加校验位。在数据的接收方,如果数字位1的个数为奇数,而我们使用的又是奇数校验的话,则说明该字节是正确的。同样对偶数校验也是如此。然而,如果数字位1的个数和校验位的奇偶性不一致的话,则说明数据在传送过程中出现了错误。RAID系统也采用了相似的校验方法,可以在磁盘系统中创建校验块,校验块中的每一位都用来对其它关联块中的所有对应位进行校验。在数据通讯领域,虽然校验位可以告诉我们某个字节是否正确,但是无法告诉我们到底是哪一位出现了问题。这就是说我们可以检测错误,但是不能改正错误。对于RAID,这是远远不够的。固然错误的检测非常重要,但是如果不能对错误进行修复,我们就无法提高整个系统的可靠性。举个例子来说,假设我们发现校验块中第10个字节的第5位不正确。如果这个校验块包含的是另外8个数据块的校验信息,那么哪一个数据块才是问题的罪魁祸首呢?也许你可能会想为每一个数据块都建立一个校验块就可以解决问题。但是这种方法很难实现。事实上,RAID主要是借助磁盘控制器的错误报告检测错误位置,并进行修复。如果磁盘控制器在读取数据时没有发出任何“抱怨”,那么系统将会视该数据为正确数据,继续使用。 RAID 3RAID 3采用的是一种较为简单的校验实现方式,使用一个专门的磁盘存放所有的校验数据,而在剩余的磁盘中创建带区集分散数据的读写操作。例如,在一个由4块硬盘构成的RAID 3系统中,3块硬盘将被用来保存数据,第四块硬盘则专门用于校验。这种配置方式可以用3+1的形式表示,具体如图:在上图中,我们用相同的颜色表示使用同一个校验块的所有数据块,斜线标出的部分为校验块。校验块和所有对应的数据块一起构成一个带区。第四块硬盘中的每一个校验块所包含的都是其它3块硬盘中对应数据块的校验信息。RAID 3的成功之处就在于不仅可以象RAID 1那样提供容错功能,而且整体开销从RAID 1的50%下降为25%(RAID 3+1)。随着所使用磁盘数量的增多,成本开销会越来越小。举例来说,如果我们使用7块硬盘,那么总开销就会将到12.5%(1/7)。在不同情况下,RAID 3读写操作的复杂程度不同。最简单的情况就是从一个完好的RAID 3系统中读取数据。这时,只需要在数据存储盘中找到相应的数据块进行读取操作即可,不会增加任何额外的系统开销。当向RAID 3写入数据时,情况会变得复杂一些。即使我们只是向一个磁盘写入一个数据块,也必须计算与该数据块同处一个带区的所有数据块的校验值,并将新值重新写入到校验块中。例如,当我们向上图中的绿色数据块写入数据时,必须重新计算所有3个绿色数据块的校验值,然后重写位于第四块硬盘的绿色校验块。由此我们可以看出,一个写入操作事实上包含了数据读取(读取带区中的关联数据块),校验值计算,数据块写入和校验块写入四个过程。系统开销大大增加。我们可以通过适当设置带区的大小使RAID系统得到简化。如果某个写入操作的长度恰好等于一个完整带区的大小(全带区写入),那么我们就不必再读取带区中的关联数据块计算校验值。我们只需要计算整个带区的校验值,然后直接把数据和校验信息写入数据盘和校验盘即可。到目前为止,我们所探讨的都是正常运行状况下的数据读写。下面,我们再来看一下当硬盘出现故障时,RAID系统在降级模式下的运行情况。RAID 3虽然具有容错能力,但是系统会受到影响。当一块磁盘失效时,该磁盘上的所有数据块必须使用校验信息重新建立。如果我们是从好盘中读取数据块,不会有任何变化。但是如果我们所要读取的数据块正好位于已经损坏的磁盘,则必须同时读取同一带区中的所有其它数据块,并根据校验值重建丢失的数据。当我们更换了损坏的磁盘之后,系统必须一个数据块一个数据块的重建坏盘中的数据。整个过程包括读取带区,计算丢失的数据块和向新盘写入新的数据块,都是在后台自动进行。重建活动最好是在RAID系统空闲的时候进行,否则整个系统的性能会受到严重的影响。RAID 3的性能问题除了我们在上文讨论过的有关数据写入和降级模式的问题之外,在使用RAID 3的过程中还有其他一些性能上的问题需要引起我们的注意。RAID 3所存在的最大一个不足同时也是导致RAID 3很少被人们采用的原因就是校验盘很容易成为整个系统的瓶颈。 我们已经知道RAID 3会把数据的写入操作分散到多个磁盘上进行,然而不管是向哪一个数据盘写入数据,都需要同时重写校验盘中的相关信息。因此,对于那些经常需要执行大量写入操作的应用来说,校验盘的负载将会很大,无法满足程序的运行速度,从而导致整个RAID系统性能的下降。鉴于这种原因,RAID 3更加适合应用于那些写入操作较少,读取操作较多的应用环境,例如数据库和WEB服务器等。RAID 5RAID 3所存在的校验盘的性能问题使几乎所有的RAID系统都转向了RAID 5。在运行机制上,RAID 5和RAID 3完全相同,也是由同一带区内的几个数据块共享一个校验块。RAID 5和RAID 3的最大区别在于RAID 5不是把所有的校验块集中保存在一个专门的校验盘中,而是分散到所有的数据盘中。RAID 5使用了一种特殊的算法,可以计算出任何一个带区校验块的存放位置。具体如图所示:注意图中的校验块已经被分散保存在不同的磁盘中,这样就可以确保任何对校验块进行的读写操作都会在所有的RAID磁盘中进行均衡,从而消除了产生瓶颈的可能。HIGHPOINT公司 ATA133 RAID 芯片PROMISE公司磁盘阵列术语汇编 2002-01-16 09:22:00 黄燕宏 天极硬件频道1 2 3 4 5 下一页目前,除了网络服务器普遍使用RAID外,一些厂商生产的PC机主板也逐步提供IDE RAID功能,这使我们普通PC机用户也能实际接触到RAID。了解以下这些磁盘阵列的术语,将有助于我们更好的配置自己的RAID并发挥其最优的性能。Array:阵列磁盘阵列模式是把几个磁盘的存储空间整合起来,形成一个大的单一连续的存储空间。NetRAID控制器利用它的SCSI通道可以把多个磁盘组合成一个磁盘阵列。简单的说,阵列就是由多个磁盘组成,并行工作的磁盘系统。需要注意的是作为热备用的磁盘是不能添加到阵列中的。Array Spanning:阵列跨越阵列跨越是把2个,3个或4个磁盘阵列中的存储空间进行再次整合,形成一个具有单一连续存储空间的逻辑驱动器的过程。NetRAID控制器可以跨越连续的几个阵列,但每个阵列必需由相同数量的磁盘组成,并且这几个阵列必需具有相同的RAID级别。就是说,跨越阵列是对已经形成了的几个阵列进行再一次的组合,RAID 1,RAID 3和RAID 5跨越阵列后分别形成了RAID 10,RAID 30和RAID 50。Cache Policy:高速缓存策略NetRAID控制器具有两种高速缓存策略,分别为Cached I/O(缓存I/O)和Direct I/O(直接I/O)。缓存I/O总是采用读取和写入策略,读取的时候常常是随意的进行缓存。直接I/O在读取新的数据时总是采用直接从磁盘读出的方法,如果一个数据单元被反复地读取,那么将选择一种适中的读取策略,并且读取的数据将被缓存起来。只有当读取的数据重复地被访问时,数据才会进入缓存,而在完全随机读取状态下,是不会有数据进入缓存的。Capacity Expansion:容量扩展在微软的Windows NT,2000或Novell公司的NetWare 4.2,5操作系统下,可以在线增加目前卷的容量。在Windows 2000或NetWare 5系统下,准备在线扩容时,要禁用虚拟容量选项。而在Windows NT或NetWare 4.2系统下,要使虚拟容量选项可用才能进行在线扩容。在NetRAID控制器的快速配置工具中,设置虚拟容量选项为可用时,控制器将建立虚拟磁盘空间,然后卷能通过重构把增加的物理磁盘扩展到虚拟空间中去。重构操作只能在单一阵列中的唯一逻辑驱动器上才可以运行,你不能在跨越阵列中使用在线扩容。Channel:通道在两个磁盘控制器之间传送数据和控制信息的电通路。Format:格式化在物理驱动器(硬盘)的所有数据区上写零的操作过程,格式化是一种纯物理操作,同时对硬盘介质做一致性检测,并且标记出不可读和坏的扇区。由于大部分硬盘在出厂时已经格式化过,所以只有在硬盘介质产生错误时才需要进行格式化。Hot Spare:热备用当一个正在使用的磁盘发生故障后,一个空闲、加电并待机的磁盘将马上代替此故障盘,此方法就是热备用。热备用磁盘上不存储任何的用户数据,最多可以有8个磁盘作为热备用磁盘。一个热备用磁盘可以专属于一个单一的冗余阵列或者它也可以是整个阵列热备用磁盘池中的一部分。而在某个特定的阵列中,只能有一个热备用磁盘。当磁盘发生故障时,控制器的固件能自动的用热备用磁盘代替故障磁盘,并通过算法把原来储存在故障磁盘上的数据重建到热备用磁盘上。数据只能从带有冗余的逻辑驱动器上进行重建(除了RAID 0以外),并且热备用磁盘必须有足够多的容量。系统管理员可以更换发生故障的磁盘,并把更换后的磁盘指定为新的热备用磁盘。Hot swap Disk Module:热交换磁盘模式热交换模式允许系统管理员在服务器不断电和不中止网络服务的情况下更换发生故障的磁盘驱动器。由于所有的供电和电缆连线都集成在服务器的底板上,所以热交换模式可以直接把磁盘从驱动器笼子的插槽中拔除,操作非常简单。然后把替换的热交换磁盘插入到插槽中即可。热交换技术仅仅在RAID 1,3,5,10,30和50的配置情况下才可以工作。I2O(Intelligent Input/Output):智能输入输出智能输入输出是一种工业标准,输入输出子系统的体系结构完全独立于网络操作系统,并不需要外部设备的支持。I2O使用的驱动程序可以分为操作系统服务模块(operating system services module,OSMs)和硬件驱动模块(hardware device modules,HDMs)。Initialization:初始化在逻辑驱动器的数据区上写零的操作过程,并且生成相应的奇偶位,使逻辑驱动器处于就绪状态。初始化将删除以前的数据并产生奇偶校验,所以逻辑驱动器在此过程中将一并进行一致性检测。没有经过初始化的阵列是不能使用的,因为还没有生成奇偶区,阵列会产生一致性检测错误。IOP(I/O Processor):输入输出处理器输入输出处理器是NetRAID控制器的指令中心,实现包括命令处理,PCI和SCSI总线的数据传输,RAID的处理,磁盘驱动器重建,高速缓存的管理和错误恢复等功能。Logical Drive:逻辑驱动器阵列中的虚拟驱动器,它可以占用一个以上的物理磁盘。逻辑驱动器把阵列或跨越阵列中的磁盘分割成了连续的存储空间,而这些存储空间分布在阵列中的所有磁盘上。NetRAID控制器能设置最多8个不同容量大小的逻辑驱动器,而每个阵列中至少要设置一个逻辑驱动器。输入输出操作只能在逻辑驱动器处于在线的状态下才运行。Logical Volume:逻辑卷由逻辑磁盘形成的虚拟盘,也可称为磁盘分区。Mirroring:镜像冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。RAID 1和RAID 10使用的就是镜像。Parity:奇偶校验位在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。它常常是从两个或更多的原始数据中产生一个冗余数据,冗余数据可以从一个原始数据中进行重建。不过,奇偶校验数据并不是对原始数据的完全复制。在RAID中,这种方法可以应用到阵列中的所有磁盘驱动器上。奇偶校验位还可以组成专用的奇偶校验方式,在专用奇偶校验中,奇偶校验数据可分布在系统中所有的磁盘上。如果一个磁盘发生故障,可以通过其它磁盘上的数据和奇偶校验数据重建出这个故障磁盘上的数据。Power Fail Safeguard:掉电保护当此项设置为可用时,在重构过程中(非重建),所有的数据将一直保存在磁盘上,直到重构完成后才删除。这样如果在重构过程中发生掉电,将不会发生数据丢失的危险情况。RAID:独立冗余磁盘阵列独立冗余磁盘阵列最初叫做廉价冗余磁盘阵列(Redundant Array of Inexpensive Disks),它是由多个小容量、独立的硬盘组成的阵列,而阵列综合的性能可以超过单一昂贵大容量硬盘(SLED)的性能。由于是对多个磁盘并行操作,所以RAID磁盘子系统与单一磁盘相比它的输入输出性能得到了提高。服务器会把RAID阵列看成一个单一的存储单元,并对几个磁盘同时访问,所以提高了输入输出的速率。RAID Levels:RAID级别RAID级别为不同冗余类型在逻辑驱动器上的应用。它可以提高逻辑驱动器的故障容许度和性能,但也会减少逻辑驱动器的可用容量,每个逻辑驱动器都必须指定一个RAID级别。RAID 1,3和5的逻辑驱动器使用了单一的阵列,附表1描述了它们的具体情况。简单地说,RAID 0是没有冗余,它可由一个或多个物理驱动器组成;RAID 1是镜像冗余,它在一个阵列中需要两个物理驱动器;RAID 3为专用奇偶校验冗余,即所有的冗余数据都存储在一个专用的磁盘上,一个阵列至少由三个物理驱动器组成;RAID 5为分散奇偶校验冗余,即阵列中的冗余数据分散存储在阵列中所有磁盘上,它的一个阵列中至少需要三个物理驱动器。RAID 10,30和50是逻辑驱动器跨越阵列而组成的。附表2描述了跨越磁盘阵列的情况。Read Policy:读取策略NetRAID控制器提供了三种读取策略,分别为Read-Ahead(预读),Normal(标准)和Adaptive(适中)。预读是在运行中,控制器不断的提前读取未被请求的数据,把它存储在内存中,并期望这些数据能被使用。预读可以更快的提供连续数据,当访问的是随机数据时效果就不佳了。标准策略不使用预读的方法,当读取的数据大部分为随机数据时,这个策略是最有效的。适中策略是当访问的最后两个磁盘上的数据存储在连续扇区上时,将采用预读的方法。Ready State:就绪状态就绪状态是一个可用的硬盘,它即不在线也不是热备用盘,并可以添加到任一个阵列中或者指定为热备用盘的这种硬盘状态。Rebuild:重建在RAID 1,3,5,10,30或50阵列中把一个故障盘上的所有数据再生到替换磁盘上的过程。磁盘重建过程中逻辑驱动器通常不会中断对其数据的访问请求。Rebuild Rate:重建率重建操作过程的速度。每个控制器都分配了重建率,它反映的是在重建操作中IOP资源使用的百分比。Reconstruct:重构在改变RAID级别后,对逻辑驱动器上的数据重新整理的过程。SCSI Disk Status:SCSI磁盘状态SCSI磁盘(物理驱动器)可以有以下五种状态,分别为Ready(就绪),未配置的加电可操作磁盘;Online(在线),配置过的加电可操作磁盘;Hot Spare(热备用),当一个磁盘出现故障时,准备使用的加电待用磁盘;Failed(故障),磁盘发生错误导致失效或用户利用NetRAID控制器实用程序使驱动器脱机的状态;Rebuilding(重建),磁盘正处于从一个或几个关键性逻辑驱动器上恢复数据的过程中。Stripe Size:条带容量在每个磁盘上连续写入数据的总量,也称作“条带深度”。你可以指定每个逻辑驱动器的条带容量从2KB,4KB,8KB一直到128KB。为了获得更高的性能,要选择条带的容量等于或小于操作系统的簇的大小。大容量的条带会产生更高的读取性能,尤其在读取连续数据的时候。而读取随机数据的时候,最好设定条带的容量小一点。如果指定128KB的条带将需要8MB内存。Striping:条带化条带化是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中不同磁盘上的方法。此技术非常有用,它比单个磁盘所能提供的读写速度要快的多,当数据从第一个磁盘上传输完后,第二个磁盘就能确定下一段数据。数据条带化正在一些现代数据库和某些RAID硬件设备中得到广泛应用。Virtual Sizing:虚拟容量当此设置生效后,对一个逻辑驱动器来说,控制器将报告逻辑驱动器的容量比实际的物理容量要大的多。“虚拟”空间可以允许在线扩容。Write policy:写入策略当处理器向磁盘上写入数据的时候,数据先被写入高速缓存中,并认为处理器有可能马上再次读取它。NetRAID有两种如下的写入策略:Write Back(回写),在回写状态下,数据只有在要被从高速缓存中清除时才写到磁盘上。随着主存读取的数据增加,回写需要开始从高速缓存中向磁盘上写数据,并把更新的数据写入高速缓存中。由于一个数据可能会被写入高速缓存中许多次,而没有进行磁盘存取,所以回写的效率非常高。Write Through(完全写入),在完全写入状态下,数据在输入到高速缓存时,它同时也被写到磁盘上。因为数据已经复制到磁盘上,所以在高速缓存中可以直接更改要替换的数据,因此完全写入要比回写简单的多。附表1RAID级别RAID 0RAID 1RAID 3RAID 5名称条带镜像专用校验条带分散校验条带允许故障否是是是冗余类型无副本校验校验热备用操作不可可以可以可以硬盘数量一个以上两个三个以上三个以上可用容量最大最小中间中间减少容量无50%一个磁盘一个磁盘读性能高(盘的数量决定)中间高高随机写性能最高中间最低低连续写性能最高中间低最低典型应用无故障的迅速读写允许故障的小文件、随机数据写入允许故障的大文件、连续数据传输允许故障的小文件、随机数据传输附表2RAID级别RAID 10RAID 30RAID 50名称跨越镜像阵列跨越专用校验阵列跨越分散校验阵列允许故障是是是冗余类型副本校验校验热备用操作可以可以可以磁盘数量跨越2个阵列46,8,10,12,14或166,8,10,12,14或16跨越3个阵列69,12或159,12或15跨越4个阵列812或1612或16可用容量最小中间中间减少容量50%每个阵列中一个磁盘每个阵列中一个磁盘读性能中间高高随机写性能中间最低低连续写性能中间低最低典型应用允许故障高速度小文件、随机数据写入允许故障高速度大文件、连续数据传输允许故障高速度小文件、随机数据传输另类RAID级别简介 2001-09-26 10:40:00 陈运迪 天极硬件频道在以前的文章里,我们已经介绍过RAID 0、1、3、5、7、10、30、50等、除了这些比较常用的RAID级别,还有一些虽有定义,但较少应用的RAID级别,这里我们也做一下简单的介绍。RAID 2,带海明码校验磁盘阵列RAID2是为大型机和超级计算机开发的。磁盘驱动器组中的第一个、第二个、第四个第2的n次幂个磁盘驱动器是专门的校验盘,用于校验和纠错,例如七个磁盘驱动器的RAID2,第一、二、四个磁盘驱动器是纠错盘,其余的用于存放数据。使用的磁盘驱动器越多,校验盘在其中占的百分比越少。RAID2对大数据量的输入输出有很高的性能,但少量数据的输入输出时性能不好。RAID2很少实际使用。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3,4或5要简单。但是利用海明码校验必须要付出数据冗余的代价。RAID4:带奇偶校验码的独立磁盘结构RAID4和RAID3很相似,不同的是RAID4对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。 RAID3是一次一横条,而RAID4一次一竖条。所以RAID3常须访问阵列中所有的硬盘驱动器,而RAID4只须访问有用的硬盘驱动器。这样读数据的速度大大提高了,但在写数据方面,需将从数据硬盘驱动器和校验硬盘驱动器中恢复出的旧数据与新数据通过异或运算,然后再将更新后的数据和检验位写入硬盘驱动器,所以处理时间较RAID3长。RAID6:带有两种分布存储的奇偶校验码的独立磁盘结构几乎没有进行商用。它使用一种分配在不同的驱动器上的第二种奇偶方案,扩展了RAID 5。它能承受多个驱动器同时出现故障,但是,性能尤其是写操作却很差,而且,系统需要一个极为复杂的控制器。当然由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。RAID53:高效数据传送磁盘结构RAID53结构的实施同Level 0数据条阵列,其中,每一段都是一个RAID 3阵列。它的冗余与容错能力同RAID 3。这对需要具有高数据传输率的RAID 3配置的系统有益,但是它价格昂贵、效率偏低。新一代RAID标准RAID 7 2001-09-12 09:54:00 xiamier 天极硬件频道我们已经介绍过各种RAID级别,除了以前介绍过的各种级别外,还有一种磁盘阵列新标准RAID 7。其实,RAID 7不仅仅是一种技术,还是一种存储计算机(Storage Computer)。因为它与RAID 0、1、5标准有明显区别,RAID 7自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID 7不仅具有更高的性能和卓越的存储管理能力,而且集普通RAID标准的所有优点于一身,因而RAID 7系统整体性能极佳。 RAID 7存储计算机操作系统(Storage Computer Operating System)是一套实时事件驱动操作系统,主要用来进行系统初始化和安排RAID 7磁盘阵列的所有数据传输,并把它们转换到相应的物理存储驱动器上。通过自身系统中的阵列电脑板来设定和控制读写速度,存储计算机操作系统可使主机I/O传递性能达到最佳。如果一个磁盘出现故障,还可自动执行恢复操作,并可管理备份磁盘的重建过程。 RAID 7突破了以往RAID标准的技术架构,采用了非同步访问,极大地减轻了数据写瓶颈,提高了I/O速度。所谓非同步访问,即RAID 7的每个I/O接口都有一条专用的高速通道,作为数据或控制信息的流通路径,因此可独立地控制自身系统中每个磁盘的数据存取。如果RAID 7有N个磁盘,那么除去一个校验盘(用作冗余计算)外,可同时处理N1个主机系统随机发出的读/写指令,从而显著地改善了I/O应用。RAID 7系统内置实时操作系统还可自动对主机发送过来的读/写指令进行优化处理,以智能化方式将可能被读取的数据预先读入快速缓存中,从而大大减少了磁头的转动次数,提高了I/O速度。RAID 7可帮助用户有效地管理日益庞大的数据存储系统,并使系统的运行效率提高至少一倍以上,满足了各类用户的不同需求。RAID之争:Promise VS. AMI2001-04-10 Star天极硬件频道1 2 3 4 5 6 下一页引言目前市场上销售的RAID控制卡可以划分为两大类:一类卡上集成专门的RISC处理器,完全通过硬件实现RAID功能,被称为硬件RAID控制卡,代表产品包括SuperTrak100和Escalade 6400等;另外一种控制卡本身不含有处理器,所有RAID计算全部由系统CPU来完成,被称为固件RAID控制卡。固件RAID卡的价格相对便宜一些,一般都在100美圆以下。今天,我们将向大家介绍目前市场上最为流行的两款固件RAID卡,分别是Promise FastTrak100和AMI MegaRAID IDE100。Promise FastTrak100FastTrak系列产品无疑是目前市场上应用最为广泛的RAID控制卡。凭借FastTrak的成功,Promise在过去几年当中占据了整个ATA RAID市场90%以上的份额。不久之间刚刚发布的FastTrak100是FastTrak系列的最新产品,采用Promise ATA-100 ASIC芯片,支持ATA-100传输协议。FastTrak100控制卡的主要技术规格如下: 支持RAID 0、1和0+1模式,支持JBOD技术(可以将多块硬盘串联成一块硬盘使用) 提供2条ATA通道,最多可以连接4台ATA-100设备 支持Hot Spare(热备份)功能 可调节带区大小,调节范围1K1MB 支持S.M.A.R.T.功能 可通过自动复制现有磁盘数据轻松升级到RAID 1模式 支持BIOS启动规范(BBS) 支持DOS/Win3.1/9x/ME/NT/2000操作系统FaskTrak 100控制卡采用的FastBuild BIOS功能强大,可以创建或删除磁盘阵列,查看磁盘信息。RAID 0模式对磁盘数量没有具体限制,RAID 1模式要求至少有两块硬盘,而RAID 0+1模式则要求必须同时连接4块硬盘。FaskTrak 100可以对磁盘带区的大小进行调节,带区容量最小为1K,最大可以达到1MB。此外,根据使用需要,用户可以将任意一块硬盘设置为系统启动盘。FaskTrak 100能够在现有磁盘系统的基础上直接进行升级,通过自动备份当前数据建立磁盘镜像。这一特点对于那些希望为系统增加冗余备份功能的用户来说非常方便。FastTrak 100控制卡自带的FastCheck工具可以允许用户在Windows操作系统当中对磁盘阵列进行监控和配置。用户使用FastCheck可以查看磁盘系统的详细信息,执行同步镜像,配置各种RAID功能和参数等。FastCheck界面友好,操作简便,极大的简化了用户日常的管理和维护工作。AMI MegaRAID IDE100AMI公司生产的MegaRAID系列控制卡与FastTrak一样,主要也是面向低端ATA RAID市场。虽然MegaRAID不象FastTrak那样出名,但是在最近几年当中取得了长足的发展,已经逐渐成为FastTrak最主要的竞争对手。MegaRAID IDE100是AMI去年6月份推出的MegaRAID系列最新产品,主要技术规格如下: 支持RAID 0、1和0+1模式,支持JBOD技术 提供2条ATA通道,最多可以连接4台ATA-100设备 支持Hot Spare(热备份)功能 可调节带区大小,调节范围32K4MB 支持BIOS启动规范(BBS) 支持S.M.A.R.T.功能 支持DOS/Win 9x/NT/2000/Red Hat Linux 6.1 & 6.2操作系统与FastTrak一样,MegaRAID IDE100控制卡所采用的BIOS可以允许用户查看、创建或删除磁盘阵列。带区的调节范围是从32K到4MB。MegaRAID IDE100控制卡附带提供的HyperDisk Console软件工具可以用来显示控制卡、驱动程序以及磁盘系统的各种信息。此外,用户也可以通过HyperDisk Console对磁盘阵列系统进行各种管理和配置操作。HyperDisk Console还具有日志记录功能,可以记录下磁盘系统所出现的各种错误或异常情况,供用户日后查阅和使用。对比评测为了便于对两款控制卡的性能进行对比,我们将磁盘带区的大小统一设定为64K。FastTrak采用1.30版(Build 33)驱动,BIOS版本号为1.30(Build 12);MegaRAID采用2.40版驱动,BIOS版本号为2.410。WinBench性能首先,我们测试单块硬盘的性能,并将其与稍后得出的RAID系统的性能进行对比。具体结果如下: 从上述测试结果中可以发现MegaRAID控制卡对系统CPU的资源占用率较高,超过FastTrak将近2个百分点。WinBench RAID 0性能 在商用磁盘测试项中,两块控制卡在RAID 0模式下的性能与单硬盘模式下的性能几乎没有任何差别。不过,在高端磁盘测试中,RAID 0模式在性能上的优势逐渐显露出来。在持续传输速率方面,当硬盘由2块扩到3块时,速度的增幅较为明显。不过,当硬盘从3块扩到4块时,速度几乎没有什么改变。FastTrak控制卡的最高持续传输速率为80MB/sec,而MegaRAID控制卡所能支持的最高传输速率为76MB/sec。在对CPU的资源占用方面,FastTrak的性能平均优于MegaRAID大约1.50-1.75%。WinBench RAID 1性能 在RAID 1模式下,MegaRAID控制卡的性能并没有任何提高,说明MegaRAID无法将多项请求在不同的磁盘之间进行有效分配。不过,MegaRAID主要是面向低端市场,所以我们的要求也不能太高。Fastrak控制卡在平均访问时间一项中取得了较好成绩,这主要是因为Fastrak能够将访问负载在多块磁盘之间进行均衡,无疑降低了访问请求的等待时间。WinBench RAID 0+1性能 RAID 0+1模式下,MegaRAID虽然在商用磁盘测试中的成绩不是很理想,但是在高端磁盘测试中的有所突破,成绩提高了2倍多。与MegaRAID相比,FastTrak除了在访问时间和CPU资源占用两方面略好一些之外,其它各项成绩都有所差距。结论从测试成绩可以看出,FastTrak和MegaRAID的性能并没有太多值得称道之处。不过,考虑到价格上优势,其性价比还是不错的。很难讲FastTrak与MegaRAID到孰优孰劣,建议用户今后选购RAID控制卡时多考虑自己所需要使用的RAID模式以及将来磁盘系统的工作负荷,从而做出合理的选择。下表总结了各个RAID级的特征: RAID级特征RAID级*RAID-0RAID-1RAID-3RAID-5RAID-10RAID-30RAID-50别名条带镜象专用奇偶位条带分布奇偶位条带镜象阵列条带专用奇偶阵列条带分布奇偶阵列条带容错性没有有有有有有有冗余类型没有复制奇偶位奇偶位复制奇偶位奇偶位热备盘选项没有有有有有有有需要的磁盘数一个或多个只需2个三个或更多三个或更多只需4个6,8,10,12,14,166,8,10,12,14,16可用容量总的磁盘的容量只能用磁盘容量的50%(n-1)/n的磁盘容量。其中n为磁盘数(n-1)/n的总磁盘容量。其中n为磁盘数磁盘容量的50%n-2/2的磁盘容量。其中n为磁盘数目n-2/n的磁盘容量。其中n为磁盘数独立磁盘冗余阵列(RAID)技术 2000-11-27 00:00:00 袁定伟 YESKY1 2 下一页独立磁盘冗余阵列(RAID)是在服务器等级用于高容量数据存储的公用系统。RAID系统使用许多小容量磁盘驱动器来存储大量数据,并且使可靠性和冗余度得到增强。对计算机来说,这样一种阵列就如同由多个磁盘驱动器构成的一个逻辑单元。RAID存储的方式多种多样。某些类型的RAID强调性能,某些则强调可靠性、容错或纠错能力。因此,可根据要完成的任务来选择类型。不过,所有的RAID系统共同的特点也是其真正的优点则是“热交换”能力:用户可以取出一个存在缺陷的驱动器,并插入一个新的予以更换。对大多数类型的RAID来说,不必中断服务器或系统,就可以自动重建某个出现故障的磁盘上的数据。RAID并非保护大量数据的唯一途径,但是,常规的备份和镜像软件速度较慢,而且,如果一个驱动器出现故障,则往往需要中断系统。即使磁盘不导致服务器中断,IT工作人员仍需要断掉服务器来更换驱动器。相反,RAID利用镜像或奇偶信息来从剩余的驱动器重建数据,不必中断系统。Level0、3和5是三种最常见的RAID实施方式:RAIDLevel0即数据分割,是最基本的方式。在一个普通硬盘驱动器上,数据被存储在同一张盘的连续扇区上。RAID0至少使用两个磁盘驱动器,并将数据分成从512字节到数兆字节的若干块,这些数据块被交替写到磁盘中。第1段被写到磁盘1中,第2段被写到磁盘2中,如此等等。当系统到达阵列中的最后一个磁盘时,就写到磁盘1的下一分段,以下如此。分割数据将IO负载平均分配到所有的驱动器。由于驱动器可以同时写或读,性能得以显著提高。但是,它却没有数据保护能力。如果一个磁盘出故障,数据就会丢失。RAID0不适用于关键任务环境,但是,它却非常适合于视频生产和编辑或图像编辑。RAIDLevel3包括数据分割,另外,它还指定一个驱动器来存储奇偶信息。这就提供了某种容错功能,在数据密集型环境或单一用户环境中尤其有益于访问较长的连续记录。RAID3需要同步主轴驱动器来预防较短记录的性能下降。RAIDLevel5类似于Level0,但是它不是将数据分成块,而是将每个字节的位拆分到多个磁盘。这样会增加管理费用,但是,如果一个磁盘出现故障,则它可以更换,数据可以从奇偶和纠错码中重建。RAID5包括所有的读写运行。它需要三到五个磁盘来组成阵列,最适合于不需要关键特性或几乎不进行写操作的多用户系统其它不常见的RAID类型:RAID

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论