大数据解决之道:华为OceanStorMVX存储系统技术漫谈
2012-09-10
大数据时代,用户处理的数据量越来越大,需要的容量越来越大;保存的数据越来越多样越来越复杂,包括不同的来源,不同的格式,包括结构化和非结构化数据等;需要的访问速度越来越高,访问延迟越来越低;对数据价值的挖掘能力要求越来越高。
根据Gartner的分析,满足大数据的IT架构,至少应具备下面几个特征
1) 横向扩展: 可以线性横向扩展而没有性能影响
2) 低成本组件:通过使用消费级硬件,降低采购成本
3) 高可用:硬件故障作为常态而非特例来解决
4) 不共享架构:节点之间相互独立
我们以此为基础,逐步揭开MVX的面纱。
Scale-uporScale-out
传统的NAS设备一般使用双控制器节点提供服务,每个节点支持特定的业务负载,当容量不够时通过扩展磁盘框的方式增加存储容量。这种方式的缺陷在于,首先业务和节点的绑定,意味着一个业务及其关联的文件系统只在一个节点上工作,容易造成系统整体的负载不均。其次,这种系统本质上是Scale-up的扩容方式,追求单机性能,无法做到系统性能随容量的增加线性增加。Scale-Out方式则是横向扩展,叠加容量或性能节点,使容量性能得到扩展。
华为OceanStorMVX存储系统(以下简称MVX)采用Scale-out架构,节点之间完全对称,采用全Active的Sharenothing方式,系统的数据和管理数据(元数据)分布在各个节点上,避免了系统资源争用,消除了系统瓶颈;即使出现整节点故障,系统能够自动识别故障节点,自动恢复故障节点涉及的数据和元数据,使故障对业务透明,完全不影响业务连续性。MVX支持3-288节点的弹性空间,100PB的全局统一命名空间,并且支持文件内的细粒度的全局锁,支持从多个节点并发访问相同文件的不同区域,实现高并发读,最终实现高性能的访问系统。MVX系统采用全互联组网机制,节点间采用10GE或者Infiniband高速互联,适配客户不同的组网需求,支持从集群任何一个节点并发访问系统中的任何文件。所以MVX通过节点的扩展来解决海量容量的增长,同时还能保持性能线性增长,以此满足业务发展需求。
MVX系统对数据和元数据分开管理,这样做带来的好处,MVX可以在存储容量不变的情况下,通过增加性能加速节点,进一步显著提高系统对IO的响应能力,最终向用户提供卓越的性能。
分布式Raid
传统Raid,把数据存放在一个节点内的不同硬盘上,当一个硬盘损坏时,通过Raid重构,恢复坏盘上的数据,但当整个节点故障时,整节点的数据就会出现丢失,针对这个问题,可以通过在节点间写多份来解决。节点间写多份可以解决传统RAID整节点故障时丢数据的问题,但磁盘利用率很低,导致高TCO。 MVX的数据通过分布式RAID,节点间冗余的方式进行保护,数据进入系统之后,被切分为N个数据片,然后计算出M个冗余分片,保存在N+M个不同节点的不同硬盘上。这种N+M的冗余模式可以对任意目录进行重新配置,甚至可以对同一目录下的不同文件配置不同的冗余比。这意味着用户可以灵活多变地根据自己的实际需求来指定数据冗余,从而设置不同的可靠性。
集群节点中,任意不超过M个硬盘故障后,MVX可以通过节点间数据重构的方式快速恢复出所损失的数据,进而恢复整系统的数据可靠性。集群中任意节点故障后,该节点所提供的服务会被自动迁移到其他节点上,使得故障对业务无感知。通过把数据分片写到不同的节点上,不仅可以提高读写性能,又能保证数据的高可靠性,还能保持高的磁盘利用率,节约投资。
分级存储和桌面盘
MVX产品对用户提供统一命名空间,组成统一命名空间的设备可以由不同系列的硬件组成,当高性能设备和大容量设备同时存在时,系统会自动识别并形成分级存储。
大容量节点可以使用桌面级硬盘。桌面级硬盘成本比较低,但是这种硬盘相对企业级硬盘来说,对业务的占空比要求比较苛刻,另外能持续在线工作的时间也比较短。MVX系统由于实现了自动在线分级,并且支持对硬盘下电,可以极大缩短硬盘在线工作的时间,在绿色节能的同时延长硬盘使用寿命。MVX通过支持桌面级硬盘在离线存储中的应用,大幅降低企业的采购成本。