RAID (redundant array of independent disks)技术使得用户除了使用硬盘存储数据之外,还能得到更多像是数据保护、容错、增加执行效能及扩大存储容量的用途。在磁盘阵列日渐普及的今天,不论是已经存在的用户或是准备建置并应用盘阵技术的潜在用户,都需要了解一下如何建置一个可以正常运行的磁盘阵列系统,以确保您所服务的或拥有的企业或单位的重要数据能被妥善的保管及应用,并利用盘阵技术简化工作的流程及节约数据存储工作的时间。在此,特提出建置盘阵的十个注意事项,供大家参考:
盘阵的比较:
在比较盘阵系统时不要只关注CPU的时钟速度,因为它并不意味着更快的盘阵执行效能;我们应该着眼于执行效能的计算(MB/Sec 或 IOPS)。只有当2个盘阵系统具有同样的RAID ASIC、RAID Firmware及硬件设计时,比较CPU的时钟速度才变得有意义。每一个盘阵产品的制造商提供的CPU、机构、韧体、硬件、RAID ASIC等是不同的,因此单独比较CPU时钟速度并不是衡量执行效能的一个可靠而清晰的比较标准。
保持空气流通:
如果你已经购买了24或16盘位的盘阵子系统以迎合未来数据的成长,不用着急将每个插槽都安装硬盘,可以先安装硬盘托架在机壳中,这样还能确保足够的空气流通。一般用户总以为,没有安装硬盘的插槽,如果不把硬盘抽取盒装上去,可以增加盘阵的空气流通,可是正好相反,一般的盘阵风扇设计,都是经过仔细的流体力学模拟,能保证系统在插满抽取盒的情况下,保持良好的空气流动,并降低系统温度,任意的抽去抽取盒,反而可能造成空气流动不顺畅,导致温度上升。
让管理更简单:
就像许多的盘阵用户,如果你已经建置了数十个或是上百台的盘阵,此时由于制作盘阵的等级(0,1,3,5…等)的不同与逻辑卷、逻辑硬盘划分的不同,而这些设置又各自对应不同的主机,这些原因将使得整个盘阵系统内部配置的关系变得非常的繁琐。为了管理这个庞大而繁琐的盘阵集群,我们可以用显示字串的方式做为管理软件管理的依据,这样有助于管理者快速地搜寻到一个特定的盘阵单元。这些字串可以使用像是 IP address、或盘阵所连接主机电脑的名字、或甚至给予盘阵一个名字或编号。这样主机与盘阵间可以用名字来建立其相互间的对应关系,在管理上就一目了然了。
如何确保从 RAID5 迁移到 RAID6时,系统有足够的存储空间:
在进行盘阵转移计划之前,先确认在盘阵中有足够的未分配存储空间或尚未使用的硬盘。RAID6 比 RAID5 多一组校验码,因此当我们要把盘阵中的数据,从 RAID5 迁移到 RAID6 时,必须确认盘阵中有足够的空间,来存储新增加的这组校验码。例如,如果决定将3块设定成 RAID5硬盘中的数据迁移到RAID6,这时候我们需要增加一块额外的硬盘,或是原来的硬盘中具有足够的、未分配的空间以存放第二次校验的校验码。我们怎样判定原来硬盘中还有足够的未分配空间呢?这个问题要从制作RAID 5之初开始说起。在开始制作盘阵的时候,硬盘使用的宣告初始值默认为硬盘容量的全部,例如:将4块147G硬盘做成 RAID 5 ,以默认的初始值宣告盘阵的可使用空间,其总容量为147G*3。在这样设定的前提下,如果迁移发生的时候,我们有2种选择。第一是增加一块同级的新硬盘(建议使用);第二是将数据导出,重新制作RAID6,再将数据导回。另外一种情况是在一开始制作RAID5的时候,就已经宣告本盘阵的可使用空间,未被宣告的剩余空间就是这里所谓的未分配空间。在有未分配空间而迁移需求发生的时候,如果其中一块硬盘的未分配空间的容量大于已宣告的可使用空间的几分之一(视硬盘数而异),这个时候我们可以判定盘阵系统具有足够的未分配空间来确保数据迁移的正常运行。例如:我们用3块147G硬盘做成 RAID 5,并在制作之初宣告90G的可使用空间,这时候是从每一块硬盘拨出30G的空间。而每一块硬盘都有117G的未分配空间。当迁移发生的时候,因为未分配空间117G大于90G的三分之一30G,所以我们可以判定具有足够的空间来进行迁移。如果小于的话,我们建议你增加一块同级的新硬盘来进行迁移。
保护内存里的数据:
备援电池的功能是确保万一当主电源故障或突然断电时内存里的数据不流失,因此如何确保备援电池的正常运行就显得格外重要。备援电池在2种情况下,系统视为无法正常运行以保护内存里的数据。一是坏掉的时候,背板的LED灯将亮起红灯。一是电池充电的时候,背板的LED灯将亮起黄灯。备援电池的使用寿命是根据充电的次数及电力释放的周期而变化的,这取决于用户本身对盘阵的使用情况,一般而言我们建议最好在盘阵使用了12个月之后更换备援电池模块(BBU)。备援电池在正常情况下充满电的时候是3.5V,当其电力降至2.7V的时候将自动进入充电状态,此时系统因为保护内存数据不流失的电力消失,自动地将数据的写入切换成“Write-Through”模式;当充完电后,又自动切换回“Write-Back”模式。这个动作是在事件启动装置(Event Trigger)功能来执行的,在安装管理软件的时候,事件启动装置对备援电池的管理初始值是打开的(Enable)。如果你没有更改过初始设置,那么上述的动作就会正常的运行。如果备援电池已经坏掉,不能正常保护内存里的数据时,而事件启动装置对备援电池的管理是设定在关闭的状态下,我们建议你手动将数据写入模式更改为“Write-Through”模式,以免数据写入没有电力保护的内存中而主电源故障或突然断电时,这些正在写入的数据就遗失了。
检查写入动作:
介质扫描(Media Scan)是Firmware的主要功能之一,其作用有二:管理硬盘扫描与坏块处理。介质扫描功能应该正常地执行,只要一有坏块就处理,是一种提前预防并保障数据安全不流失的功能。如果太久没有执行这个功能,万一一组数据有2个或多个坏块的情况发生时,数据就无法挽回了。介质扫描的执行也不好太过频繁,主要是考虑硬盘的使用寿命,这点还是视用户的使用情况而定。建议:我们可以用任务时程功能来设定介质扫描在固定的时间自动执行,例如每周或每月等。另外一种确保数据正确写入的方式是启动 “Write-Verify” 的功能做为正常的写入模式,这个功能会自动核对写入硬盘数据的正确性。但由于每笔数据均会检查,对盘阵执行的效能是会有一定影响的。
减少延迟:
当关闭内存“Write-Back”功能时就进入了“Write-Through”的模式,这时候主机数据是不会写入内存而直接写入硬盘的。在“Write-Through”模式下,所有的硬盘将与其相关的主机以适当的方式存取数据块,而大多数的时候硬盘处于接受写命令的状态。此时盘阵只要从主机接收到写入的命令,硬盘的读写头就会去寻找读写的位置,并等待硬盘处于可写入的状态,这个等待的现象就是所谓的延迟(Latency Time),而硬盘经常处于等待写入的状态,增加了延迟的时间,不但缩短硬盘的使用寿命,并且系统也比较耗电。当打开内存的“Write-Back”功能时,从主机写入硬盘的数据先被写在内存里,在内存写满数据时盘阵控制器会将存在于内存的数据大量地写入硬盘。这个内存“Write-Back”的模式将主机写入的命令以写入内存来取代,可以大幅减少硬盘延迟的时间,并且相较于“Write-Through”模式,在大多数的时候提供更佳的写入政策。
避免使用低速的PCI设备:
如何让盘阵达到最佳的执行效能呢?一般来说,影响执行效能的因素可能是来自主机端上用以安装 SCSI 卡或者光纤通道的HBA卡的 PCI 插槽及这些卡本身的效能。通常我们会分配主机电脑上的一个或是2个PCI插槽作为连接盘阵之用,如果这些插槽是那种看起来与正常PCI插槽一样,但却以较低的速度在运行的PCI设备时,就会影响盘阵的执行效能。PCI总线有分PCI、PCI-X与PCI-E,其频宽也不尽相同,还要注意与SCSI卡或HBA卡本身的匹配。另外,盘阵的执行效能还取决于电脑的内部设计,在许多情况下多个 PCI 设备会分散 PCI 的频宽,分散的结果限制了使用SCSI/光纤通道HBA卡本身应该具备的最大执行效能,也就是说,在电脑主机上我们应该尽量减少不必要的PCI设备,使PCI的速度能得到最佳状态。
为数据成长做计划:
创建盘阵逻辑硬盘的时候,要计划能容纳未来的硬盘容量需求,并且注意从不同制造商取得的硬盘其容量看似一样,但实际上其容量大小是有差异的。硬盘的存储容量是依据有效的数据块数量来测算的,通常这些数据块被归类为在硬盘上的LBA(Logical Block Address, 每一块是512 bytes). 在盘阵逻辑硬盘中所有的硬盘容量会以最低容量的一块硬盘来进行格式化,例如在设定为RAID 5 的逻辑硬盘中有三块硬盘,其容量分别是100、99及101个数据块,在设定成RAID 5的时候,每块硬盘最大的数据块只能为99个数据块。这种硬盘容量的差异意味着当一个硬盘毁损而替代的硬盘容量小于旧硬盘中最小硬盘容量1%的时候系统是不会进行硬盘重建的。因此,我们最好选择同一厂牌同型号的硬盘来进行重建。
不只是硬件的拷贝:
保留盘阵的配置及记录与主机连接方案是非常必要的,就像是一个完整的系统正在进行更新,而这个更新的对象不是同一种产品,例如是不同的供应商所提供的不同产品,它可能是主机、可能是HBA卡、可能是Switch、可能是连接的端口及电缆线、也可能是盘阵。这个原来的盘阵配置档案可以让我们快速地从旧的配置中区设定新的配置,而与主机连接方案的记录也可以让我们迅速地依照以前的连接情况为更新的盘阵环境进行重建与设定,并且让它正常的运行。