关于云计算,目前业内并没有一个统一定义的标准,IBM Power产品总监李红在接受记者采访时说,云计算代表两个方面:一个是代表IT技术,第二个(也是更重要的)是代表一种经营模式,即按需提交IT服务的商业模式。所以,只要是可以按需灵活的提供给最终用户所需要的IT服务,就可以称为云计算。而云存储作为云计算之中的服务之一,自然也符合上述的描述。
不管是云计算还云存储,尽管目前没有一个确切的标准,但其已经被认为是未来IT发展趋势,那么其就必然要解决当下企业所面临的一系列难题。不管如何对云存储进行定义,其终究绕不开存储基础设施,同时也必然要解决企业目前面临的存储性能挑战以及海量数据的安全挑战等等。XIV作为IBM云战略之中的一个重要产品,那么XIV是如何解决这一些问题的呢?
IBM XIV存储系统的前世今生
XIV最初源于以色列一家同名的初创公司,其创始人为曾在EMC任职CTO的莫西•雅奈(Moshe Yanai),在EMC工作期间,其负责主持研发Symentrix DMX系统,有EMC“高端Symentrix之父”的称号,从事多年传统存储系统研发工作的莫西•雅奈对传统存储架构有着深刻的理解,也熟知传统存储系统架构的瓶颈所在。
IBM XIV存储系统
莫西•雅奈从EMC离职之后,创建了XIV公司,以及独特的Nextra系统解决方案,这个Nextra解决方案通过采用相对较低成本的英特尔处理器和 SATA驱动器等标准设备,通过独特的缓存算法把这些X86节点构成集群阵列系统,据称Nextra可提供比光纤通道(FC)存储系统更高的性能水平。自 2007年XIV被IBM并购之后,Nextra也被整合并入IBM的存储产品线中,并与IBM已有的存储产品DS8000一起担负IBM“攻坚”高端存储市场的重任。
XIV独有的具备Scale-out横向扩展能力的“网格”架构以及与众不同的数据保护方式——伪随机算法,使IBM对其寄予厚望。IBM认为XIV独特的技术优势极其适应云存储环境下要求随需扩展,且工作负载较为负载的应用环境,因此,XIV亦被看作是面向“云”的未来存储架构。
目前的XIV已经升级到了第三代产品,其内部体系架构仍沿用了XIV与生俱来的独特的全网格架构,但其对硬件及软件进行了全面升级,将原来的内部传输链路千兆以太网升级为Infiniband,关于Infiniband与以太网的区别,在2012数据库技术大会上,支付宝资深数据库架构师童家旺曾提供一组数据作为对比,其中Infiniband存储通道的延时在1-3μs,而万兆以太网的延时却在10-50 μs,这之间的差距可想而知。XIV升级到Infiniband之后无疑可以大幅提高其数据吞吐量并降低延迟。
并且XIV在CPU及内存方面均有升级,主机接口由原来的4Gb光纤过渡到8Gb光纤,同时,为了满足用户对存储性能的更高需求,IBM预计在未来还将加入“SSD Caching”选件。同时因为CPU和内存均升级到更高水平,其运算能力大幅提升,在单位时间内能够处理更多的数据,IBM似乎还考虑在未来的XIV中加入Scale-up纵向扩展功能,形成Scale-out+Scale-up的存储架构。
网格给力云计算:XIV Scale-out架构
XIV的内部采用了一种独特的全网格架构,内部由多个网格单元组成,每个网格单元都是基于X86的标准化架构,包括了前端端口、计算单元、缓存、后 端磁盘组成了一个紧耦合的网格节点。这种网格节点构成了XIV存储系统的主要部分,被称为modules(模块)。模块提供处理单元、缓存、主机接口和基 于标准的英特尔和Linux系统。
XIV机箱内部图
上图为一个2U标准的机架式双路至强5500服务器平台,其内部采用的是一颗至强E5620四核CPU,左侧由它控制的内存插槽中插有3条8GB的内存条,一共24GB。左上角的7个PCI扩展插槽分别被20GB/s InfiniBand HCA、千兆iSCSI网卡和8Gb/s Fiber Channel(光纤通道)HBA所占用。并且从上图中可以看到这个机头内部的电源和散热风扇全部冗余。
现在由于数据量的不断增大,企业对数据处理的需求也越来越高,传统存储的瓶颈实际上是磁盘的吞吐量,而磁盘由于其原理几乎很难再有飞跃提升,所以SSD 的出现,给存储性能带来质上的提升。目前许多存储厂商的存储产品均已经提供对SSD的支持,并将其作为缓存层来发挥其快速读取优势。上面已经提到XIV每个网格节点之中都用一个缓存节点,这个缓存节点同样也是利用的SSD的优势。具体如下图所示:
上图中标①处即为XIV中的SSD插槽,从这点上来看,XIV中似乎并不是像Fusion-io或者EMC VFCache那样使用PCIe SSD。
整个XIV存储系统中的单个节点与其他节点通过一个内部的以太网交换机实现冗余连接。所有模块在一起形成一个网格体系结构的工作模式,因此,该系统可以提供本身具有的并行方式,其强大计算能力能够适用于很多的并行分布式计算环境。
上图为一个15模块的XIV前后视图
与其他存储产品不同的是,XIV内部的节点与节点之间还存在不同的分工,如上图所示,在一个15模块组成的XIV存储系统中,其分为6个主机接口部分和 9个数据存储部分。主机接口部分的每个模块包含处理器、缓存、12块SATA磁盘驱动器以及光纤主机接口。数据部分的每个模块中也包含处理器、缓存、12 块SATA磁盘驱动器,但不包括主机接口。所有的这些模块通过一台内嵌的以太网交换机连接在一起,该内部网络可以提供最大的带宽利用率和单一组件失效的故障接管。
从硬件配置方面来看,接口模块和数据模块的结构基本相同,但却承担不同的功能。当然每个模块采用的磁盘,缓存和处理资源不一定与数据模块一 致,XIV中接口模块的设计包括光纤通道和iSCSI接口的主机系统的连接以及远程镜像。在XIV中,最基础配置的XIV有6个模块。其中3个模块作为前 端主机模块。再扩展的话,直接升级到9个模块,其中6个模块作为主机接口模块。但之后如果需要继续扩展,其主机模块将不再扩充,扩充的只是数据模块。这样 做的好处是,避免前端端口增加时,用户需要复杂的操作配置过程。
XIV存储系统全网格设计的好处显而易见,因为每个单独的网格中都配备了计算单元和数据存储单元,用户只需简单地添加这样的网格节点到已有的XIV存储系统中,就可实现容量与性能的提升。
海量数据保护:XIV伪随机算法
海量数据时代,存储系统还面临着另外一个挑战,那就是数据保护。传统存储系统中通常采用RAID的形式来对数据进行保护,但这一方式在海量数据时代 明显有些心有余而力不足。根据英特尔在IDF大会上展示的一组数据显示,在用2TB磁盘组成的RAID 5阵列中,如果阵列中某块磁盘故障,插入新的磁盘到这个阵列中,并进行数据重建。对一个容量为2TB的磁盘进行数据重建大概需要四个小时,这还是在最高优 先级的情况下,而在实际环境中,为了不占用关键业务的CPU资源,数据重建通常处于较低优先级,那么数据重建时间就会大大延长,几天甚至几周进行数据重建 的情况都是很正常的。
这还不是重点,重点在于,磁盘年故障率的数值看似较小,但在大规模部署的时候,这个几率就会无限放大,同时出现磁盘损坏的情况并非不可能。并且,传统的RAID 5阵列只能保证阵列中的一块硬盘损坏后能够数据重建,而RAID 6也只能保证两块硬盘同时损坏后,能够对丢失数据进行重建,一旦有更多的硬盘损坏,对于企业来说,这就意味着数据永久丢失(如果没有备份的话)。所以在海量数据时代,用户迫切需要一种新的数据保护方式来应对这一难题,如惠普公司提出的网络RAID做法,而IBM XIV存储系统之中则使用的是世界上独一无二的伪随机算法来对存储数据进行保护。
XIV内部通过独特的算法,将每个文件拆分成1MB的大小,并根据伪随机的算法,将这1M的数据存储在内部任意一个网格处理单元中的任意一块磁盘 上,与此同时在另外任意一个网格中也放置一份拷贝。直至整个系统达到相当的利用率,并保证每个网格处理单元的利用率保持在差不多的水准。IBM XIV的伪随机数据分配示意如以下Flash所示:
XIV通过对多种数据类型进行切割,并将切割后的数据分散存储到磁盘中,并保留副本。这样,实际上磁盘上的每份数据,在系统里面都存在一个相同的副 本。一旦某块磁盘当掉,替换上新的磁盘后,系统会自动的根据保存在其他磁盘上的数据副本,来恢复这块磁盘上原有的数据。由于这块磁盘上的数据副本,本身分 散在不同的磁盘中,因此数据恢复的过程,由多块磁盘共同完成,恢复的速度非常快,比传统的RAID5恢复速度快一倍,1TB的硬盘坏掉,仅需要约30分钟 左右的自愈时间。而且数据恢复的过程中,对前端性能的影响非常小。这也是XIV网格存储系统独特的数据保护模式的优势。
对于两块磁盘同时损坏的情况,由于XIV通过伪随机算法,保证所有的数据随机分散在不同的磁盘上,因此两块磁盘的数据都能在系统内部不同的位置找到 副本,因此同样能进行恢复,只有一份数据的两个副本所在的不同的两块磁盘同时损坏的情况下,才会导致数据不可恢复,但发生这种情况的机率非常低,因此企业 大部分情况下对数据保护的需求都能够满足。
总结
IBM XIV存储系统中所采用的全网格架构能够满足企业云存储按需扩展的需求,只需通过添加单个计算单元(网格节点)就可实现容量与性能的线性增长。同时,其采 用的伪随机数据分配方式能够满足当前企业在海量数据背景下的数据保护需求。除此之外,XIV存储系统中采用的图形操作界面管理极为简单,也能够满足企业 IT资源集中之后的运维管理难题。
XIV存储系统在设计之初就考虑到了用户的易用性问题,XIV采用了一个简单易用的图形用户界面,可大大提高存储部署的速度和效率,用户不需要单独 的控制台就可以完成XIV的部署配置,且管理GUI包含了预先设定的配置模型,帮助用户实现快速配置及调优,如创建卷、FlashCopy映射或设置 RAID配置。对用户来说,简单易用的部署操作,不仅仅节约技术上的人力和培训投入,更快的解决方案部署也最大限度的减少对应用和管理人员的影响。
总的说来,不管是从性能、可扩展性、数据安全以及易用性方面考量,IBM XIV存储系统是目前较为适合企业用户在部署私有云系统时,较为合适的存储基础设施。