【IT168 应用】将硬盘驱动器类型简化成好、更好、最好的方案这种想法太简单化了。看过分级存储核心思想后你可能会想:“顶层我用最快的驱动器,完成高I/O和交易型任务,用中级驱动器完成近线任务,然后用最慢的企业驱动器用作大容量存储。”这种想法有些道理,但也会带来困扰。比如,在中至下层是用附加串行的SCSI (SAS) 硬盘驱动器好呢还是用串行ATA的SSD好呢? 事实上,这个问题比它看上去的要复杂得多。
SAS在大企业里已经有了多年的稳固地位。但在小一些的企业里,因为他们对价格敏感度更高,所以SAS的使用没有那么普遍。显然,SAS不是任何情况下都适用的。如果对SAS是什么以及它与SATA有何区别有更充分的理解,就能帮助IT购买者作出更好的决定,确保他们选择使用正确的技术,从而实现最好的总价值和投资回报。
SAS基本知识一览
很多年来,企业存储都很依赖使用小型计算机系统接口(SCSI)命令集的设备。SCSI 定义了主机和周边设备间的对话,它可以识别这一端的SCSI启动设备和另一端的SCSI 目标组件。有多达16种设备可以与一条单SCSI主线连接,这对于过去我们为了配合Parallel ATA驱动器技术而使用两个设备(一个主动,一个从动)的时代而言是很大的进步。
SCSI 命令集可编程,性能稳健,表现突出;而与传统SCSI并用的平行接口则不是那么好用了。就在USB逐步盛兴让平行外围设备连接越来越没市场的时候,串行存储器接口也得到了认可。1995年发布的光纤通道标准包含了大部分SCSI指令。在以太网上运行SCSI指令的iSCSI正在逐步取代光纤通道作为存储网络技术的统治地位。不仅如此,SAS 还能在SATA 电路上运行SCSI。 事实上SAS也使用ATA协议(以及SMP),SAS控制器还能跟第二代或者之后的SATA驱动器兼容。这一点很重要,因为后面我们还会提到它。
SAS的信号发送速度在2009年便已提升至6 Gb/s,而SATA近期才开始这一转变。而且,SAS已经在向12 Gb/s这一速度迈进了。现在我们既有硬盘SAS驱动器,又有固态硬盘SAS驱动器,固态硬盘和硬盘驱动器既可以使用MLC也可以用SLC,并且每分钟转速有7200, 10K和15K三种选择。而SATA则鲜有10K转速的,且无15K这一选择。
SAS和 SATA还有其他一些较为显著的区别。相对于ATA SMART指令集,SCSI 指令集更适应用于故障恢复,这一点对企业用户是很具吸引力的。而SAS的高信号电压则可以允许使用长达33英尺的数据线,SATA则只能用3英尺(或者6.6英尺如果使用外部SATA)。更重要的是,SATA控制器是根据自己所在的端口来判断驱动器的,而所有的SAS设备都装有一个独有的全球名称(WWN)识别码。SAS能成为大规模存储网络的媒介,这个WWN至关重要。SATA则没有这样的弹性和可扩展性。
2.SAS的发展壮大
对于SATA的某些缺点,其实有弥补的方法。WWN 让SAS驱动器具备了网上直接寻址能力。这一点SATA也能办到,如果给它安一个插入器的话。这是一个插在驱动器SATA端口的很小的电路板,它的另一端可提供寻址功能以及一个SAS端口。不过,插入器增加了系统复杂性的同时也降低了其可靠性,可以说是为系统故障埋下了一个隐患。SAS无需插件,系统整合更加简化。不可否认,插入器会附加一些功能,但它们无法改变主驱动器基本的可靠性和性能。因为插件有其自身的增量成本,它们大多数都用来帮助企业提升现有存储设备功能,以及将现有SATA驱动器的使用范围扩大到更大的存储网络。几年前SAS 和SATA驱动器价格差距还比较大,当时使用插件更多是因为没的选择。如今,很多公司更愿意买SAS驱动器,而将老的SATA当作JBOD的附件来用,或者干脆将其用于桌面存储。
随着存储网络的不断普及,对错误检查功能有了更高的要求。 将从母版中获取的数据传到直接连接的驱动器上是一回事。经过多个转接点后获取到同样的数据信息,无论是从小到服务器内部还是大到在全国范围内,是另一回事。每个地址转换过的转接点都存在出错的可能。SATA使用的是基本错误校验,但是驱动器里没有哪个部件可以保证说“我会确保我收到的信息和最初发送的信息是一模一样的”。如果传输过程中出现字节错位,SATA 驱动器只会记录下这个错误,然后就无能为力了。而SAS驱动器则可以倚靠类似于ECC服务器存储器使用的先进技术,以及信息流中的元数据找出错误并将其修复。
错误定位和修复正逐渐显示出其越来越重要的价值,尤其当我们看到SAS除了可用于常见的2-4驱动安装外,还有更大的使用弹性。正如我们所知道的那样,大部分母版都只能容纳4-8个SATA设备。SAS却不同,它有一个运作范围,这一点很像传统的商业网络。有了网络之后,你可以用不同类型的SAS转换器(一般被称为扩展器)在一定范围内将设备聚合起来。一个边缘扩展器上可以加载128个器件,每个输出端扩展器上又可以加载128个边缘扩展器,因此,一个SAS系统能包含16,384个器件。
当然,大多数用户都远远无法用到这个数量。不过即便如此,在机架时代,需要一个能包含几十或上百个驱动器的存储解决方案的情况也比比皆是。因此,SAS架构的潜在特性可以在这方面大放异彩。
小企业也许还没到为架装安装驱动器附件伤脑筋的地步,但他们的应用软件仍需要借助SAS驱动器的性能和可靠性。在这种情况下,一般会选用一个SAS独立磁盘冗余数组(RAID)控制器或一个主机总线适配器(HBA)。两者都是内插式卡,可为系统提供更多存储设备端口。它们的主要区别在于,RAID 控制器有一个芯片式存储处理器,它能完成和实现RAID实时运行时所需的复杂的奇偶校验程序。HBA 缺少这样的控制器,所以它把RAID任务又交回给了CPU。一般情况下HBA比RAID适配器便宜,但大多数IT管理者都不喜欢让一些无关紧要的存储任务占用他们的计算机资源。也就是说,HBA可能在某些特定的应用程序中,或者在能买到更好的控制器的资金到位之前,可以作为一种权宜之策。另外,如果使用RAID控制器,同样的任务用一个较慢的CPU就可以解决,此处省出的资金用来弥补两卡之间的差价也绰绰有余了。
这张图片展示的英特尔RAID控制器RS2WG160就是一款较为典型的高性能、现代SAS-2 (6 Gb/s)卡。适配器装在一个x8 PCI 高速总线上,以扩展带宽,它使用的阵列可以达到RAID 60这个级别,而且通过1-4个输出电路能连接多达16个RAID。另一个关键之处是,RAID控制器可以支持RAID漫游。因为RAID卡的存储控制器决定了RAID奇偶校验方法,因此,如果主系统崩溃,比如母版或操作系统故障时,可以将卡片和驱动器植入备份系统中。
可以使用一个带有存储基架的底盘作为输出电路的替代品。 这种方法对于那些主要用来作可扩展存储的系统而言更加常见。你甚至能从某些高端用户那里找到3或4驱动器SATA基架,这么安装主要是为了帮助驱动器进行热交换。使用轨道的驱动器通过滑动的方式嵌入系统中,驱动器后部的主数据/功率端口将嵌入位于驱动器外壳后方与主数据/功率端口配套的基架副端口上。这样操作之后,进行维护或驱动器升级的时候,就免除了布线的麻烦。
现在我们来分析一下SAS控制器能兼容SAS和SATA驱动器的情况。它能带给用户很大的方便,即能够在一个单独的系统中实现单个控制器的存储分层。在企业SATA驱动器用于交易阵列(Tier 1级),甚至只能应对近线(Tier 2级)阵列,用于较慢的大容量存储器时,速度最快的SAS驱动器已经能应用于联机(Tier 0级)数据了。
面对系统的壁垒时,拥有这种可扩展性是很重要的。通过使用外部扩展器和附件,可以利用一个单独的控制器组装并管理很多的驱动器集合。不过,你可不能在同一个阵列中把SAS和SATA驱动器混在一起用。因为它们之间的性能差异会抵消掉SAS的优点。
3. SAS的数据安全
既然我们说到了附件,硬盘驱动器的性能很少被谈论到的一个方面就是振动耐受性。作为一个有着旋转结构的机械装置,所有的硬盘驱动器都会出现一定的振动。盘转得越快,振动就会越剧烈。如果只是一个驱动器,那么就不必担心了,但很少有企业只用一个单独的驱动器。事实是,尺寸各异的驱动器往往会被成组来用,所以它们能结合起来组成各种RAID组。把十几个或更多的驱动器组合起来使用是很常见的,这样可以传输受到奇偶检验保护的多个TB字节的数据。不过这里潜在着一个风险。
我们已经看到了振动谐波的效用。站在原声吉他前面说话之后,你会听到某些琴弦对你的声音产生的气压波比其他弦要更敏锐,振动更剧烈。只需一个小实验,你就能找到你声音中的哪些音高会引起弦最大程度的振动。或者,也许你看过1940年塔科马港纽约湾海峡大桥倒塌的视频,倒塌的原因就是持续的大风引起的谐波让桥身不断抖动直至将其摧毁。同样的原理也适用于硬盘驱动器。驱动器如果在某个振动水平长时间运行,会而且是一定会产生足够多的总振动,然后损坏整个驱动器。不,这种伤害还不至于把你的PC机或服务器分两半,但它会把位置需要高度精准的磁头振离轨道,从而引起读/写错误。
几年前,希捷公司对驱动器振动水平及其对性能的影响进行了研究。该项研究将33个不同的配有希捷Cheetah10K.6驱动器的存储组捆绑在一起。10,000 RPM 这样的转速如今对于企业而言属于中等水平,但这个速度仍然可以接受。根据希捷公司的研究结果,标准SATA台式机只能承受6 rad/sec2的转速振动,而一个优化了的企业驱动器能承受的值是21 rad/sec2。考虑到你无法在使用之前了解某个存储组的具体特性,振动耐受度确实关系重大。如果一个满载的存储组可能要面对很大幅度的振动,而只有小部分SATA驱动器能保持稳定的性能的话,你应该在选择将其作为驱动器接口装入SATA前了解到这一点。
振动幅度会影响驱动器性能,这一点显而易见。希捷公司使用自己的Barracuda和Cheetah驱动器作为基准后发现,10rad/sec2的振动幅度会使桌面驱动器性能降低百分之30%,而企业驱动器只会降低10%。振动幅度低于20 rad/sec2时企业驱动器不会受到太大影响。正如你看到的图中所显示的那样,有少数存储组的振动水平会达到30 rad/sec2或更高。真的到了30 rad/sec2的时候,桌面驱动器就停止工作了;近线驱动器性能只能达到以前的一半,但企业驱动器仍能实现非常好的状态时95%的性能。造成这种差别的部分原因是企业存储器使用了板上加速器和控制器,它们能计算实时振动幅度,并相应调整驱动器的工作功率。相对于同门3.5”而言,形状参数较小的2.5”驱动器能实现更高的数据密度,而且,更小的盘身意味着更小的振动。选择购买产品的时候,这可能也是你需要考虑的因素之一。
要知道,振动耐受度也是驱动器的一项功能,它既不属于接口类型也不属于制造商的营销范畴。
SAS提供更好的数据安全性的另外一种方式是它出色的平均无故障时间间隔(MTBF)率和/或年故障率(AFR)。比如,一个先进的用户级SATA驱动器,以希捷公司的7200 RPM Barracuda XT举例来说,它的MTBF为750,000小时,AFR为0.34%。一个真正的高性能企业驱动器,像希捷的2.5” Savvio 15K.3 6Gb/s SAS驱动器,它的MTBF高达2百万小时,AFR为0.44%.
仔细看过这些数据后你也许会心存疑问。没错,企业驱动器的AFR比用户驱动器的高。原因可以从希捷公司提供的下表中找到:
用户驱动器的工作周期(对照更长工作周期的用户SATA)是每周五天,每天8小时,或每年2080小时。而企业SAS驱动器则是一周七天无间断工作,因此每周为24x7小时,或者说每年8760小时。所以,仅容许故障率这一项就有4倍的差距。SAS驱动器打破了以小时为单位计算故障率的模式,对于目标群是普通用户的SATA而言,SAS驱动器完胜。
还有一点是双端口在SAS上的广泛应用。希捷的近线Constellation ES和ES.2 驱动器都是双端口,这样的设计可以允许有两条分开的路径通往驱动器,从而实现更高的冗余。如果一个端口出现故障,另一个仍能保证数据可读。以前,这样的“完全失效备援”支持只在光纤通道驱动器里才有,现在SAS也有了这一功能,而且价格更低。
双端口SAS驱动器也能实现(在多个SAS发起端)驱动器群组和驱动器间的负载平衡。负载平衡有助于确保所有的驱动器都能有同等水平的耐久性,从而避免过度使用引起的过早失效。
4.最大利益
企业选择SAS的衡量因素有很多,我们这里只介绍了一些,还有很多没有提到。比如,对于那些优先考虑性能的企业来说,SAS 在IOPS 方面优势明显。希捷的SAS驱动器在负载和空闲时的能耗往往比SATA要多1W,但如果把I/O性能考虑进去的话,SAS的IOPS/watt 会高出38%。这样算来,最终能耗上面节省出的资金会补足SAS驱动器高出的价格。还要注意,插入器也将附加1W的耗电量。
高性能在线应用程序一般都需要SSD,比如像希捷公司的Pulsar .2和 XT.2型号产品,这些程序中SAS接口可能无法有同等出色的能耗表现,但SAS其他全部的优点都会发挥出来。潜在速度可能包括6 Gb/s SAS Pulsar XT.2驱动器的8驱动器组,它可能和一个速度慢很多但同样可靠的8 Constellation ES.2驱动器组的底盘一起运行,从而产生多达24 TB的近线存储——这些都来自于一个立式机箱里的一个SAS控制器。
对公司来说,最重要的事情基本上是SAS架构在控制器和/或基架层面的标准化。它们都各就位之后,就会有更多成本效益更好的选择出现。只要方案够合理,管理者可以根据自己的想法任意混合或结合SAS和SATA。但如果以SAS为主体,任何存储方案都会在价格或性能方面有非常好的表现,因此为企业带来很好的收益。不存在用哪种存储器会更好这样的限制,内部或是外部存储器都可以;用直联还是网联的方法也都没有问题。SAS将非常从容地为所有的用户带来福音。
要从长远的角度着眼,让你的公司拥有更加标准化的SAS存储方案,这样就可以为你的存储方案带来更大的选择空间,让性能达到非常好的,让投资回报比过去任何时候都要好。