多活元数据技术 让浪潮软件定义存储管理EB级数据

移动互联网与人工智能时代,非结构化数据呈海量增长态势,数据存储平台在弹性与性能上面临巨大挑战。浪潮软件定义存储通过提供元数据存储与管理方案,给海量数据提供弹性空间,让用户自由驰骋于数据智能世界。

移动互联网与人工智能时代,非结构化数据呈海量增长态势,数据存储平台在弹性与性能上面临巨大挑战。浪潮软件定义存储通过提供元数据存储与管理方案,给海量数据提供弹性空间,让用户自由驰骋于数据智能世界。

智能时代产生海量非结构化数据

信息技术的飞速发展,特别是移动互联网应用、数据智能挖掘技术的快速发展,使众多相关行业面临业务数据量指数级增长的趋势。例如:智能手机的普及,使移动手机用户可以随心所欲拍摄高清照片、视频以记录自己生活的点滴,并可以方便地把影音资料存储在云端,这类新的生活习惯必然产生大量数据。再如,中国公共安全领域的"雪亮工程"等关系国计民生视频监控项目的开展,使得公共安全视频监控覆盖范围从原来的城市中心地带扩展到了乡村,这也将产生大量的数据。而在互联网+商业领域,对用户信息的掌握,更成为互联网企业生存的根本,之前大量不需要存储的用户网络浏览轨迹等中间信息,如今由于成为大数据分析的数据来源,也需要进行数据存储。 

多活元数据技术 让浪潮软件定义存储管理EB级数据

面对各种海量数据、尤其是海量非结构化数据的存储需求,传统数据存储方式在成本和性能两个维度均已无法满足。

传统存储方式之一是使用本地文件系统存储数据,而由于其架构所限制,控制器一般为一台,即本地操作系统主机和生产业务共用CPU及内存等系统资源,所以在实际操作中大多仅仅能扩展至几个TB的可用容量,这和"海量"存储的需求相差甚远。

另外一种把计算和存储分离的集中式存储方案--NAS方案亦差强人意。NAS属于外部集中式存储方案,架构扩展性相比本地文件系统有较明显优势。其控制器一般为两台至多台,在数据规模稍微"大"一点的业务场景,用户往往使用NAS存储方案。但NAS在海量数据时代到来之前已经存在,当初设计时重点考虑的并非是"海量"非结构化数据的存储,所以在大多数生产环境中都是采用双控设备,如果数据量增大,一般做法是再配置一套而已。这样的处理方式使得用户的生产环境形成大量数据孤岛,且单套NAS由于其软硬件设计架构的局限性,在实际项目中的容量扩展往往不超过100~200TB,即使双控系统,一般对外最多也只能提供4GB/s带宽,因此其容量与性能均无法匹配海量数据时代的存储要求。

浪潮软件定义存储:EB级弹性空间

于是,在满足互联网、云计算、大数据应用的需求下,浪潮软件定义存储系统随之产生,以满足海量数据时代的存储需求。

根据其基本软硬件设计思想,浪潮软件定义存储系统基于通用x86平台开发"控制+存储"节点,采用以太网络交换技术把整套系统硬件互联起来,然后在其上部署浪潮软件定义存储软件,形成对外提供统一服务接口,对内协调数据交换的存储系统。在组网层面,以太网络并不是其唯一的选择,目前业界还有InfiniBand等其他组网方式;在服务层面,浪潮软件定义存储系统的对外服务类型包括NAS文件存储、对象存储、块存储,并支持RESTful接口,可以灵活满足用户定制化的服务需求。与此同时,浪潮软件定义存储节点的选择更加灵活,可以使用利旧的x86服务器,也可以选择专业厂商专为浪潮软件定义存储设计的高密度设备。

 多活元数据技术 让浪潮软件定义存储管理EB级数据

浪潮软件定义存储AS13000

在技术实现上,目前浪潮软件定义存储系统Scale-out(横向扩展)方式的存储节点扩展能力非常强大,单系统存储节点可扩展至数千个,可以形成EB级海量存储空间、百亿数据文件管理、千万级IOPS和百GB带宽,加上不断进步的数据自动修复和自动运维机制,使之广泛适用于海量数据存储场景。

浪潮软件定义存储系统的容量、性能可以随着存储系统节点的横向扩展呈线性增长,这一特性从根本上解决了本地文件系统和集中式外部存储的在扩展性方面的劣势,大大提高了IT投入的回报率,这就是浪潮软件定义存储今天备受青睐的原因。

优化的元数据索引服务

那么,为什么浪潮软件定义存储能很好地管理海量数据呢?下面我们以文件服务类型为例来进行阐述说明。

对于传统的本地文件系统,当查找一个文件时,先由元数据区找到索引,再定位到数据区,存在深度目录的时候,可能需要在两种区域做多次查询和数据定向,最后才能定位到所需要的文件。对于这种低效率的模式,很多成熟的文件系统大多使用类B树的方式来组织目录,以避免线性方式查找目录项来降低文件索引冗余度;此外还有多种技术(如HASH,元数据缓存,C-FFS等)在传统架构上都可以不同程度地给文件索引性能加速,但是在海量数据存储场景下,以上所有努力都会失灵。

究其原因其实也很明确:存储海量数据的时候,一定会有大量的元数据需要存储。在传统文件系统的软件架构(包括集中式NAS存储)中,元数据为集中式存储方式,处理元数据的服务(控制器)也为集中式。由于元数据被存储在了少量固定的磁盘上面,不能随整体容量的增加而任意扩展,使得这块区域对外提供的读写性能因被固化而变得十分有限。与此同时,数据文件在访问IO频繁的时候,元数据索引服务需要消耗大量CPU和内存的资源,而本地文件系统所能依靠的只是本地操作系统上的资源,即使是NAS存储一般也仅仅可以使用两个控制器上的资源。但我们知道,当数据量达到数PB级时对于IO性能的需求会高出很多,读写带宽基本上需要在几十GB以上。因此,传统的集中式元数据部署架构不管在软件算法上如何优化,面对海量数据也于事无补。

此时,再让我们来看看浪潮软件定义存储是如何应对这一难题的:首先,浪潮软件定义存储系统具有良好的Scale-out扩展性能:随着物理节点的扩展,性能、容量也随之呈线性扩展;其次,全局融合的分布式结构设计使得扩展过程中突破了传统NAS元数据瓶颈制约。

浪潮软件定义存储之所以能做到这一点,在于打破了传统文件系统(也包括集中式NAS存储)的元数据集中式存储和管理这一限制,对浪潮软件定义存储集群系统的目录实行分而治之,让集群中所有服务器来一起存储和管理元数据及数据,从而实现负荷分担、负载均衡。目前其实现方式主要有三种,各类浪潮软件定义存储会根据自身交付的场景不同,选择不同的方式:

第一种,静态子树分区。以目录为单位,把各个目录或子目录手工分配给不同节点去存储,并指定不同的元数据服务节点/程序去管理。当某个目录出现访问过热的情况下,再由管理员手工进行迁移。这种处理方式逻辑最为简单,也容易实现,但如果数据目录需要频繁扩容,就需要管理员人为频繁干预。老一点的网络共享文件系统一般采用的是这种方式。

第二种,HASH分区。通过计算来分配数据、元数据存储的位置。这种方式可以把数据和元数据自动均匀地分布在各个节点上,但是突发性热点区域的数据访问可能造成整个系统内部某些元数据服务节点资源吃紧,从而成为整个系统的性能瓶颈。这种方式在一些分布式文件系统里得到了应用,并在IO均匀分布的业务环境中很适用,如Lustre分布式文件系统。

第三种,动态子树分区。大体结构类似上面两种方式,但它可以通过实时监控和分析,把热度数据单位动态地调整到不同的元数据服务节点,从而实现数据索引的动态负载均衡。

一招制敌:破解元数据存储与管理难题

当我们理解了以上几种模式,就可以明白浪潮软件定义存储是如何来管理数据与元数据的了。简单来说,元数据的处理性能是决定整个存储系统文件服务能力(容量规模,文件数目)的重要因素。如果元数据索引效率低下,即使强制扩充存储容量,也会造成数据访问过慢甚至不可用的情况频频发生。浪潮软件定义存储系统架构则通过把元数据均匀分布在集群内各个节点的磁盘之上解决了这一难题,其元数据服务引擎(控制器)的数目更是突破了传统文件系统(1个)和NAS存储(2~16个)的限制。由于浪潮软件定义存储拥有更为强大的计算资源和存储资源来快速索引文件,所以其容量规模、管理文件数目的能力要远远优于传统架构存储。

此外,多活元数据服务集群技术更是让浪潮软件定义存储如虎添翼。在上文的动态子树图划分图中可以看出,一个浪潮软件定义存储集群中存在不止一个元数据服务,这也是浪潮软件定义存储的显著优势:多个元数据服务形成集群,共同对外提供文件索引服务,并且通过元数据副本、缓存加速、热点目录分片、动态子树分区等技术,来实现负载均衡及元数据服务故障高可用等一系列功能。

行文至此,我们已经明白,从根本上破解元数据存储与管理难题,是浪潮软件定义存储驰骋海量数据时代的关键。

来源:业界供稿

0赞

好文章,需要你的鼓励

2018

02/07

10:30

分享

点赞

邮件订阅
白皮书