基于国产服务器的分布式存储技术研究

(整期优先)网络出版时间:2016-07-17
/ 3

基于国产服务器的分布式存储技术研究

郭孝基

广东电网有限责任公司东莞供电局523000

摘要:介绍了常见的分布式存储技术及目前国内外分布式存储技术现状,针对基于国产服务器的分布式存储目前存在的不足,即分布式存储在面向低功耗多核处理器时的不足、面向高带宽内存时的不足,以及面向在面向异构存储时的不足,本文提出了一些优化的思路和解决方法。

关键词:国产服务器、分布式存储、优化

引言

随着“互联网+”时代的来临,电网企业需要处理的数据已经远超例如“客户用电信息”这样的结构化数据,半结构化和非结构化的数据在电网企业的生产经营活动中出现地越来越多。这对我们的数据存储和处理技术都提出了新的挑战。

受制于物理定律和功耗等原因,目前(国产)分布式计算系统提升效能的主要手段已不仅局限于提升单个元器件(如CPU、内存等)的性能,而是更加依赖挖掘系统层面的并行能力[6][7]。

另一方面,在国家愈加重视信息安全的大背景下,服务器和存储等信息化基础设施的自主可控显得尤为重要。纵观当前国产服务器的研发情况,仍以x86架构为主,未完全实现对服务器最核心部件CPU的自主可控。随着2014年IBM对OpenPower技术(属于RISC架构)的开放,国产服务器也将采用OpenPower架构CPU进行生产,并形成自主可控的国产服务器技术。但由于基于国产服务器的分布式计算系统的技术积累相对较浅,市场应用并不广泛,其分布式存储架构的性能和扩展性等相较国际先进技术仍存在较大差距,同时各类用户对基于国产服务器存储架构的了解也不够深入。

分布式存储技术

数据存储技术起源于70年代的终端/主机计算模式,当时数据集中存放在主机上,因此数据存储的核心是主机上高效的文件系统。随着80年代以后客户机/服务器计算模式的普及,网络上的文件服务器和数据库服务器通常成为核心数据聚集的地方。同时,在网络上分布的客户机也会存放一些数据,数据分散存放的特点促进了数据存储技术向分布式数据存储快速发展[1]。

分布式存储系统是大量普通廉价的服务器通过Internet互联,对外作为一个整体提供存储服务,具有高性能、高可靠性、高可扩展性、透明性和自治性等特点[5]。

在分布式存储领域中,已经有许多研究人员开展了大量的研究工作,提出了许多的技术和方法。这些系统中,有些尚在实验室研究阶段,有些已经成为工业标准。比如网络存储技术包括网络附加存储(NetworkAttachedStorage-NAS)、存储区域网(StorageAreaNetwork–SAN)、IP存储等;集群存储技术包括GlobalFileSystem(GFS)、xFS、MFS以及基于Linux集群的高性能文件系统PVFS(ParallelVirtualFileSystem);分布式文件系统包括NFS、AFS、Coda、以及Google的HDFS文件系统等;网格存储技术包括Grid计算;P2P网络存储技术包括Napster、Gnutella、FreeNet、OceanStore等[2]。

国外分布式存储技术

目前国外主流的分布式文件系统有Hadoop分布式文件系统(HDFS)、Ceph系统;分布式键值系统有Dynamo;分布式表格系统有Bigtable;分布式数据库有GoogleSpanner;

Hadoop分布式文件系统(HDFS)是一款适合运行在通用硬件(commodityhardware)上的分布式文件系,其核心思想来源于Google在2003年发表的”GoogleFileSystem”一文。HDFS能提供高吞吐量的数据访问,适合大规模、非结构化数据集上的应用。HDFS大体上分为名字节点(NameNode)、数据节点(DataNode)、客户端(Client)三个部分。HDFS内部是将一个文件分割成一个或者多个数据块,并将这些数据块存储在一组不同的数据节点,为了保证数据的可靠性,采用多副本的策略对数据块进行存储[3][4]。

图1:HDFS架构

Ceph是一款为性能、可靠性和扩展性而设计的统一的、分布式的存储系统,同时提供对象存储、块存储和文件系统存储三种功能。在Ceph系统最为关键和重要的是基础存储系统RADOS,它是一个完整的对象存储系统,所有存储在Ceph系统中的用户数据事实上最终都是由这一层来存储的。而Ceph的高可靠、高可扩展、高性能、高自动化等等特性本质上也是由这一层所提供的。

图2:Ceph逻辑层次

国内分布式存储技术

国内主流的分布式文件系统有淘宝的TFS;分布式键值系统有Tair;分布式表格系统有HyperTable;分布式数据库有OceanBase.

TFS(Taobao!FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读写性能。

图3:TFS架构

OceanBase是一个具有自治功能的分布式数据库,由中心节点RootServer、静态数据节点ChunkServer、动态数据节点UpdateServer以及数据合并节点MergeServer四个Server构成。

图4:OceanBase架构

基于国产服务器的分布式存储存在问题

传统分布式存储系统重点考虑在分布式环境中如何解决诸如数据复制、负载均衡、集群关系管理、可靠性保证、高性能等技术问题。目前,基于OpenPower、X86等架构的国产服务器逐步采用低功耗多核处理器、高带宽内存以及异构存储等硬件资源,传统分布式存储系统在系统设计、技术优化等方面没有充分发挥上述硬件的特点。具体来说,包括以下三方面:

1、分布式存储在面向低功耗多核处理器时的不足

传统的分布式存储没有充分利用存储节点的处理能力,而存储节点的处理能力完全有能力承担除存储服务之外的任务,例如将部分计算任务迁移到存储节点上,从而提高整个集群的计算能力。另一方面,国产服务器采用的低功耗处理器提供不同功耗模式以适应不同的工作负载,可以动态变化。现有的分布式存储没有针对上述处理器特点进行设计和技术优化考虑。

2、分布式存储在面向高带宽内存时的不足

随着国产服务器逐步采用高带宽内存技术,处理器与内存间的数据移动效率越来越高,以适应大数据应用场景。如何将更有价值的数据保留在处理器缓存中,如何利用每个服务器节点上的高带宽内存形成高效的分布式缓存层,以减少对存储层的访问压力,这些问题都是现有分布式存储没有给予充分考虑,并作相应设计优化的。

3、分布式存储在面向机械硬盘与SSD组成的异构存储时的不足

大数据环境下,对存储的容量和性能等提出了更高的要求。从性能、成本的角度考虑,不允许将所有数据都统一存储于集中式的存储设备上,因此异构存储越来越受到重视。现有分布式存储系统虽然有考虑异构存储架构,但是仅以数据冷热、I/O特征作为异构存储资源分配因素。此外,现有分布式存储系统仅考虑存储层,没有将异构存储对存储以及计算与存储结合等应用场景产生的影响进行考虑分析。

基于国产服务器的分布式存储优化

针对基于国产服务器的分布式存储存在的三个问题,我们提出了如下优化的思路和解决方法:

1、分布式存储在面向低功耗多核处理器时的优化

通过对比x86架构和OpenPower架构的处理器特性区别,重点关注核数、单核处理能力以及功耗模式等方面。基于此,重点研究数据操作。复杂的数据处理操作,例如查询,都是由一系列的简单操作或者变换组成的;开发人员在编写不同的应用时,某些简单的操作或者变换的重复率比较高,这些操作或变换都需要重新编写;如何将重复率较高或者简单的、基本的操作与变化,通过存储端的定义,使得在开发过程中可以直接供用户使用,从而避免不必要的资源浪费,节约开发时间,降低开发成本。另外通过扩展功能进行优化,目前用户可以使用分布式存储系统的一些开放接口定义某些策略,例如调度策略、数据分区策略、副本个数等,但是不能够满足当前用户的一些需求,利用分布式存储提供的基本操作与变换,通过组合的方式来满足一些用户的特殊需求,从而丰富系统的功能;例如可以提供应用感知的数据分区接口,根据应用层语义在分布式存储中对数据分区,避免盲目的分区策略导致数据分布不均衡。

2、分布式存储在面向高带宽内存时的优化

一是通过高效的分布式缓存架构与策略调整进行优化,利用多节点的高带宽内存组成分布式存储系统上层的分布式缓存层,并针对内存高带宽特性,研究现有分布式缓存策略优化,区分对待延迟敏感和带宽敏感类型的数据,将带宽敏感型数据在内存中的停留时间增加,满足此类应用的性能需求。

二是对处理器缓存与存储间的IO路径进行优化,利用LCC级处理器缓存大容量特征,研究如何缩短处理器缓存与存储设备间传统的IO路径。建立存储设备与处理器缓存间的直连通路,提高存储数据到处理器缓存的存取效率,同时保证数据在内存与处理器缓存中的一致性。

3、分布式存储在面向机械硬盘与SSD组成的异构存储时的优化

一是通过对存储资源分配进行优化,影响存储资源分配的因素有很多,例如磁盘、闪存等在存储密度、寿命、读写速率、能耗、价格等方面有着显著的差异,甚至不同品牌的同一类设备在这些方面也有显著差异。综合上述因素研究数据放置策略和存储资源分配。二是对存储与计算整合下的资源调度优化,分布式存储都服务于上层计算平台,例如HDFS与MapReduce,当前计算平台的资源调度主要是以CPU为主,随着新型存储器件在大数据分析平台的普遍使用,存储系统的异构性将日益凸显,同时副本也可能存储在不同的存储介质上,通过将分布式存储与上层应用紧密结合考虑资源调度方案。

结语

作为央企,南方电网公司将积极主动推进基于国产服务器的分布式计算系统在企业内的应用,随着南方电网企业级信息管理系统(“6+1”系统)推广应用,要求我们需充分掌握国产服务器系统的有关特点,针对分布式存储在基于国产服务器存在的不足进行优化,为企业级信息管理系统提供性能更优和更灵活的分布式存储。

参考文献

[1]魏青松.大规模分布式存储技术研究[D].电子科技大学.2004

[2]周旭.面向Internet的大规模分布式存储技术研究[D].电子科技大学2004

[3]童明.基于HDFS的分布式存储研究与应用[D].华中科技大学.2012

[4]高正九.基于HDFS的云存储系统的设计与实现[D].中国科学技术大学.2014

[5]王泰格,邵玉如,杨翌.分布式存储系统介绍及其数据一致性实现方法探究[J].企业技术开发.Vol.31No.22.Aug2012

[6]卢益阳.分布式存储系统调查[J].企业科技与发展.NO.162011(CumulativelyNO.310)

[7]龚利,史阳.浅析分布式存储系统的研究及应用[J].网络安全技术与应用.2014.9

备注:本项目依托中国南方电网有限责任公司科技项目“基于国产服务器的分布式存储架构基础技术研究”(项目编号:GDKJXM00000020)