磁盘阵列

  磁盘阵列是通过硬件或管理软件将两个或更多的硬盘结合在一起,对于服务器而言是一个或多个逻辑硬盘。计算机所能看到就是存储空间和剩余的可用空间,不能看到存储空间是如何在磁盘上存放。通常我们使用SCSI 磁盘做磁盘阵列,目前IDE 设备也可以采用阵列技术,但技术水平仍然较低,所以多用于低端的客户机或低端服务器使用。从性能角度考虑,最好不要在阵列中将多种SCSI 设备混合使用。通过使用惠普的磁盘阵列卡可以配置出各种RAID 盘,也可以使用部分网络操作系统实现阵列的配置,但由于运行阵列软件需要占用大量的CPU 和内存资源,所以软件阵列会使服务器的性能降低很多。为什么要使用磁盘阵列?  在评价一个服务器的性能的时候,我我们经常使用一个概念就是木桶原则,在中国南方常用一种木制的水桶,一个木桶一般采用几木板拼接而成,如果将这个概念引入到服务器中时可以认为计算机的各部分组件是木桶的各块板子,如果木桶的板子高低不同时,决定这个木桶的最高水位却是由最低的木板决定。因此在网络服务器的性能评定时,所有部件中性能最低的设备决定了服务器的最高性能。那么哪些设备性能较低呢?现在,我们来分析一下一个网络服务器在运行过程中核心组件的性能参数,INTEL PⅢ CPU 1000MB/SSDRAM 内存800MB/SAGP 显卡532~1000MB/S硬盘80MB/S  从上面的列表中可以看出,硬盘是网络服务器瓶颈所在,许多人也都有这种感觉,当我们使用鼠标点击某个应用程序时,屏幕上出现一个小沙漏,硬盘的红灯不停的闪烁,这是因为我们需要大量的从硬盘读取的相应的程序或数据,而今天硬盘读写速度限制了我们的程序的快速执行。为什么会这样呢?因为今天我们无论使用IDE 硬盘还是普通的SCSI硬盘,在每一时刻只能对计算机内部的一块硬盘进行读或者写的操作,现在的硬盘理论上可以支持到每秒80MB 的速率,但在实际运行时往往是达不到的,较好的情况下恒定读写速率可以达到每秒20MB 左右,这已经是一个非常理想的指标了,但与CPU 和内存的IO速率相比是在是太低了。那有没有解决的办法呢?硬件阵列  普通的SCSI 卡在每一时刻只能对一块硬盘读写,有没有可以同时对多块硬盘的读写的SCSI 控制卡呢?有,惠普公司所提供的NetRAID 阵列卡就是性能卓越,功能强大的阵列卡,通过惠普的阵列卡可以同时对多达几十块硬盘进行读写,普通的SCSI 卡只能提供512KB 的高速缓存,而惠普的阵列可以配置16~256MB 的高速缓存,与传统的SCSI 卡相比,性能提供了数十倍,通过实际测试,效果惊人。而且惠普阵列卡还提供硬盘损坏时数据自动恢复功能,当硬盘容量不够时,可以在网络操作系统运行的状态下直接带电插入一块新的硬盘,并将新插入的硬盘动态添加到原有的磁盘阵列当中,实现在线容量扩充。惠普的NetRAID 阵列还有多种强大的功能,在此不作详细赘述。  通过上面介绍我们有了解决硬盘子系统性能较低的解决方案,实际上,使用磁盘阵列技术还有另外一个重要的原因,那就是通过磁盘阵列可以有效实现数据冗余,通过磁盘阵列技术可以将数据以镜像或校验的方式存贮起来,一旦磁盘阵列中的某块硬盘出现了故障,其余的硬盘仍然可以将保存的数据恢复出来。总结磁盘阵列优势就是:  最大限度的提高磁盘子系统的IO 性能  为服务器提供数据冗余硬件阵列组成:阵列卡+硬盘软件阵列  软件阵列是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI 卡上的多块硬盘配置成逻辑盘,软件阵列可以提供数据冗余,但硬盘子系统的性能会有所降低。目前Windows NT、NetWare、Linux 几种操作系统都可以提供软件阵列功能,其中WindowsNT 可以提供RAID0、RAID1、RAID5。NetWare 操作系统可以实现RAID1 功能。  分析一下软件阵列的工作原理就可以了解软件阵列的优点与缺点,当我们使用软件阵列将硬盘配置RAID1 或RAID5 时,数据以镜像或校验方式存贮,当某块硬盘出现故障,存贮在RAID 盘中数据仍然不会丢失,保障了数据的安全。由于软件阵列使用普通SCSI卡,几乎所有的网络服务器都可以使用软件阵列配置,软件随网络操作系统免费提供,配置软件阵列时,只需另外添加相同的硬盘即可实现,因此,软件阵列实现成本低,配置简单方便,易于使用。  软件阵列的缺点是要实现软件阵列需要执行相应的磁盘管理程序,过去对一块硬盘进行操作,而现在需要对更多的硬盘的进行操作,因此需要占用网络服务器的CPU 及内存资源,同时为了保证数据的同步,需要额外增加数据校验的步骤,因此服务器在硬盘子系统的整体性能比单一硬盘要有所下降,服务器还需要额外提供CPU 和内存资源供磁盘管理工具使用,因此服务器的整体性能下降了大约20~30%。同时软件阵列还不具有硬件阵列的在线扩容、动态修改盘阵级别,自动数据恢复等诸多功能。我们说,软件阵列是用性能换安全。软件阵列组成:服务器的SCSI 卡+硬盘+操作系统阵列程序物理硬盘物理硬盘即物理驱动器。惠普目前所提供的硬盘有9GB、18GB、36GB 和72GB 多种
容量。逻辑硬盘逻辑硬盘是由物理硬盘的一部分或多个物理硬盘结合在一起组成的。通过操作系统几个物理硬盘可以分成两个逻辑硬盘,如C:盘和D:盘。或将两个物理硬盘组成一个更大的逻辑硬盘。逻辑硬盘可作为物理盘的一部分可以将一个物理硬盘可分成多个逻辑盘,并指明驱动盘符和容量大小。这样一个物理盘可以被分成多个盘符和不同的容量。逻辑硬盘可以由多个物理盘组成可以将多个物理盘可结合在一起组成一个大的逻辑盘。对于操作系统来说,它不能区分物理盘和逻辑盘,它认为是一样的。通过逻辑盘的技术能实现磁盘吞吐量增大或磁盘冗余。RAID 阵列技术特点RAID 0 条带存储(Striping):  将数据分散防止在阵列的各个硬盘上,每个硬盘均存贮不同的数据,具有最大数据存储容量; 低成本; 速度很快,但没有数据冗余。RAID0 是一个比较特殊的磁盘阵列,通常用于不要求数据有冗余,但要求磁盘阵列的性能较高时使用。例如,临时存放数据。转存数据库,为满足高速访问而设置的临时数据库等。RAID 1 镜像/双工(Mirroring / Duplexing):  RAID1 采用两块硬盘互为镜像,每块硬盘存贮的数据均与另一块相同。当一块硬盘出现故障时,另一块硬盘继续工作,保障系统的继续运行。具有最大冗余; 快速恢复的功能,但成本较高。存贮容量为一块硬盘的容量。适合于作操作系统,要求安全的数据存贮。RAID 3 (条带分布+专用盘校验):  RAID3 使用至少三块硬盘配置,在其中的一块硬盘上存贮专用的校验数据,当某块硬盘出现故障时,其它硬盘可以通过校验数据将有故障的硬盘的数据重新恢复出来,由于使用一块硬盘作为校验使用,所以实际可以使用的硬盘容量为N-1。RAID3 在高可用性、成本、性能间获得平衡,由于需要计算校验数据会导致速度稍慢,要求3 块硬盘或更多。RAID 5 (条带技术+ 分布式校验):  RAID5 使用至少三块硬盘配置,与RAID3 所不同的是,RAID5 将所有校验的数据分别存贮在所有的硬盘上,每一个硬盘的不同地方既存贮数据,也存贮校验数据。当某块硬盘出现故障时,其它硬盘可以通过校验数据将故障的硬盘的数据重新恢复出来,由于所有校验数据要使用一块硬盘的容量作为校验使用,所以实际可以使用的硬盘容量为N-1。RAID5在高可用性、成本、性能间获得平衡,由于计算校验导致速度稍慢; 但比使用RAID 3 稍好。要求3 块硬盘或更多。RAID 10 (Striping of Mirrored Arrays):  RAID10 是由惠普独家提供的特殊的磁盘阵列,它是建立在RAID1 和RAID0 的基础上而形成的。使用四块或六块、八块硬盘。每两块硬盘作RAID1,然后将形成的低级阵列重新组合作RAID0。这样,RAID10 可以在多数情况下,两个硬盘同时损坏仍然可以继续工作,所以容错能力大大提高。由于采用多个阵列组合,冗余的硬盘也增加为两个,所以有效使用的容量为N-2。容量大于RAID 1,成本较高。RAID 30 (Striping of Dedicated Parity Arrays):  RAID30 是由惠普独家提供的特殊的磁盘阵列,它是建立在RAID3 和RAID0 的基础上而形成的。使用6、8、10、12、14、16、32 块硬盘。先使用3 块或更多的硬盘作RAID3,然后将形成的低级阵列重新组合作RAID0。这样,RAID30 可以在多数情况下,两个硬盘同时损坏仍然可以继续工作,所以容错能力大大提高。由于采用多个阵列组合,冗余的硬盘也增加为两个,所以有效使用的容量为N-2。容量较高,硬盘的读的性能较高,适合作为检索服务器等要求读性能较高的系统使用,成本较高。RAID 50 (Striping of Distributed Parity Arrays):  RAID50 是由惠普独家提供的特殊的磁盘阵列,它是建立在RAID5 和RAID0 的基础上而形成的。使用6、8、10、12、14、16、32 块硬盘。先使用3 块或更多的硬盘作RAID5,然后将形成的低级阵列重新组合作RAID0。这样,RAID50 可以在多数情况下,两个硬盘同时损坏仍然可以继续工作,所以容错能力大大提高。由于采用多个阵列组合,冗余的硬盘也增加为两个,所以有效使用的容量为N-2。容量较高,硬盘的读的性能较高,适合作为检索服务器等要求读性能较高的系统使用,成本较高。容量大于RAID RAID 5;

RAID的概述RAID,为Redundant Arrays of Independent Disks的简称,中文为廉价冗余磁盘阵列。在1987年由美国柏克莱大学提出RAID(Redundant Arrayof Inexpensive Disks)理论,作为高性能的存储系统,巳经得到了越来越广泛的应用。RAID的级别从RAID概念的提出到现在,巳经发展了多个级别,有明确标准级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四个级别。其他还有6、7、10、30、50等。RAID为使用者降低了成本、增加了执行效率,并提供了系统运行的稳定性。 标准的RAID写操作,包括如:RAID4或RAID5中所必需的校验计算,需包括以下几个步骤: (1)以校验盘中读取数据 (2)以目标数据盘中读取数据 (3)以旧校验数据,新数据及已存在数据,生成新的校验数据 (4)将新校验数据写入校验盘 (5)将新数据写入目标数据盘 当主机将一个待写入阵列RAID组中的数据发送到阵列时,阵列控制器将该数据保存在缓存中并立即报告主机该数据的写入工作已完成。该数据写入到阵列硬盘的工作由阵列控制器完成,该数据可继续存放在Cache中直到Cache满,而且要为新数据腾出空间而必须刷新时或阵列需停机时,控制器会及时将该数据从Cache写入阵列硬盘中。 这种缓存回写技术使得主机不必等待RAID校验计算过程的完成,即可处理下一个读写任务,这样,主机的读写效率大为增加。当主机命令将一个数据写入硬盘,则阵列控制器将该数据写入缓存最上面的位置,只有新数据才会被控制器按Write-Back Cache的方式最后写入硬盘。 RAID级别 NRAID: 硬盘连续使用。NRAID 意思是不使用RAID功能。它使用硬盘的总容量组成逻辑碟(不使用条块读写)。换句话说,它生成的逻辑碟容量就是物理碟容量的总和。此外,NRAID 不提供资料的备余。 JBOD: JBOD 的含意是控制器将机器上每颗硬盘都当作单独的硬盘处理,因此每颗硬盘都被当作单颗独立的逻辑碟使用。此外,JBOD并不提供资料备余的功能。 RAID0:RAID 0 - Disk Stripping without parity (常用) 又称数据分块,即把数据分成若干相等大小的小块,并把它们写到阵列上不同的硬盘上,这种技术又称“Stripping”(即将数据条带化),这种把数据分布在多个盘上,在读写时是以并行的方式对各硬盘同时进行操作。从理论上讲,其容量和数据传输率是单个硬盘的N倍。N为构成RAID0的硬盘总数。当然,若阵列控制器有多个硬盘通道时,对多个通道上的硬盘进行RAID0操作,I/O性能会更高。因此常用于图象,视频等领域,RAID0 I/O传输率较高,但平均故障时间MTTF只有单盘的N分之一,因此RAID0可靠性最差。 RAID1:RAID 1 - Disk Mirroring(较常用) 又称镜像。即每个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时只从工作盘读出,一旦工作盘发生故障立即转入镜像盘,从镜像盘中读出数据。当更换故障盘后,数据可以重构,恢复工作盘正确数据,这种阵列可靠性很高,但其有效容量减小到总容量一半以下,因此RAID1常用于对容错要求极严的应用场合,如财政、金融等领域。 RAID (0+1): 结合了RAID 0 和 RAID 1 — 条块化读写的同时使用镜像操作。 RAID (0+1) 允许多个硬盘损坏,因为它完全使用硬盘来实现资料备余。如果有超过两个硬盘做RAID 1,系统会自动实现RAID (0+1)。 RAID2: 又称位交叉,它采用汉明码作盘错校验,采用按位交叉存取,运用于大数据的读写,但冗余信息开销太大(校验盘为多个),已被淘汰。 RAID3:RAID 3 - Parallel Disk Array 为单盘容错并行传输。即采用Stripping技术将数据分块,对这些块进行异或校验,校验数据写到最后一个硬盘上。它的特点是有一个盘为校验盘,数据以位或字节的方式存于各盘(分散记录在组内相同扇区的各个硬盘上)。当一个硬盘发生故障,除故障盘外,写操作将继续对数据盘和校验盘进行操作。而读操作是通过对剩余数据盘和校验盘的异或计算重构故障盘上应有的数据来进行的。RAID3的优点是并行I/O传输和单盘容错,具有很高可靠性。缺点:每次读写要牵动整个组,每次只能完成一次I/O。 RAID4: 与RAID3相似,区别是:RAID3是按位或字节交叉存取,而RAID4是按块(扇区)存取,可以单独地对某个盘进行操作,无须像RAID3那样,哪怕每一次小I/O操作也要涉及全组,只需涉及组中两块硬盘(一块数据盘,一块校验盘)即可,从而提高了小量数据I/O速度。缺点:对于随机分散的小数据量I/O,固定的校验盘又成为I/O瓶颈,例如:事务处理。作两个很小的写操作,一个写在drive2的stripe1 上,一个写在drive3的stripe2上,它们都要往校验盘上写,所以发生争用校验盘的问题。 RAID5:RAID 5 - Striping with floating parity drive(最常用) 是一种旋转奇偶校验独立存取的阵列方式,它与RAID3,RAID4不同的是没有固定的校验盘,而是按某种规则把奇偶校验信息均匀地分布在阵列所属的硬盘上,所以在每块硬盘上,既有数据信息也有校验信息。这一改变解决了争用校验盘的问题,使得在同一组内并发进行多个写操作。所以RAID5即适用于大数据量的操作,也适用于各种事务处理,它是一种快速、大容量和容错分布合理的磁盘阵列。当有N块阵列盘时,用户空间为N-1块盘容量。 RAID3、RAID5中,在一块硬盘发生故障后,RAID组从ONLINE变为DEGRADED方式,但I/O读写不受影响,直到故障盘恢复。但如果DEGRADED状态下,又有第二块盘故障,整个RAID组的数据将丢失。   ## RAID技术的应用 DAS --direct access storage device直接访问存储设备 DAS是磁盘存储设备的术语,以前被用在大、中型机上。使用在PC机上还包括硬盘设备DAS的最新形式是RAID。“直接访问”指访问所有数据的时间是相同的。 NAS --Network Attached Storage 网络附加存储设备 一种特殊目的的服务器,它具有嵌入式的软件系统,可以通过网络对个种的系统平台提供文件共享服务 SAN --Storage Area Networks 存储区域网 一种高速的专用网络,用于建立服务器、磁盘阵列和磁带库之间的一种直接联接。它如同扩展的存储器总线,将专用的集线器、交换器以及网关或桥路互相连接在一起。 SAN 常使用光纤通道。一个 SAN 可以是本地的或者是远程的,也可以是共享的或者是专用的。SAN 打破了存储器与服务器之间的束缚,允许你独立地选择最佳的存储器或者是最佳的服务器,从而提高可扩性和灵活性 ## RAID全攻略 计算机制造商们全面打起了提速战。作为计算机最重要的外部存储设备,硬盘当然也不甘落后,相继推出速度更快的硬盘。即便如此,硬盘存储仍然摆脱不了系统性能瓶颈的角色。不仅如此,硬盘存储在数据安全上也是问题多多。现在人们的工作已无法摆脱计算机,这一方面使得人们的工作效率大大提高,但潜在的危险也是明摆着的:一旦硬盘的数据损坏,人们长时间的工作就可能毁于一旦。 那么,有没有基于现在的硬盘提升存储性能和数据安全的技术呢?有,它就是RAID技术。 RAID是由美国加州大学伯克利分校的D.A. Patterson教授在1988年提出的。RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。后来RAID中的字母I被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。简单地讲,RAID技术就是利用多个硬盘的组合提供高效率及冗余的功能。 RAID 的优点 传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。 可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。 RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低很多。 RAID 的级别 具体实现起来,RAID的级别很多,各级别有着各自的优缺点,用户可以根据不同的需求来选择合适的级别。 RAID 0 RAID 0需要至少两个硬盘,是没有任何保护的,它只是将两个或多个相同型号及容量的硬盘组合起来,而当系统提取数据时,它可以同时由所有硬盘(同一个阵列里)读出数据,速度会比一个硬盘快得多。而亦因为它没有任何的数据保护,只要其中一只硬盘出事,所有数据便会被破坏。所以RAID 0通常应用在一些非重要资料上,如影像撷取。磁盘阵列的总容量为各个硬盘容量之和。 RAID 1 这个级别由两个(只有两个)硬盘组成,亦可称为镜像(Mirroring)。每一个资料均会相同的写在两个硬盘上,镜像就是因为两个硬盘的内容将会一模一样,但对于系统来说都只会见到一个硬盘。当然,资料写入的时间可以会长一点,但读则没有影响,因为两个硬盘是可以同时读取资料的。磁盘阵列的总容量为其中一块硬盘的容量。 RAID 2 RAID 2又叫纠错海明码磁盘阵列。磁盘阵列中的第一个、第二个、第四个……第2n个硬盘是专门的校验盘,用于校验和纠错,例如七个硬盘的RAID 2,第一、二、四个硬盘是校验盘,其余的用于存放数据。使用的硬盘越多,校验盘在其中占的百分比越少。RAID 2对大数据量的输入输出有很高的性能,但少量数据的输入输出时性能不好。RAID 2很少实际使用。 RAID 3 这个级别需要至少三个硬盘。数据会被分割成相同大小的基带条(stripe)并存放于不同的硬盘上。其中的一个硬盘将会被指定为用来储存校验值,这个校验值是RAID卡根据前面硬盘中存放的数据而运算出来,这样当其中一个硬盘有问题时,用户可以更换硬盘,RAID卡便会根据其他数据重构并存放在新硬盘里。RAID 3可以提供高速数据读取,但只针对单用户模式;如果多人同时读取资料,RAID 3不是理想选择。它更适用于I/O传输,而不是大文件传输。 因为提供奇偶校验的磁盘常成为瓶颈,所以在没有相应技术的情况下,如回写高速缓存技术,不常使用。如果组成磁盘阵列的硬盘相同,磁盘阵列的总容量为各个硬盘容量之和减去一块硬盘的容量。 RAID 5 这个级别也是需要至少三个硬盘。数据会分割跟RAID 3一样,但并不会有一个特定的硬盘将来储存校验值,所有数据及校验值都会分布在所有硬盘上。RAID 5消除了RAID 3在写数据上的瓶颈,可以提供高速数据读取并针对多用户模式,RAID 5所提供的功能及表现是有RAID级别之中最好的。RAID 5常使用缓冲技术来降低性能的不对称性。与RAID 3一样,如果组成磁盘阵列的硬盘相同,磁盘阵列的总容量也为各个硬盘容量之和减去一块硬盘的容量。RAID 5级以合理的价位提供了最佳的性能和数据安全性,因此目前它很受欢迎。 多层级别 RAID 除了以上的RAID级别外,也可以将多个RAID 级别结合成一个多层级别的RAID。在设定一个双层级别(dual-level)的RAID时,卡的软件(firmware)会负责将两个或多个单层RAID组合成一个多层级别的RAID或数组。比较常见的多层级别RAID是RAID 0+1或称 RAID 0/1 及 RAID 0+5 或称 RAID 0/5。 RAID 的种类及应用 IDE和SCSI是计算机的两种不同的接口,前者普遍用于PC机,后者一般用于服务器。基于这两种接口,RAID分为两种类型:基于IDE接口的RAID应用,称为IDE RAID;而基于SCSI接口的RAID应用则相应称为SCSI RAID。 以前,一提起RAID往往会联想到SCSI硬盘,因为它的传统接口一直使用的是SCSI,而具有SCSI接口的硬盘要比传统的IDE硬盘昂贵得多,因此RAID技术自产生以来似乎就被定义在了高端“贵族家庭”。在较大的阵列系统中,随着硬盘的数量增多,SCSI RAID系统的整体造价就明显地提高。与此相反,可以看到被视为低端产品的IDE硬盘却具有明显的价格优势,近年来随着IDE接口标准的升级, IDE的传输速度有了明显的提高,串行ATA又可加大IDE硬盘连接数量,于是RAID产品逐步开始渗透到了所谓低端的IDE硬盘领域。 与此同时,基于不同的架构,RAID 又可以分为: ● 软件RAID (软件 RAID) ● 硬件RAID (硬件 RAID) ● 外置RAID (External RAID) 软件RAID很多情况下已经包含在系统之中,并成为其中一个功能,如 Windows、Netware及Linux。软件RAID中的所有操作皆由中央处理器负责,所以系统资源的利用率会很高,从而使系统性能降低。软件RAID是不需要另外添加任何硬件设备,因为它是靠你的系统—主要是中央处理器的功能—提供所有现成的资源。 硬件RAID通常是一张PCI卡,你会看到在这卡上会有处理器及内存。因为这卡上的处理器已经可以提供一切RAID所需要的资源,所以不会占用系统资源,从而令系统的表现可以大大提升。硬件RAID可以连接内置硬盘、热插拔背板或外置存储设备。无论连接何种硬盘,控制权都是在RAID卡上,亦即是由系统所操控。 在系统里,硬件RAID PCI卡通常都需要安驱动程序,否则系统会拒绝支持。 磁盘阵列可以在安装系统之前或之后产生,系统会视之为一个(大型)硬盘,而它具有容错及冗余的功能。磁盘阵列不单只可以加入一个现成的系统,它更可以支持容量扩展,方法也很简单,只需要加入一个新的硬盘并执行一些简单的指令,系统便可以实时利用这新加的容量。 外置式RAID也是属于硬件RAID的一种,区别在于RAID卡不会安装在系统里,而是安装在外置的存储设备内。而这个外置的储存设备则会连接到系统的SCSI卡上。系统没有任何的RAID功能,因为它只有一张SCSI卡;所有的RAID功能将会移到这个外置存储里。好处是外置的存储往往可以连接更多的硬盘,不会受系统机箱的大小所影响。而一些高级的技术,如双机容错,是需要多个服务器外连到一个外置储存上,以提供容错能力。 外置式RAID可以安装任何的操作系统,因此是与操作系统无关的。为什么呢?因为在系统里只存在一张SCSI卡,并不是RAID卡。而对于这个系统及这张SCSI卡来说,这个外置式的RAID只是一个大型硬盘,并不是什么特别的设备,所以这个外置式的RAID可以安装任何的操作系统。唯一的要求就是你用的这张SCSI卡在这个操作系统要安装驱动程序。 产品篇 Adaptec 由于RAID的种类很多, Adaptec公司将众多的RAID产品根据不同的服务方向分为三类。 第一类是为工作站设计的低成本的ATA RAID卡,IDE接口的扩展能力不强,所以基于IDE的RAID的种类也相对少。 第二类是提供高性能的RAID卡—Ultra320 SCSI RAID等。Ultra320解决方案的数据传输速率可达到320MB/s,是Ultra160产品的两倍,同时还具有信息封包及其他一些关键特性以实现整个系统的高性能、高可靠性和数据完整性。Ultra320解决方案为主线存储、视频音频流、视频编辑以及其他对带宽要求很高的应用所设计。 第三类为外部RAID子系统。Adaptec DuraStor 7320SS是一个从光纤通道到SCSI的子系统,它有一个LUN分区技术,这种技术为SAN领域提供了最高级别的安全和可管理性能。LUN分区技术允许网络存储很方便地给特定的服务或者应用分配适当的存储容量,同时还能预防存储空间的不足,可以扩展到7TB容量左右。Adaptec DuraStor 7320SS附加了Adaptec's Storage Manager Pro管理软件,它基于Java语言的设计,图形用户界面简化了对远程和本地存储管理,能让用户建立和管理RAID阵列,管理软件可以建立用户和管理员不同安全级别,能够检测故障磁盘。 HDS 雷电9980V系列内置的虚拟化帮助功能,专门用于帮助您搭建信息平台而设计。这些独特的系统有助于存储资源智能缓冲池的设置和复杂信息平台突破性的简化。主要的功能是实现大量数据系统的合并,灵活的容量配置,顶级的带宽和多连接方式/协议的选择。同时降低总拥有成本,带来更快的投资回报。 雷电9980V系列以高速的日立第二代Hi-Star交换架构为基础,消除了通常由于存储系统合并而带来的停机和瓶颈的风险。多机架的雷电9980V系列的性能和可扩展性将引起大量的开放系统、主机系统存储方案的合并,您可以用一个雷电9980V系统替换先前所有的存储系统,大大地降低IT成本并通过合并存储资源和不同平台间信息的共享让您的投资最大化。 雷电9980V系列存储数据的容量可以达到70TB, 同时允许UNIX、Windows NT/Windows 2000、Linux、Novell Netware、OpenVMS、TPF 和OS/390互连,对内部的业务运行和您的客户提供高可用性,能够实现多数据系统的合并和存储资源缓冲池,通过虚拟策略实现单一的系统化管理,具有超过15GB/秒的内部系统总带宽,支持导向器、SAN、NAS或iSCSI附件,方便集中管理SAN和NAS,减少维护费用。 IBM 依靠存储保持快速发展是因为日常的业务流程越来越依靠数据,各公司开始大力发展自己的存储基础设施。但是,如今的公司必须在存储需求和紧张的预算之间作权衡。因此,所采用的解决方案必须经济高效、可扩展,并且能够满足各种存储需求。IBM TotalStorage FAStT500存储服务器是一种全光纤的SAN解决方案,能够以最合适的价格提供您所需要的性能。 依靠多达8个光纤通道直接主机或SAN连接,FAStT500存储服务器提供了快速数据访问能力(高达383MBps),特别适合于那些实时性能是关键因素的计算环境。除了高带宽外,FAStT500还支持各种操作系统,包括IBM AIX、Linux和Windows NT等。 FAStT500 模块化设计使您可以按照需要来购买部件,它可以从18GB扩展到使用22个扩展柜的16TB。每一个FAStT EXP500最多支持10个光纤通道硬盘驱动器。另外,您还可以采用和选择合适的RAID级别,从0、1、3、5到10,这样做的目的是为了与应用相匹配或满足用户的特殊经费需要,从而使用户能够扩展和充分利用现有和将来的投资。 TotalStorage FAStT500解决方案是高度可用的解决方案,能够提供部件发生故障时的安全性。双热插拔RAID控制器提供了高吞吐量和冗余度,并且每个控制器支持高达512MB的电池备份高速缓存。 FAStT存储管理器软件使您能够在单个控制台上管理多个FAStT500系统。 惠普 高性能Ultra3阵列控制器的智能阵列5300系列产品能够为惠普ProLiant服务器提供可靠的数据保护,同时由于创新的模块化设计和最新的高级数据保护(RAID ADG)技术,该系列产品把灵活性提高到了一个新的水准。智能阵列5300控制器通过使用全新的内存体系结构和RAID引擎等几项增强型技术,把产品标准提升到更高的性能等级。 RAID ADG(Advance Data Guarding),可译为先进的数据保护技术,是惠普RAID容错方案,将能解决企业所有的数据损失的问题。RAID ADG技术最大特点是部署了两个奇偶校验集,并提供了2个硬盘(但不是独立的2个校验硬盘)的容量存储这些奇偶校验信息,能同时容忍两块硬盘出现故障,这突破了以往RAID级别只允许在同一时刻出现一块硬盘故障的限制,大大提高了企业数据的可靠性。在RAID容量超过2TB和单个RAID卷的总磁盘驱动器达56个的时候,该技术实现了错误保护等级的突破。 智能阵列5300控制器便于升级的设计允许您根据需要来优化性能并增加容量,信道可以从2个增加到4个,自备电池的高速缓存可以选择32MB、64MB、128MB或者256MB,能够有效保护ROM的失败或错误,Ultra3 SCSI技术可实现更高的性能,每信道的数据带宽最多达160 MB/s。同时自备电池的高速缓存,在突然断电、服务器或控制器出现错误时,能够保护缓存内的数据,而且,冗余的、可插拔的电池也实现了更深层的数据保护。最大的缓存配置是256MB,备有电池。66MHz PCI接口,使带宽的总传输率最高可达533 MB/s。 研宇 RAID-500 U3是一个独立的磁盘阵列子系统,用户能方便快捷地将普通SCSI硬盘应用到RAID 500系列产品中,可以使用独立的存储子系统提高数据高可用性,在双机热备份的应用中,无论任意一台主机宕机,存储系统均能照常工作。 RAID-500系列提供几种不同配置,以提高数据可靠性,失效硬盘被新硬盘热插拔,系统会动态重新配置并自动重建丢失的数据,而无需重新启动。用户可预先指定空硬盘,RAID-500能用备用硬盘自动恢复数据热备份。 RAID-500会自动检测并报告机箱状态,包括电源、风扇失效和机箱过热状态。用户可进行系统设置,使报警通过Modem传输到远程主机或呼机上,也可提供服务系统的实时和智能管理。

        桌上电话疯响,午睡的雅兴全无。小胡拎起电话,没好气的“喂”了一声。      “不好啦。我们的磁盘阵列染病毒啦!”电话那头的声音焦急万分。      “您好,请您仔细描述一下好吗?是连接磁盘阵列的主机染病毒了吗?”听出对方是客户,小胡只好忍着心里的脏话,细声细气的询问。      “不是,不是,就是你们去年卖给我们的那台磁盘阵列染病毒了!”      小胡深吸口气,思量着怎么对付这个白痴。      “如果是磁盘阵列中的数据染了病毒,您需要在主机上进行杀毒,跟杀内部磁盘上的病毒一样。”      “不是,不是,不是,是磁盘阵列里面染病毒。磁盘阵列控制器的Firmware染病毒了!”      小胡死命的憋着“神经病”三个字,勉强平静的问:“你是怎么确定磁盘阵列染毒的呢?”      电话那头似乎也吸了口气,声音徐缓下来。“我是这个机房的网管,今天发现网络上有病毒传播,就断网逐个杀毒,却怎么也杀不干净。最后我们在交换机上截获数据包分析,发现毒源的IP地址居然是你们的磁盘阵列上的。”      “啊!”所有准备羞辱对方无知的打算都瞬间蒸发掉了,只剩下结结实实的惊讶。      做了这么久的技术支持工作,小胡还是第一次听说磁盘阵列控制器也能中毒。      这是笔者日前碰到的一个真实场景。其实不只是小胡,估计很多资深的存储工程师碰到磁盘阵列染病毒的说法,反应都会跟小胡一样。传统上磁盘阵列在系统的位置仅仅是一个外部设备,很多用户甚至直接称呼其为“大硬盘”。这种设备自身虽然也有固件(Firmware)部分,但基本都是诸如VxWorks甚至更小的嵌入式系统,极少有病毒能够感染这种系统。自然也就没人见过磁盘阵列染病毒这种事情。      但是,近年来随着磁盘阵列功能的丰富和处理要求的提高,越来越多的中高端磁盘阵列开始选用更大型的操作系统作为固件平台。
NetApp存储设备控制器中运行的是定制后的FreeBSD; Engineo磁盘阵列(即IBM DS4000系列)控制器采用Intel Celeron芯片,运行的是Linux; EMC CLARiiON系列阵列控制器采用Intel Pentium芯片,曾经以Windows2000作为操作系,现在升级为WindowsXP; Sun新推出的6920磁盘阵列中心处理单元(称为DSP)是一台Sparc服务器,运行标准的Solaris和Veritas Volume Manager; IBM企业级产品DS8000阵列控制器是RS6000架构,运行AIX系统。    传统服务器操作系统在磁盘阵列控制器中的盛行,自然为这些产品的功能和处理能力提供了强大动力支持,但是同时也为病毒传播和黑客攻击提供了机会。      毋需讳言Windows、Linux、Solaris和AIX这些开放系统平台由于用户众多,自然成了病毒和黑客们的重点攻击对象。笔者的笔记本上安装了预警系统,可以报告一些嗅探器的扫描和非法请求。虽然这个预警系统不能监测到所有的攻击和扫描,但既便如此,每周累计上百条的事件已经足以说明Internet中的各类攻击和扫描其数量何等惊人。如果这些攻击中只有哪怕1‰的成功率,也将意味着系统平均每2~3个月就会被非法入侵一次。对绝大多数中高端系统而言,这样的安全性是完全无法忍受的。更何况,对没有任何保护的“裸系统”,攻击的成功率会比1‰高很多。笔者曾经尝试将仅安装有WindowsXP的笔记本电脑彻夜连接在Internet上,次日早上MSN的口令已经被更改,桌面设置也面目全非。      针对Windows、Linux和开放Unix系统的病毒和攻击每天都在更新,而这些系统本身,也是依靠频繁的补丁和第三方安全软件来保护的。因此,对安装在阵列控制器中的系统而言,情况便很棘手。目前还没有第三方安全软件厂商为阵列控制器提供安全防护软件,用户只能像频繁的为主机打补丁一样,频繁的为阵列控制器升级固件。事实上,各磁盘阵列厂商也是这样提倡的,这些厂商一边向用户声称“升级为最新版本的固件才能保证系统最为可靠”,一边以平均每周一次的速度更新其固件版本。然而升级阵列固件对在线的磁盘阵列来说是非常危险的操作,频繁的升级固件无疑会严重影响数据安全。既便厂商可以保证100%安全的固件升级,大多数中高端系统也无法忍受如此频繁的当机窗口。每周停机1~2小时,每年就要50~100小时!这哪里还是厂商们所宣称的“四个九”、“五个九”的高可用?      也许厂商们也意识到了这个尴尬,一些还算有责任感的厂商在新推出的产品中引入了一个特殊的功能----在线升级固件。这下问题似乎解决了。笔者曾多次亲耳聆听过几家知名厂商的工程师们对此功能的溢美之辞,称其可以实现“不间断的系统维护”云云。事实果真如此吗?很遗憾,实际情况完全没有那么完美。翻开任何一款支持“在线固件升级”产品的用户手册,都会发现其操作规程中大同小异的赫然提示:“虽然本产品可以支持在线固件升级,但要求升级过程中停止任何外部I/O操作。”这是什么意思?磁盘阵列可以不停机,但是主机读写需要停止。这跟系统停机有什么区别?!所谓“不间断维护”,岂不成了文字游戏。      退一万步说,既便用户完全按照厂商的要求,以最快的速度更新固件,磁盘阵列就安全了吗?把WindowsXP的补丁升级到最新版本,就可以免受病毒和黑客威胁了吗?一样的道理嘛。也许有人会怀疑,“并没有听说很多磁盘阵列染病毒和被攻击的事件啊。”其实道理也很简单。想想中高端磁盘阵列一般应用的环境,电信公司的中心机房哪个不是层层的软硬防火墙保护?银行的中心机房更甚,干脆就隔离了接驳Internet的物理连接。这些客观因素减少了磁盘阵列这种“脆弱系统”遭受侵扰的机会,但是这并不等于减少了磁盘阵列的“脆弱性”。      需要注意的是,机房环境对磁盘阵列的保护是非常有限的。几乎所有中高端磁盘阵列都支持提供远程管理维护,而且厂商或集成商也乐于通过远程管理端口进行定期巡检。如果可能,厂商和集成商都会力劝用户为磁盘阵列提供一个公网地址,并将其置于可由外部访问的位置。也许集成商和用户大多没注意到,这种方便也使磁盘阵列的“脆弱性”暴露在危险的公网环境中。      另外,一旦机房内部感染病毒或出现恶意用户,磁盘阵列由于毫无防范,基本是在劫难逃。前面故事中,小胡的客户遭遇的便是这种情况。磁盘阵列虽然易于感染,但一旦出现这种情况,查杀病毒和恶意代码的工作却很困难。由于封装机制特殊,一般通用安全软件是无法在阵列控制器上安装的。而且,此类系统对管理员帐户及其他方面的改动,也妨碍了安全软件以网络方式清理系统。简单一句话,磁盘阵列易感染病毒却不易清除。      除磁盘阵列之外,其他的存储设备情况如何呢?我们知道,一些光纤交换设备和虚拟存储设备的核心操作系统也是以Linux为基础。但是总体而言,这些设备的安全机制要比磁盘阵列好很多。部分原因是因为大多数此类厂商,都或多或少的有传统以太网络技术基础,还有一部分原因是,这些系统与人们耳熟能详的RedHat、SuSe等Linux版本差异较大,对病毒和黑客而言“兼容性”比较差。
    NAS和iSCSI设备中通用操作系统更为流行,微软公司还为此类设备开发了Windows Storage Server作为专业系统,其病毒“兼容性”自然非常“好”。然而幸运的是,一般NAS和iSCSI设备上都会附加有网络安全方面保护。几乎每个NAS产品都会预安装或以选项方式提供防病毒软件,并有良好的认证保护机制。iSCSI设备中则干脆将CHAP保护机制作为其标准配置之一,避免了系统裸露于不安全的网络之中。
    由此可见,NAS和iSCSI设备在网络安全方面显然比传统FC磁盘阵列更具优势。因此,在性能和扩展性等要求都可以满足的前提下,选用NAS或iSCSI设备会使存储设备本身更安全。如果一定要选用FC磁盘阵列,则需要尽量避免通过控制器的网络接口进行管理,而尽量采用更为安全的带内(In-Band)管理模式。      我们还是看看小胡是如何为用户解决问题吧。其中关键的步骤无外乎前面提到的几点:
备份所有磁盘阵列中的数据和配置信息; 刷新阵列控制器固件(相当于重新安装操作系统)为最新版本; 手工恢复阵列配置信息; 去除用于管理的以太网连接,改为带内管理; 再次全网杀毒。 搞定!    用户满意了。小胡也上了一课,原来磁盘阵列也是可以染病毒的。

 

你可能感兴趣的:(磁盘阵列)