Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11487906
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-25 15:57:14


存储的总体拥有成本
    存储的成本不仅仅包括驱动器和RAID控制器成本,还包括磁盘驱动器耗电的成本,以及驱动器发热所引起的散热成本等等。笔者曾有一位客户想部署全SATA的存储系统,但又对性能有很高要求,于是笔者和这位客户就存储的真正成本展开了讨论,正是这件事让笔者产生了撰写本文的念头。
    在本篇文章的开始,笔者首先提出了一个假设,那就是在需要高性能的应用环境中,SATA驱动器的成本与光纤通道(FC)驱动器相比并没有太大优势。撰写文章通常是为了论证某种观点,但笔者更侧重于通过本文阐述观点。因此,在文中笔者会尽量客观地求证这个前提是否正确。在下面的文章中,通过对实际情况的分析,我们会得出结论。请读者切记,笔者在这里探讨SATA和FC驱动器的前提是满足性能要求,而不是存储密度为第一要求的。下面我们来看看这个观点是否正确。
    SATA的困惑
    因为SATA驱动器价格低廉,因此这种驱动器的应用范围非常广。就笔者所知,企业一开始采用SATA驱动器是用于D2D(磁盘到磁盘)备份的,但现在据说部分站点出于降低成本的考虑,已经使用SATA驱动器来满足所有存储需求。SATA开始被用在大型数据库主存储以及本是FC驱动器专用的领域之中,但这也带来了可靠性方面的担忧。
    这种担忧确实不无道理,为此RAID厂商不得不研发支持RAID-6的控制器,将保存奇偶校验数据的驱动器从一个增加到了两个,以此应对多个驱动器同时发生故障的风险。由于驱动器比RAID-5增加了一个,因此控制器和驱动器间的传输带宽的要求也就更高了。希捷网站上的数据显示,其750GB磁盘的数据传输率大约为78MB/S.如果用这种9块(8+1的情况)这种磁盘组成RAID-5的话,其阵列所需的尖锋带宽为每秒702MB.而在RAID-6的情况下(10块磁盘,8+2),所需带宽达到了每秒780MB,即带宽需求增加了10%.视频和音频流及那些需要高速读写的应用同样面临这个问题。此外,还有另一种应用需要高速读写,但却很容易被忽视,那就是数据库索引重建(Database re-indexing)。
    SATA驱动器已经吸引了几乎每个人的注意力,但因为SATA驱动器的比特误码率(Bit error rate)比FC驱动器更高,加上由于SATA磁盘的转速(RPM)较低、寻道时间较长所导致的IOPS(每秒I/O)速度较低,因此仍有站点购买使用FC驱动器。但主流趋势开始朝SATA倾斜,不过笔者对此并不感到乐观。
    所需满足的实际性能
    我们来具体讨论一下。假定这样一个环境,它需要满足特定等级的I/O流性能要求(以MB/秒或GB/秒计算)。那么,要满足这样的性能要求,就必须先满足下列条件:

内存带宽满足相应I/O性能要求
PCI通道满足相应I/O性能要求
拥有FC HBA (目前企业最常采用的连接卡)、iSCSI、SATA、HCA或NIC等存储连接
拥有FC(最常见的)、InfiniBand或以太网端口
支持FC、InfiniBand、SATA或以太网接口的RAID控制器
支持FC、SATA或SAS接口的磁盘驱动器
    由于这些硬件每一项都可能成为性能瓶颈,所以要满足整体的性能要求,上述每一项硬件都必须符合条件。例如,4Gb/s FC加上一个RAID控制器可以实现每秒4Gb的传输速度,但如果只有两个HBA接口,每个HBA上只有两个端口,那么其全双工传输速度就只能达到3.2GB每秒。这是因为每个HBA端口只支持800MB每秒的传输速率(读写各400MB每秒)。如此一来,控制器连接上足以实现每秒4GB传输速度的磁盘后,在这整个系统之中就是HBA成为了影响性能的瓶颈。
    因此,构建系统时必须确保硬件搭配的平衡,从而满足性能要求。要构建这样的系统,还需要涉及其中的每一种硬件都满足要求:内存和PCI通道带宽、HBA、交换机端口、RAID控制器还有必不可少的磁盘驱动器。所有这些硬件都需要耗电、散热和O&M(运行及维护),这些都要花钱,但在这里笔者没有把O&M成本考虑在内,它不属于本文讨论范围。

硬件的成本
    要满足存储性能要求,就要拥有平衡的系统架构。由于SATA磁盘驱动器在速度和可靠性上都稍逊于FC和SAS磁盘驱动器,要满足带宽需求,就必须配备更多磁盘;由于有了更多的磁盘驱动器,于是就需要更多RAID控制器;而由于磁盘的性能和可靠性较低,于是需要更多的HBA协助读写,从而需要更多的端口。
    总而言之,这会需要更多的硬件。问题在于,加上这些硬件及其供电和散热成本,SATA的每MB每秒成本还会比FC或SAS驱动器更低吗?如果更低,那又能低多少呢?
    美国希捷Cheetah 15K.5 4Gb 300 GB驱动器最便宜的价格是1000美元,这意味着它的每MB成本为0.0033美元每MB,但它的每MB的使用成本则约为10.10美元。同样希捷酷鱼750GB SATA硬盘价格是269美元,这块SATA硬盘的MB成本也就是0.00035每MB,几乎少了九成。而其每MB的使用成本是3.45美元,只是FC驱动器的三分之一左右。磁盘密度的成本差异比性能差异大了差不多3倍。如上文所述,磁盘密度成本只是整个系统成本的一部分而已。
    笔者认为,在性能需求至上的应用环境中,SATA的成本比FC和SAS技术都要高。SATA某些方面的成本只是FC的三分之一甚至十分之一,当然,这要看你考虑的是性能还是容量。但是,在成本方面,还有其他因素要考虑,这正是本文要探讨的内容。
    在今年早期的在美国加里福尼亚州圣琼斯举行的文件与存储技术会议USENIX FAST‘07上,有两篇文章(Disk failures in the real world以及Google's experience)对驱动器稳定性分析得都不错。
    这两篇文章提到了两个要点。一个就是由RAID控制器所连接的硬盘的稳定性远远达不到硬盘厂商宣称的高度。而且在相同条件下,SATA驱动器的稳定性远比FC和SAS低得多。究其原因,很可能是因为RAID厂商判断驱动器是否故障的依据只是最初的出错迹象。如驱动器在额定响应时限范围内没有响应。实际上驱动器很可能只是响应时间超长而已,最终是会从错误中恢复过来的。如果硬盘在数秒内没有响应,就笔者所知,有部分厂商就会判定这块硬盘故障并将它标为“需重建”。但实际上这块硬盘很可能最终会成功响应。通常硬盘厂商不会将这种硬盘判定为故障,因为硬盘最终还是响应了的。
    另一个要考虑的就是IOPS(每秒I/O数)。SATA和FC的随机IOPS速率相差无几,只是MB/S的传输性能有所差异。FC驱动器的MB/s传输速率和寻址及延迟时间都比SATA磁盘强。因此,要满足性能要求,FC仍是比SATA驱动器更好的选择,相同的IOPS公式也同样适用。
    数量和需求
    在这里笔者不打算引用FAST文章中的数据,因为这些数据都来自采用较老技术的硬盘,但笔者同意其中一位作者在FAST的文章中的看法,即驱动器的稳定性远没有其厂商宣称的那么高,毕竟RAID厂商对性能和响应时间的关注比硬盘厂商更高。
    希捷网站数据显示其15K FC驱动器年故障率(AFR)为0.62%.
    希捷网站不久之前表示,这一故障率换算为无故障时间就是120万小时。实际上,稳定运行50万小时是许多RAID厂商采用的数值,这样换算过来,它的AFR就变成了1.49%.
    同样根据希捷所公布的数据显示,SATA驱动器的AFR是0.73%.
    根据希捷网上的换算方法,假设这个数字换算成磁盘的无故障时间就是100万小时。同时假设RAID厂商采用50万小时和30万小时来计算——笔者在这里更倾向于采用30万小时这个数字,因为在工作负荷极高的环境下驱动器无故障稳定运行时间大多在30万小时左右,但为了公平起见,我们还是同时采用两个数字——这样一来,50万小时下的AFR就是1.46%,30万小时下的则是2.44%.

 为了满足性能要求,HBA和端口都会耗电。鉴于此,下文列出了各类数据通道技术(data path technology)中的用电需求:
    QLogic双端口4G HBA卡耗电6.5瓦,该公司网站没有提供相关的热量输出(BTU,英国热量单位为英热,1英热=1055.05585焦耳)数据。思科9500系列导向器包含48端口,每个4Gb端口耗电16.46瓦,需要输出3个BTU.
    RAID厂商提供的包含16个磁盘及控制器的阵列数据:

每个控制器耗电约60瓦
16个希捷500GB Tonka-2 SATA磁盘共375瓦
16个4Gbit 146GB 15K.4驱动器共382瓦
所需BTU散热能力视驱动器类型及其容量而定(容量越大能耗越高)
16个500 GB希捷SATA硬盘共输出1283BTU
16个146GB希捷4Gb FC驱动器共1300BTU
    简单计算一下就可以知道,一套FC托架耗电118瓦(382-(16×16.5)),而SATA托架则耗电167瓦(375-(16×13))。这很可能是因为后者需要单独的SATA控制器,而不像FC通过光纤连接。FC的耗电量因而增加了31%,而SATA则增加了45%.

  散热成本,加上附加的驱动器、控制器和端口,都让SATA的成本优势随着使用时间加长而变得微乎其微。SATA驱动器的价格确实只有十分之一,但把要求性能的应用环境中各项因素的成本都加上——在这里我们还没把散热和附加的RAID控制器及交换机端口(以及这些硬件的耗电量)成本计算在内——SATA的成本优势大幅缩水。
    在上面的计算中,驱动器的成本是按本文第一部分的数据计算的,而各驱动器最低价格是笔者在市场上搜索出来的。为满足增长的SATA驱动器数量而增加的RAID控制器数量以额外重建的成本并未计算在内。另外,额外的交换机端口、HBA和这些附加设备散热所需的耗电成本也没有计算在内。
    请切记,本文是以性能要求至上的应用环境作为前提的,现在的结论似乎证实笔者的直觉是正确的:在侧重于性能要求的应用环境中,部署SATA没有任何成本优势,FC和尚为普及的SAS驱动器仍是更好的选择。笔者的计算不包括散热、额外的HBA、交换机端口和相关耗电成本,也没有将未来的能耗成本计算在内。
    相信读者会见仁见智,但在性能要求至上的环境中,笔者个人是非常反对采用SATA驱动器的。
阅读(379) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~