如何确定RAID组中驱动器的数量

日期: 2008-06-02 作者:Joel Lovell翻译:周姝嫣 来源:TechTarget中国 英文

你知道自己需要存储,也了解如何部署SAN层。但是,你如何确定合适的磁盘种类和数量?一个RAID群组中应具有多少驱动器,才能满足数据库、邮件或文件服务器所需的性能要求,以及实施新的VMware所需的性能要求?在RAID群组或者在实际的存储RAID阵列中,是否能拥有太多的驱动器?   我们将详细阐述RAID阵列和潜在磁盘技术的这些参数。分别在什么时候采用SAS、SATA、FC或SCSI?部署存储阵列时,是否还有其它衡量标准,如每个控制器拥有几个驱动器时,效果最佳?供应商提供的其它性能规范呢?   供应商的数据手册只是告诉你需要了解哪些有关存储阵列和磁盘驱动器的参数:原始容量、吞吐量(通常以MB/s……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

你知道自己需要存储,也了解如何部署SAN层。但是,你如何确定合适的磁盘种类和数量?一个RAID群组中应具有多少驱动器,才能满足数据库、邮件或文件服务器所需的性能要求,以及实施新的VMware所需的性能要求?在RAID群组或者在实际的存储RAID阵列中,是否能拥有太多的驱动器?

  我们将详细阐述RAID阵列和潜在磁盘技术的这些参数。分别在什么时候采用SAS、SATA、FC或SCSI?部署存储阵列时,是否还有其它衡量标准,如每个控制器拥有几个驱动器时,效果最佳?供应商提供的其它性能规范呢?

  供应商的数据手册只是告诉你需要了解哪些有关存储阵列和磁盘驱动器的参数:原始容量、吞吐量(通常以MB/sec计算)、IOPS、可靠性(MTBF)、驱动器种类(SAS、SATA、FC等)。大多数存储阵列在前端具有光纤通道接口(有一些提供无限宽带),也可能是在磁盘端具有FC、SATA或SAS。只有JBOD(简单磁盘捆绑)阵列支持RAID。如果你没有SAN,那么你的存储环境通常包括DAS(直接附属存储),也就是指服务器里的内部驱动器或附属在一台或两台服务器中的SCSI RAID阵列。

  RAID本质上是一组磁盘,通常具有奇偶校验或分条功能,或者两项功能兼备。奇偶校验是指磁盘中数据块的冗余,分条功能可以提高单个磁盘的速度,增加消息源,其性能优于单个驱动器。每种RAID都可以在可靠性、性能和成本之间达成平衡。(你选择的冗余级别可能会耗费你许多可用的容量。)

  RAID的某些方面会影响吞吐量或IOPS。(请记住:你需要较高的IOPS性能,满足数据库、邮件等延迟敏感的应用程序)。RAID的性能在驱动器发生故障时会受很大影响,这是因为RAID控制器会尽力利用通用型热备援硬盘,重新构建RAID群组。

  等等,Joel!我只购买了1 TB容量的驱动器。你说我拥有2.7 TB的可用容量,这是什么意思?

  可用容量 VS 原始容量。你需要分配的容量不是数据手册中描述的容量。由于磁盘分区或“开销”等原因,750GB的SATA 驱动器中可能只有690 GB可用。而1TB的驱动器可能只有900GB可用。

  RAID种类也会影响可用容量。大多数RAID阵列可以让你拥有一个或多个通用型热备援硬盘, RAID群组中的一个驱动器发生故障,就会有一个磁盘取而代之,这样磁盘发生故障时,驱动器上就能立即建立冗余。计算可用容量时,别忘了减去热备援硬盘的驱动器容量。

  你说我们只有200 MB/sec的速度,这是什么意思?数据手册上说是800 MB/sec的RAID。

  你的SAN存储传输的性能各不相同,取决于数据访问方式,如连续顺序读操作、随机读操作、连续顺序写操作、随机写操作以及几种联合使用。不要担心——你不用对每个LUN都做出基准报告,但是,如果你需要解决具体的应用程序问题,就应该做出基准报告。除非你是在部署具体的应用程序,否则可以联合使用上述数据访问方式。

  请记住一件事。对于RAID阵列,性能最差的情况就是随机写操作,最佳情况则是连续顺序读操作。猜猜供应商的数据手册中会主要突出哪项。

  控制器中最多能有几个驱动器,通常应根据具体情况而定,驱动器数量极有可能“过多”。你需要弄清楚:性能达到最佳时,需要多少驱动器;添加多少驱动器后,性能开始受到影响。(这只是模块存储存在的问题之一;大型企业的阵列支持大量驱动器。)在部署SAN磁盘需求时,我建议从DBA或邮件管理员那了解具体要求。

  驱动器种类

  如何判断你的环境需要哪种驱动器?以下述方式对容量需求进行分类:

  第一类是IOPS敏感的应用程序。第二类是吞吐量敏感的应用程序(如视频流、视频编辑、备份到D2D或VTL中)。你的基础文件服务器、web服务器、打印机、个人驱动器空间和存档空间属于存档类。

  对于数据库、邮件等事务处理程序,你需要把服务器的容量需求归入IOPS敏感的应用程序。建议:15K SAS或FC 磁盘等。如果你要决定RAID种类,计算可用容量,发现你需要5个300GB 15K RPM SAS或FC驱动器,才能利用那些容量,你最好采用10个15K 146GB SAS或FC驱动器。驱动器数量增加一倍,你就具有更多的IOPS;而且,10个15K 146GB驱动器的花费低于5个300GB的驱动器。

  如果你的存储环境较大,需要大量驱动器,使用300GB 15K驱动器会更好些,因为你已经有足够的驱动器获取IOPS,能充分利用容量。如果你需要满足一定量的IOPS,考虑下述性能,能帮你初步满足这些需求。你可能会发现,你需要20个76GB 15K驱动器。你的RAID群组可能没这么大,那么你需要多个RAID群组,集成RAID群组的人员应该通过存储资源,了解服务器如何利用RAID。(RAID群组中驱动器越多,发生故障时所需的重建时间越长。)

  视频编辑、视频流、备份和特定的文件服务器属于吞吐量敏感的应用程序。(工作负荷如果对存储资源具有“同时性”需求,那么可能需要10K或15K的SAS或FC驱动器,但是7.2K RPM SATA驱动器在配置合适的控制器后,也能传输足够的性能。)我曾见过800MB/sec的连续顺序写速度,发生在存储服务器利用新型SATA RAID控制器时。请注意:如果你的web、文件、打印服务器对速度或IOPS没有要求,你应该把它们归为深层廉价存档型应用程序。可能是750GB或1TB 7.2K RPM SATA驱动器。我也推荐在SATA存储解决方案中使用RAID 6,因为根据厂商对平均故障时间间隔的统计,SATA故障率是SAS或FC的2倍。

  RAID选择
 
  如果你希望你的存储解决方案具有高可用性,你就需要一定的冗余级别和校验级别,从而在一个或多个驱动器发生故障时保护数据。你也需要平衡分条功能(RAID 0),群集各个磁盘驱动器的性能,实际中还需要结合奇偶校验和分条技术。最后,采用RAID 50 (5+0 或 0+5) or RAID 10 (1+0 或 1/0)。我们从重建期和故障期的速度、空间利用率以及性能等角度,比较各种RAID级别(RAID-1/0、RAID-5、RAID 50 和RAID-6)。

  RAID种类比较

  RAID-1/0是指数据在镜像(RAID-1)组中分条(RAID-0)。(RAID-0-1不同于RAID-1/0;对于Microsoft Exchange数据,我建议不要使用RAID-0-1。)采用ID-1/0后,事务性能良好,这是因为镜像中的磁盘都能对读请求作出反应。奇偶信息都不需要校验,这样能有效实现磁盘的写操作。镜像组中的磁盘必须具有同等的写操作性能。

  如果RAID-1/0阵列中某个磁盘发生故障,写操作性能不受影响,因为镜像中的磁盘仍能进行写操作。读操作会受到一定程度的影响,因为只有一个磁盘对读操作有反应。替换了发生故障的磁盘后,镜像就能重新建立,而数据必须复制或者重建。但是,你的磁盘容量减小了一半,因为你创建了“1”,磁盘中就会产生冗余“1”。

  RAID-5具有奇偶校验功能,能在磁盘发生故障后,利用剩余数据重新构建数据。数据写在RAID-5阵列上后,由于每个I/O都需要进行写操作,I/O开销增加了4倍;奇偶校验会消耗大量的控制器和服务器资源。采用RAID-5后,事务性能良好,尤其是采用存储控制器校验奇偶时更是如此。

  RAID-5阵列中磁盘发生故障时,阵列降级,性能降低,延迟增加。之所以会发生这种情况,是因为大多数阵列在所有的磁盘阵列中平均传输校验信息,结合剩余数据块,就能实时重建数据。读写操作都需要访问多个物理磁盘,才能重新在故障磁盘中构建数据,因而故障发生时,RAID-5阵列延迟增加,性能降低。

  替换了发生故障的磁盘后,可以利用奇偶校验和剩余数据块重新构建丢失的数据,但是可能需要花费几天的时间。如果在恢复数据或重建数据时,RAID-5阵列中又有一个磁盘发生故障,那么阵列也会随之丢失。RAID-6就是为了解决这一问题。

  RAID Levels 0+5 (05)和5+0 (50)技术结合了数据块分条功能和分布式奇偶校验功能。RAID 05和50形式的大型阵列融合了块分条、RAID 5的奇偶校验以及RAID 0的直接块分条技术。RAID 05是一种RAID 5阵列,由一些分条的RAID 0阵列组成。RAID 05不如RAID 50普遍,RAID 50是一种RAID 0阵列,在RAID 5中分条。RAID 50和05通过添加RAID 0提高了RAID 5的性能,尤其是写操作性能,比单级别的RAID具有更好的容错性能,尤其是在配置了RAID 50后。RAID 05和50的大部分特征与RAID 03和30相似。在小型文件的事务环境中,RAID 05和50比RAID 03和30更加常用。如果你在编辑视频文件,我建议你首先考虑RAID 03和30。

  RAID-6比RAID-5多了一个奇偶校验块,数据保护功能是RAID-5的2倍,但是写操作的性能也降低了。随着物理磁盘越来越大,RAID重建时间越来越长,如果重建过程发生不可更改的错误,或者重建过程阵列群组中有第二个磁盘发生故障,RAID-6或许能防止LUN出现故障。由于磁盘容量的原因,一些供应商支持RAID-6,不支持RAID-5.

  为了达到Exchange 2007对既定容量的需求,实现IOPS目标,RAID-5可能比RAID-10需要更多的磁盘。

  最后,性能取决于驱动器、RAID群组配置和RAID种类的功能特征。在挑选RAID-5(或RAID-6)时,由于RAID 5的局部分条写操作或RAID 6的双分条写操作,主机IOP需要实现4倍的操作。操作需要对驱动器进行奇偶性读取和验算,同时对驱动器和奇偶性进行写操作,使驱动器的有效IO速率降低四分之一。

  选择一种RAID

  要选择一种RAID,你需要平衡对容量、吞吐量、事务I/O和故障/重建性能的需求。RAID-1/0是数据库和邮件的理想配置,与大容量磁盘协作良好。在你的环境中,读操作占的比例是否较大?是的话,就采用RAID-1/0。在驱动器出现故障时,RAID-1/0能保持性能的一致性。

  对于RAID-5和RAID-6,重建性能对存储吞吐量具有重要影响,使吞吐量几乎减少一半,具体按照存储阵列和配置而定。在工作时间之外进行重建,可以减少这种性能影响,但是又得牺牲可靠性。在群集连续复制(CCR)环境中,你可以将Mailbox server迁移到被动节点,从而使其成为主动节点。如果这两种方法都不可行,在架构中应该设计额外的I/O吞吐量,在工作时间提供RAID-5或RAID-6的重建条件。这种额外的I/O吞吐量可以达到非故障状态下I/O吞吐量的2倍。

  如果你的备份解决方案(VTL或D2D)需要维持一定量的数据吞吐量,你就得考虑需要多少驱动器资源,才能维持“连续、顺序写操作”的性能水平。如果你的RAID阵列能够根据规格处理350 MB/sec的连续、顺序写操作,就可以简单地将控制器中的平衡负荷写入磁盘资源中。你需要保证驱动器数量足够多,阵列性能达到最优。通常情况下,你需要2到3“盘”阵列,才能完成这项工作。计划为每个“通道”(RAID阵列中通向RAID控制器的数据路径)创建RAID群组。因此,如果你具有双控制器的RAID阵列,你就需要使RAID群组在两个控制器之间平均分配。

  作者简介:Joel Lovell 是Storage Engine公司的高级存储咨询师,专门从事高性能存储和存储整合,在业务连续性解决方案、企业存储基础架构和企业存储管理方面,接受EMC的培训。Joel Lovell曾是Silicon Graphics美国公司的战略存储专家、EMC公司的高级系统工程师。

相关推荐

  • RAID类型详解

    RAID可以实现更好的存储性能,带来更高的可用性。市场上有许多种不同的RAID类型,阅读本篇RAID各类型的详解有助于了解其最适合的场景领域。

  • SATAe将消减PCIe与小尺寸SSD的性能差?

    SATA Express将PCI Express宽带与常见SATA连接器合并。这项技术将提供更高的性能,并且向后兼容普通SATA标准。

  • HDS VSP G1000阵列

    HDS VSP G1000产品是一款合适大型企业SAN环境的存储产品,尤其是高度虚拟化且需要TB级别的存储容量。

  • 为什么说对象存储与归档更加匹配?

    利用对象存储,你可以替换掉大型的二级存储阵列和基于文件的存储阵列。除此之外,你也可以替换磁带库。