1Raid类型及利弊权衡(针对EMCCX系列)Raid简介在EMCCX-series系列磁盘阵列中使用RAID(独立磁盘冗余)技术,通过RAID技术,可以将单独的磁盘组成一个逻辑单元(LUN)以提高可靠性和性能。在这一系列中支持5种RAID级别以及两种磁盘设置:(单个单元和hotspare热备盘)。你可以通过使用存储系统管理实用程序绑定磁盘以将其组成一个RAID组。其中4钟RAID级别使用磁盘条带化,两种使用镜像。什么是磁盘条带化:通过使用磁盘条带,存储系统硬件可以同时且独立地从多个磁盘读写数据。磁盘条带化通过允许若干读/写磁头同时执行来增强性能。从每个磁盘读取或向其写入的信息量组成了条带元素大小。条带大小等于条带元素大小乘以组中的磁盘数。例如:假设条带元素大小(Stripeelementsize)为128个扇区(默认)。如果组中有5个磁盘,则用5*条带元素大小128=640个扇区。在大多数RAID类型中,存储系统均使用磁盘条带化。什么是镜像:镜像维护了逻辑磁盘映像的拷贝,可以在无法访问sourceimage时继续提供访问。镜像包括硬件镜像(SP同步磁盘映像)和软件镜像(操作系统同步映像)。但操作系统同步映像会占用服务器资源。在存储系统中,可以通过将磁盘绑定为RAID1镜像对或RAID1/0组来创建硬件镜像。对于任一RAID类型的LUN,存储系统可以使用MirrorView软件维护远程拷贝。RAID类型RAID5组(单个存取阵列)RAID5组通常包括5个磁盘,但也可以包含3-16块磁盘,RAID5使用磁盘条带化。使用RAID5组最多可以创建32个RAID5LUN,以将磁盘空间分配给不同的用户、服务器及应用。存储系统将写入奇偶校验信息,以在组中某个磁盘出现故障时能够继续运行。更换故障磁盘后,SP使用存储在正常工作磁盘上的信息来重建组。在重建过程中,系统性能会降低。但是,存储系统可以继续运行,并且用户可以访问所有数据(包括存储在故障磁盘上的数据)上图显示了5个磁盘的RAID5组,具有缺省条带元素大小(Stripeelementsize)的用户数据和奇偶校验数据。条带大小是所有条带元素的总和,注意:条带元素大小缺省为128个扇区,即65536字节。另外RAID5组具有优异的读取性能和良好的写入性能。优异的写入性能主要得益于存储系统缓存。RAID3组(并行存储阵列)RAID3组由5个或9个磁盘组成。硬件始终从所有磁盘中读写数据。RAID3组使用磁盘条带化。为了维护RAID3的性能,你可以为每个RAID3组仅创建一个LUN。存储系统将写入奇偶校验信息,以在组中某个磁盘出现故障时能够继续运行。更换故障磁盘后,SP使用存储在正常工作磁盘上的信息来重建组。在重建过程中,系统性能会降低。但是,存储系统可以继续运行,并且用户可以访问所有数据(包括存储在故障磁盘上的数据),这与RAID5相同。如上图显示了RAID3组中数据块大小为2KB的用户数据和奇偶校验数据。RAID3和RAID5的不同点在于:1.RAID3组中,硬件顺序处理磁盘请求,而RAID5组中,硬件可以间隔处理磁盘请求。2.RAID3组中,奇偶校验信息存储在一个磁盘上,而RAID5组中,奇偶校验信息存储在所有磁盘上。3.RAID3组中,每个磁盘的I/O仅在较小单位(一个扇区)内进行。另外,每个RAID3组均需要一些专用SP内存(建议每组为6MB)。此内存在创建组时进行分配,不能再用于存储系统缓存。为了获得最佳性能,建议不要把RAID3组和RAID5、RAID1/0或RAID0组同时使用,但因为RAID1和单个单元所需占用的SP处理能力较少,所以可以与RAID3配合工作。RAID1镜像RAID1组由两个被存储系统硬件自动镜像的磁盘组成,可以使用RAID1组创建多个RAID1LUN,以将磁盘空间分配给不同的用户、服务器和应用。存储系统中的RAID1硬件镜像与软件镜像、远程镜像或其它磁盘类型的硬件镜像不同。从功能上,区别在于不能手动停止RAID1的镜像,因此也不能单独访问其中一个映像。如果要单独使用此类镜像中的一个磁盘,必须对镜像解除绑定(将丢失所有数据),再重新绑定为其它类型。对于存储系统,RAID1硬件镜像具有以下优点:1.自动运行,无需发出命令来启动它2.映像的物理复制3.可以选择重建时段,在此期间SP可以在出现故障后重新创建次映像。对于RAID1,存储系统向两个磁盘写入相同的数据。RAID0(非固定阵列)RAID0组由3-16个磁盘组成。RAID0组使用磁盘条带化,使用这种技术硬件可以同时向多个磁盘读写数据。每个RAID0组最多可以创建32个LUN使用RAID0时,硬件不在任何磁盘上维护奇偶校验信息,此类型本身没有数据冗余。RAID0通过对不同磁盘同时进行I/O来提高性能。RAID1/0组(镜像的RAID0组)RAID1/0可以由4/6/7/10/12/14/16个磁盘组成,这些磁盘构成两个镜像映像,每个映像包含2-8个磁盘,RAID1/0使用磁盘条带化。它综合了RAID0的速度优势和镜像的冗余优势。使用RAID1/0组最多可以创建32个RAID1/0LUN。上图显示了6个磁盘的RAID1/0组,RAID1/0组可以在多个磁盘出现故障后继续运行,前提是每个映像对中有一个磁盘能够正常运行。单个磁盘单元单个磁盘单元是独立于机柜中任何其他磁盘的绑定磁盘,它本身没有高可用性,可通过软件镜像将它和其它单个单元配合使用来提高可用性。没个单个磁盘单元可以创建一个LUN热备盘(hoyspare)热备盘是专用的备用磁盘,用户不能在此磁盘上存储信息,热备盘具有全局性,如果RAID5组、RAID3组、RAID1或RAID1/0组中任一磁盘出现故障,SP可以在热备盘上自动重建出现故障的磁盘的结构。SP完成重建后,磁盘组将使用热备盘替代出现故障的磁盘正常运行。更换故障磁盘后,SP会将数据从热备盘拷贝到替换磁盘上。拷贝完成后,磁盘组将使用原插槽中的磁盘,并且SP将自动停止使用热备盘。注意:如果热备盘的容量小于RAID组中故障磁盘的容量,则RAID组将无法使用热备盘。如果使用不同容量的多块热备盘,存储系统将自动使用适合大小的热备盘替换出现故障的磁盘。RAID利弊权衡下表比较了各种RAID类型读写性能和每GB的相对成本。表中数据为理论最大值。性能方面考虑:1.RAID5具有单个存取功能,允许对组中的每个磁盘同时进行读取,可提供较高的读吞吐量。如果存储系统使用写缓存,RAID5将具有优异的写入性能。2.RAID3具有病行存取功能,可以为连续的大块(大于64KB的块)请求提供较高的吞吐量。使用RAID3时,系统将在每个请求中访问所有五个磁盘,但是在写入前无需读取数据和奇偶校验-这对大块请求来说是一个优点,但对小块请求则不是。RAID3使用SP内存时无需缓存,这意味着您不必使用缓存所需的次SP和BBU。通常,I/O请求大小越大,RAID3组的性能越好。当读取请求达到1MB时,读取性能将快速增强。当写入请求为大于256KB的连续写入请求时,写入性能将大大增强。对于发出极大I/O请求的应用,RAID3LUN提供的写入性能明显高于RAID5LUN。3.RAID1镜像对将其磁盘锁定为同步状态,但是SP可以从读/写磁头相距较近的磁盘读取数据。因此,RAID1的读取性能是单个磁盘读取性能的两倍,而其写入性能与单个磁盘的写入性能相同。4.RAID0组(非冗余单个存取阵列)或RAID1/0组(镜像RAID0组)可以同时执行的I/O操作数量与组中的磁盘数量相同。由于RAID1/0锁定RAID0磁盘对的方式与RAID1相同,因此RAID1/0的性能等于磁盘对的数量乘以RAID1的性能数值。如果对某一特定LUN要求较高的吞吐量,请使用RAID1/0或RAID0组。RAID1/0组至少需要四个磁盘;RAID0组至少需要三个磁盘。5.单个单元的每个读取或写入操作只能进行一个I/O操作。存储灵活性方面考虑:某些RAID组类型(RAID5、RAID1、RAID1/0和RAID0)允许在每个组中最多创建32个LUN。这可以增加灵活性,特别是对于较大的磁盘,因为这使您可以将不同大小的LUN分配给不同的服务器、应用和用户。相反,使用RAID3时,每个RAID组只能有一个LUN,并且组中必须包含五个或九个磁盘,对一个服务器、应用或用户来说这是相当大的存储块。但是,RAID3的属性使其成为单线程类型应用的理想类型。数据可用性和磁盘空间使用率方面考虑:如果数据可用性至关重要,并且您无法花费大量时间用于更换磁盘、重新绑定磁盘、使操作系统可以访问磁盘以及从备份载入信息等操作,请使用冗余RAID组:RAID5、RAID3、RAID1镜像对或RAID1/0。如果数据可用性不太重要,或磁盘空间使用率很重要,请绑定单个单元。RAID1镜像对或RAID1/0组可以提供非常高的数据可用性。它们比RAID5或RAID3组更昂贵,因为只有磁盘总容量的50%可用于用户数据,如第2-11页所示。RAID5或RAID3组可以提供较高的数据可用性,但是比镜像对需要更多的磁盘数。在五磁盘的RAID5或RAID3组中,80%的磁盘空间可用于用户数据。因此RAID5和RAID3组的磁盘空间使用率高于镜像对。对于数据高可用性、良好的性能和高磁盘空间使用率同等重要的应用,RAID5或RAID3组通常比RAID1镜像对更为适合。对于任一RAID组中的LUN,您可以通过在远程站点建立远程镜像来提供灾难恢复功能。RAID组原则要确定何时使用RAID5组、RAID3组或镜像(即RAID1镜像对、RAID1/0组、RAID0组、单个磁盘单元或热备盘),您需要权衡以下因素:1.数据可用性的重要性2.性能的重要性3.数据存储量4.磁盘空间的成本1.适合使用RAID5组(单个存取阵列)的应用◆数据可用性非常重要。◆需要存储大量数据。◆多任务应用使用不同大小的I/O转移。◆需要优异的读取性能和良好的写入性能(使用写缓存时写入性能极好)。◆需要每个RAID组多个LUN的灵活性。2.适合使用RAID3组(并行存取阵列)的应用◆数据可用性非常重要。◆需要存储大量数据。◆使用较大I/O转移(大于64KB)的单任务应用。操作系统必须允许从磁盘地址是2KB的倍数处(从LUN起始地址开始计算)开始进行转移。3.适合使用RAID1镜像对的应用◆数据可用性非常重要。◆写访问速率很重要,并且写入活动很多。4.适合使用RAID1/0组(镜像非冗余阵列)的应用◆数据可用性至关重要。◆整体性能非常重要。5.适合使用RAID0组(非冗余单个存取阵列)的应用◆高可用性不重要。◆在单个磁盘出现故障时,可以承受无法访问存储在LUN上的数据所带来的损失。◆整体性能非常重要。6.适合使用单个单元的应用◆高可用性不重要。◆写访问速率有点重要。7.适合使用热备盘的情况◆在任何RAID5、RAID3、RAID1/0或RAID1组中,高可用性非常重要,因此要求RAID组中任一磁盘出现故障时无需人为干预即可迅速恢复数据冗余。◆将由于RAID5或RAID3组中磁盘出现故障而导致性能降低的情况降至最低十分重要。