存储 频道

网格"给力"云存储 剖析IBM XIV体系架构

  【IT168 专稿】业界对云计算的定义多种多样,不过,从公认的几种云计算模型看,存储是无论如何也绕不开的基础支撑组件,云存储作为云计算服务的分支之一,更是把存储提到了首要的位置。与此同时,能够在底层架构中很好的解决存储问题的供应商恐怕并不多,要实现云计算,存储还面临诸多瓶颈。

  传统存储的瓶颈

  首先,无论是公共云还是私有云,云存储首先意味着数据存储的规模急剧扩张。用户需要无缝扩展的存储,能够从较小的数据量需求,无缝扩展至PB甚至ZB级别的存储需求,与此同时,还需要保持良好的访问性能。

传统存储的瓶颈
▲在云存储呈现出惊人的增长态势背景下,云存储对传统的存储架构提出了多重挑战

  随着云存储增长呈现出惊人的加速态势,传统存储在云时代已经力不从心:传统的双控制器或者多控制器存储,当容量和性能进行扩展的时候,往往只能单纯的增加后端的磁盘数量,当磁盘数量增加到一定的时候,前端控制器、背板却无法随之扩张,形成了性能瓶颈。在云存储飞速增长的市场背景下,采用Scale out架构的集群存储系统获得了更大的发展空间。

  一般来说,Scale out的集群存储由多个存储节点组成,每个节点都包括了前端端口、控制器模块、后端磁盘组成了一个紧耦合的存储单元,在容量或性能需要扩展的时候,会以节点为单位逐步扩展。这种架构完全不同于传统的SAN和NAS 架构,它就像一列高速驰骋的“动车组”,车厢增加了,速度也丝毫不受影响。容量扩展的同时,性能同步提高。从而彻底打破传统存储的扩展瓶颈。

  此外,阻碍云存储普及的重要因素,就是用户在“云安全”方面的担忧。当大量数据从本地迁移到云端?如何保证这些数据不被泄露、不会宕机?如何保障系统的访问性能?并确保数据能从云端无缝迁移至本地?云存储在飞速发展的同时,也带来了更多有关数据安全的挑战。

  另外一方面,从终端用户的使用体验来说,云时代的存储应该是“透明”的。什么是“透明”呢?就是让用户完全无视人机交互界面之后复杂的IT架构,让用户像使用本地资源那样去使用远端的存储系统而完全体会不到两者的区别。

传统存储的瓶颈
▲IBM XIV产品外观

  XIV是IBM于2008年推出的存储系统产品,由并购的以色列公司XIV技术衍生而来,作为 IBM全系列系统存储与 SAN 产品的一部分,XIV存储系统与IBM原有的旗舰高端产品DS8000系列一起,共同覆盖高端市场需求。总体而言,XIV的技术特点可被概括为三点:完全网格化的体系架构形成整体系统的高并发与高扩展性、内置类RAID1的数据保护模式完全摒弃了传统的RAID保护模式、以及独特的条带化IO消除系统热点,针对云存储环境下的混合工作负载有较好的性能保证。

  大规模并行的网格架构

  XIV的内部采用了一种独特的全网格架构,内部由多个网格单元组成,每个网格单元都是基于X86的标准化架构,包括了前端端口、计算单元、缓存、后端磁盘组成了一个紧耦合的网格节点。

  这种网格节点构成了XIV存储系统的主要部分,被称为modules(模块)。模块提供处理单元、缓存、主机接口和基于标准的英特尔和Linux系统。它们通过一个内部的以太网交换机实现冗余连接。所有模块在一起形成一个网格体系结构的工作模式,因此,该系统可以提供本身具有的并行方式,其强大计算能力能够适用于很多的并行分布式计算环境,如图 。

大规模并行的网格架构
15模块配置的XIV前后视图:主机接口部分由6个模块组成,每个模块包含处理器、缓存、12块SATA磁盘驱动器以及光纤主机接口。数据部分由9个模块组成,每个模块包含处理器、缓存、12块SATA磁盘驱动器,不包括主机接口。所有的这些模块通过一台内嵌的以太网交换机连接在一起,该内部网络可以提供最大的带宽利用率和单一组件失效的故障接管。

  在概念层面上,数据模块的功能是系统构建数据块的基本元素,此外,XIV内部的节点与节点之间还存在不同的分工:分为主机节点和数据节点,主机接口部分由6个模块组成,每个模块包含12块SATA磁盘驱动器;数据部分由9个模块组成,每个模块包含12块SATA磁盘驱动器。

  从根本上说,接口模块其实和数据模块的结构基本相同,但是承担的功能不同,此外采用的磁盘,缓存和处理资源不一定与数据模块一致,接口模块的设计包括光纤通道和iSCSI接口的主机系统的连接以及远程镜像。

大规模并行的网格架构
▲以上是15模块配置的XIV的逻辑架构概览。现在最基础配置的XIV是6个模块 其中3个模块作为前端主机模块。再扩展的话,直接到9个模块,其中6个模块作为主机接口模块,未来主机模块将不再扩充,扩充的只是数据模块。这样做的好处是,避免前端端口增加时,用户需要复杂的操作配置过程。

  XIV存储系统包含一个冗余的交换以太网络结构,负责进行数据和元数据之间的通信模块。包括两个接口模块之间的数据交换;接口模块和数据模块之间的数据交换;以及两个数据模块之间的数据交换。主机节点和数据节点通过内部以太网交换机连接起来,采用了独特的算法构成了一个大规模并发的虚拟化架构,利用高容量和低成本的SATA磁盘驱动器实现了较高的性能。

  与传统存储架构进行对比

  并行的概念贯穿与XIV存储系统各个方面,这种架构提供了一个平衡的手段,采用分布式的冗余数据和分布的计算资源池(或网格)。为了更深层次的解释这种并行的原理,我们先了解一下传统存储体系架构的特点。虽然传统的存储架构和XIV的网格架构都能够完成相同任务,但是二者间却有着根本不同的拓扑结构定义。

  传统存储架构的特点是:一般是具备单一的强大功能、综合的、完整的并有个性化的,稍昂贵的计算资源。但是整体架构不易于采用新的或外部的技术,同时当整个系统扩展到一定程度之后,他们需要仔细的匹配计算的当前系统资源,不能非常容易的实现整个系统的整体扩展。

  传统存储系统架构示意图

与传统存储架构进行对比
▲传统存储架构包括磁盘、缓存、控制器、主机接口等,但相互之间属于“松耦合”状态

  因此,网格存储架构的优势表现在:

与传统存储架构进行对比
▲(点击图片可看大图)

  独特的数据保护模式

  与独特的硬件架构相匹配,XIV的软件算法也非常高效。也由此形成了XIV独特的数据保护模式、在混合工作负载下良好的适应能力和简单易用的管理模式。除了硬件的并行性,XIV存储系统也采用先进的并申请了专利数据分配算法,以实现非常好的的并行。

独特的数据保护模式
XIV申请专利的伪随机数据分配

  一般来说,存储系统内部都能够提供RAID冗余数据保护的模式,较为常见的RAID保护模式包括RAID0、RAID1、RAID5。XIV同样提供了独特的内部数据保护措施,这种特性使得XIV有很强很好的高可用性,具备像壁虎一样的能力,就是任何一个模块、或者任何一个盘出现问题的时候,不用任何干涉,自动就自愈了。

  根据前面的介绍,XIV通过内部的算法,把每个文件拆分成1MB的大小,并根据伪随机的算法,将这1M的数据存储在内部任意一个网格处理单元中的任意一块磁盘上,与此同时在另外任意一个网格中也放置一份拷贝。直至整个系统达到相当的利用率,并保证每个网格处理单元的利用率保持在差不多的水准。


以上Flash文件演示IBM XIV如何进行文件分割,如何将分割后的文件存储到磁盘并保留副本,解释了XIV独特数据保护模式的原理

  这样,实际上磁盘上的每份数据,在系统里面都存在一个相同的副本。一旦某块磁盘当掉,替换上新的磁盘后,系统会自动的根据保存在其他磁盘上的数据副本,来恢复这块磁盘上原有的数据。

  由于这块磁盘上的数据副本,本身分散在不同的磁盘中,因此数据恢复的过程,由多块磁盘共同完成,恢复的速度非常快,比传统的RAID5恢复速度快一倍,1TB的硬盘坏掉,仅需要约30分钟左右的自愈时间。而且数据恢复的过程中,对前端性能的影响非常小。这也是XIV网格存储系统独特的数据保护模式的优势。

  对于两块磁盘同时损坏的情况,由于XIV通过伪随机算法,保证所有的数据随机分散在不同的磁盘上,因此两块磁盘的数据都能在系统内部不同的位置找到副本,因此同样能进行恢复,只有一份数据的两个副本所在的不同的两块磁盘同时损坏的情况下,才会导致数据不可恢复,但发生这种情况的机率非常低,因此企业大部分情况下对数据保护的需求都能够满足。

  此外,XIV彻底的存储虚拟化架构上集成着许多不同的快照,但只有更新数据时才会消耗物理容量,因为只有当源发生改变的时候,快照才会使用物理空间。

  混合工作负载下的性能保障

  我们已经介绍过了XIV集群存储系统的扩展模式,前端的处理能力随着后端的磁盘容量一起成比例的扩展。与这种硬件架构相匹配的,是大规模并发的内部处理能力。XIV的一个网格处理单元包括了IO、处理器、缓存和低成本的SATA磁盘,无数个网格处理单元紧密地联系在一起,进行并发的处理,因此能够以Tier 2 的成本带来Tier 1的性能。

混合工作负载下的性能保障
▲IBM XIV可升级的网格架构特点

  此外,XIV存储子系统的虚拟化在整个架构中非常重要,其存储的虚拟化发生在分离的存储子系统间,在主机和存储之间采用不同的虚拟化层次。XIV存储系统是唯一的在存储子系统本身实施一个创新的全面存储虚拟化。这种方法允许子系统的逻辑结构发生改变的时候对外是动态透明的,同时保持卓越的负载平衡和资源利用的最低水平的硬件粒度。


以上Flash文件演示说明了IBM XIV如何进行工作流分配,说明XIV在应对混合工作负载的状况下的良好的性能一致性

  尽管用户的应用系统极为复杂,但对于后端存储系统来说,基本可被概括为两方面数据类型。一方面是数据库的小数据块离散读写要求,另一方面,整体系统中往往存在大量的文件型数据,如比如word文档、flash动画、图片、视频等,这些文件型数据需要强大的顺序读写能力。

  在传统存储中,系统管理员往往会手动划分业务的优先级,将优势的资源保证一些重点业务应用,这样带来的问题有两点,第一,非重点业务应用的服务水平可能会过低;其次,当业务压力状况有所变化时,静态的划分资源的方式可能会出现不匹配的情况。

  XIV的网格存储系统通过内部独特的算法,对所有的任务资源分配采用了完全均衡的处理模式,通过大规模的并发操作,保证了不同应用、不同数据类型的较一致的服务水平。

  突破性的简单管理

  XIV采用了伪随机算法的方式,确保数据平均分布在所有可用的磁盘硬件资源保持冗余。传统的存储系统依靠存储管理员仔细计划之间的关系逻辑结构,如存储池和卷,和物质资源,如驱动器和阵列,以战略平衡的工作量,满足需求的能力,消除热点,并提供足够的性能。因此,每当有一个新的需求要求,或改变现有资源的需要,存储管理员负责资源的重新规划和调整,这可以说是一个容易出错和耗费时间的过程。

突破性的简单管理
XIV界面与EMC、HP界面对比,全图形化界面更易于操作,且最大程度降低了人工操作的复杂度

  XIV在设计之初就考虑到了用户的易用性,在配置部署方面极其简单易用。XIV采用了一个简单易用的图形用户界面,可大大提高存储部署的速度和效率,用户不需要单独的控制台就可以完成XIV的部署配置,且管理GUI包含了预先设定的配置模型,帮助用户实现快速配置及调优,如创建卷、FlashCopy映射或设置RAID配置。

  对用户来说,简单易用的部署操作,不仅仅节约技术上的人力和培训投入,更快的解决方案部署也最大限度的减少对应用和管理人员的影响。

0
相关文章