用SSD解决数据中心存储瓶颈技术应用

2010-09-20    来源:it168网站    编辑:孟庆
上一期文章中,我们介绍了利用英特尔DCM数据中心管理平台控制和降低数据中心能耗的有关内容(点击这里),并通过百度数据中心的测试案例对其降低能耗的效果和机制作了比较通过对

  上一期文章中,我们介绍了利用英特尔DCM数据中心管理平台控制和降低数据中心能耗的有关内容(点击这里),并通过百度数据中心的测试案例对其降低能耗的效果和机制作了比较——通过对数据中心节点内任务负载的调配、处理器内核的功耗控制和监视是DCM平台工作的核心方法。那么,除了利用软件平台提升数据中心效率,变相减少能耗外,还有什么硬件上的技术手段可以进一步提升数据中心效率呢?

  其实一直以来数据中心的瓶颈都是多方面的,前面说的工作负载管理和计算效率是两方面内容,而存储瓶颈则一直是困扰数据中心效率的另一重要因素。

  1、 从原理谈数据中心存储优化终极方案

  根据冯诺依曼提出的计算机原理,二进制的美妙计算机制一直流淌在CPU晶体管的每一个电信号中。但是问题在于计算数据从何而来:CPU在计算时会首先访问CPU内的缓存(先是1级缓存、之后是2级、之后是3级),如果没有获得想要的指令或数据那么它会接着命令内存控制器从内存中读取相关信息(明白为什么内存加大对计算机速度有好处了吧),如果内存中没有的话,就会接着通过系统南桥(硬盘总线控制器所在地)命令硬盘开始读取数据给内存。

  在这一过程中,最快的数据I/O是CPU内的(理所当然,近水楼台自然快),其每秒读取的数据可以是TB级,接着是CPU与内存之间,通过QPI快速互联(以前还要通过北桥芯片),读取速度是GB级,而内存与硬盘间的数据读取只有区区百兆级别(普通SAS盘,未搭阵列的情况下)。那么,这个数量级扩大几百几千倍就是数据中心在存储方面遇到的瓶颈——如何缓解计算系统在访问I/O时的瓶颈。

  传统做法是加大内存——预先多从硬盘上读取些数据放在内存里,提高CPU与内存访问时的中靶率(信息命中率)。但问题在于,内存永远无法和硬盘容量媲美,你不可能把大量的数据始终读到内存中来。而且受限于内存控制器和处理器的寻址能力,内存不能无限增大。因此计算机科学家将注意力放在了后端的磁盘上。

▲常见的几种磁盘阵列模式

  磁盘阵列就是为了解决单块磁盘的性能和安全问题而诞生。这里我们不过多的介绍磁盘真理从RAID 0到RAID 10各标准区别在哪。我们只看看阵列中性能最好的两个模式RAID 0和RAID 5。RAID 0将相同磁盘并联在一起,看做一整个磁盘(容量为相同磁盘容量相加),存取数据时系统I/O平均分向各个磁盘,因此虽然单块硬盘的性能没有提升,但是通过平分I/O负载变相提升了磁盘性能。RAID 0的缺陷也十分明显:一块盘坏了,整个阵列的数据都会丢失。

  因此企业数据中心几乎不可能采用RAID 0模式,数据安全的无比重要性使得大家更可能采用RAID 0+1的模式,即一方面注重性能,另一方面打造一套一样规模的磁盘阵列做备份。这是某些注重性能的数据中心的做法(不过灾备方面远没有这么简单)。另一种阵列RAID 5很有意思,它一样用了均分I/O的办法,不过它将系统内的文件的奇偶效验值也平均写入每个磁盘中,其好处在于任何一个磁盘损坏,系统更换硬盘后,可以根据其他盘的奇偶效验数据计算出新盘应该有的数据,从而恢复运行。这是一个兼顾了性能和灾备的阵列模式,可靠性较RAID 0有了很大的提升。

  不过,在数据中心里由于规模太大,RAID 5模式只允许同时坏一块盘明显不可取——数据中心同时坏10块盘的事情也经常有。因此数据中心还会切分更多的小阵列群或是采用混合阵列的模式,而如今兴起的分布式存储从另一方面解决了数据并行吞吐和灾备的问题。

  更多细节不是本文的主旨,不必在这里细究,而新的问题在于:后端的磁盘存储性能固然有所提升,但稳定性可靠性以及大规模阵列带来了巨大的成本。随着固态硬盘SSD的诞生,新的数据中心存储解决方案附上水面:磁盘存储+SSD缓冲。

  2、互联网时代:数据中心需要固态硬盘

  固态硬盘由于存储原理不同,因此在随机I/O访问与寻址方面远高于传统硬盘,但是也因为NAND存储芯片造价高昂因而始终备受质疑。但在如今互联网发展迅速,虚拟化和云计算技术快速发展的今天,英特尔的专家团队认为SSD将成为企业数据中心的宠儿。

▲英特尔认为未来数据中心在迈向云计算的过程中不可避免的需要SSD做存储间的缓冲层

  英特尔认为SSD固态硬盘目前最大的应用前景在于互联网企业数据中心的高速缓存和云计算中心的缓冲层。如上图是一个典型的采用了虚拟化的云计算数据中心拓扑图, SSD在磁盘阵列之前充当数据缓冲层——其组成的阵列变相的可看做是一个外置的大型内存。英特尔2009年公布的IT业绩报告中也指出,在使用了固态硬盘之后其存储系统的年故障率从4.9%下降到了0.5%,而数据中心的建设时间也从1.25小时/每传统硬盘降低到了0.5小时/每固态硬盘。

  前不久英特尔还联合联合IBM公司共同推出了缓冲服务器Schooner。Schooner是一个即插即用的缓冲服务器——拥有两个四核至强5500处理器和英特尔X25-E SATA接口固态硬盘,具备较强的数据处理能力。并行的闪存控制器和8通道的千兆以太网卡使得Schooner在IO处理能力上得到很大提升,同时还具备较强的存储容量扩展能力。在英特尔看来,数据中心采用SSD来做缓冲层将提升数据流的传输和处理能力。

1
3