“数据在手,计算好走”,XSKY混合云数据流动技术揭秘

2020年10月 · XSKY

01 前言

所谓“数据中心”,最重要的是“数据”。IDC研究表明,2020年,全球数据总量将超过40ZB,是2012年的12倍,其中,非结构化信息占比已达80%。业界要用更先进的存储方案,将这些数据存放下来加以利用。同时,要让“数据”更靠近“计算”,充分适配云、边两端算力的提升,让数据发挥更大的价值。

存储分层技术,在帮助用户控制成本的同时应对快速的数据增长。利用不同类型的存储设备,容量和性能水平差异,试图根据存储概况为数据找到最匹配的存储设备类型。将“关键核心数据”存储在高性能存储设备中,适配交易型的算力,而“非核心数据”被移至大容量存储设备中,适配增值分析型的算力。

XSKY 自主研发的数据流动引擎CloudTier,可以实现不同业务类型按需分级存储数据,及根据业务访问要求,将数据冷热分层,助力企业数据在专有云、多数据中心、公共云间无缝流动,随时适应企业业务创新和合规的要求。

02数据流动整体介绍

XSKY数据流动包含分级存储和数据分层两大特性。

分级存储:可以根据业务类型及数据性质选择数据持久化存储类别,如:重要的核心数据使用高安全级别的存储类型,非重要数据使用低安全级别的存储类型;高频访问的关键业务使用性能热型存储类别,低配访问的非核心业务使用EC容量型温冷存储类别。

数据分层:数据分层通过数据流动技术,使企业在降低总体TCO的同时获得云或蓝光系统的优势。借助数据分层,数据可以从本地流动到公共云、私有云或蓝光系统,以实现长期保留。数据分层目前支持多种目标次级存储,包括AWS,阿里云,蓝光库及S3对象存储等。

2.1

数据流动架构

数据流动的总体架构图如下:

微信图片_20201029164428.jpg

2.2

存储类别介绍

XSKY数据流动特性引入了Storage Class (存储类别,后面统一用存储类别) 的概念,存储类别用来确定数据存储位置,是指根据存储介质属性、数据安全级别等定义不同存储类别,比如按存储介质可分为纯SSD、SSD+HDD混合、纯HDD、蓝光库等,同时按数据安全级别又可分为副本池和EC池。存储类别是分级存储和数据分层的基础。

根据数据存储位置又分为本地存储类别和次级存储类别。本地存储类别分级为class0-6,次级存储类别分级为class7-31,共32个存储类别。

微信图片_20201029164435.jpg

03数据流动功能介绍

3.1

分级存储介绍

通过配置存储策略,在存储策略中配置好本地存储类别,同时需要在存储桶中配置数据流动规则和条件。应用可以直接指定存储类别,或者根据对象元数据,如对象大小、前缀、后缀等按条件匹配存储类别。

微信图片_20201029164440.jpg

数据写入时可以在存储桶上配置存储类别匹配规则,目前支持按对象大小、前缀、后缀匹配条件进行筛选,数据写入时可以根据匹配规则存储到本地存储类别中或次级存储类别中。

微信图片_20201029164444.jpg

微信图片_20201029164448.jpg

3.2

数据分层介绍

数据分层通过生命周期策略驱动:根据配置的不同存储类别,针对不同数据集,通过设定其在生命周期不同阶段的存储位置,实现数据在不同存储类别生命周期的延展,直到最后过期删除。

微信图片_20201029164453.jpg

数据分层主要是将数据和元数据同时分层到目标端存储,根据不同的数据流动策略可以支持数据复制、分层及归档三种应用场景。

3.2.1数据复制

通过设置生命周期数据流动的复制策略将对象数据和元数据复制到指定的次级存储中,对象同时存在本地存储副本和次级存储副本。已经完成分层的对象,可以通过设置数据复制策略,恢复本地存储副本。

3.2.2数据分层

数据分层可以支持集群内存储类别间的数据流动以及本地集群到次级存储类别间的数据流动。通过设置生命周期数据流动的分层策略,将对象数据和元数据复制到指定的次级存储中,然后删除对象在本地存储的数据,本地只保留对象的元数据和索引信息。对于已分层完成的数据,支持两种访问模式:

代理访问模式

从次级存储读取数据后返回给应用,适用于对象完全分层后,需要偶尔访问读取,对性能没有特别要求的场景。

缓存访问模式

数据需要先Restore到本地缓存,Restore完成后,读取缓存数据返回给应用。适用于对象完全分层后,在某个时间段内,需要对它做高频访问,对性能有一定的要求。

3.2.3数据归档

通过设置生命周期数据流动的归档策略,将对象数据和元数据归档到指定的次级存储中,完成归档后,系统自动删除本地存储的完整副本数据,包括对象数据、元数据和索引,后续在本地存储上不再存在被归档的对象,只能到次级存储上访问。

3.3

数据流动策略

数据分层是在存储桶上配置生命周期策略,添加数据流动规则,支持复制、分层、归档等不同数据流动策略,根据数据的写入时间,将数据流动到对应的目标存储中。

微信图片_20201029164459.jpg

3.4

第三方对象存储纳管

数据已经在第三方对象存储、公有云对象存储,在本地对象存储系统中重建对象元数据及其与外部存储之间的映射关系。实现访问入口统一到对象存储,满足对第三方数据纳管的需求。未来还会支持纳管NAS存储。纳管的步骤如下:

1、用户以前使用的是公有云存储或第三方对象存储,现在自建私有云存储。

2、私有云存储建成后,业务访问入口统一切到本地私有云存储。

3、原来在公有云的数据保持不动,根据需要设置分层数据访问模式访问。

4、新写的数据存入本地私有云存储,也可以将新写入的数据按需设置生命周期策略做数据分层上云。

微信图片_20201029164503.jpg

04应用场景

场景一:数据分层,降低存储成本 

微信图片_20201029164507.jpg

需求:新写的对象,在前面一段时间会被经常访问,随着时间推移,对它的访问频度逐渐下降,最后基本不被访问。这类“冷”数据,依然驻留在本地磁盘上,成本较高,就需要将它用更低成本的存储来保存。

方案:通过设置生命周期数据分层策略,设置N天后,数据分层到公有云存储或蓝光存储,分层完成后,删除对象在本地存储的数据,保留元数据信息,后续可以直接访问分层到次级存储的数据。

场景二:线下+线上混合云 

微信图片_20201029164511.jpg

需求:存储在本地的对象数据,供本地部署的应用访问。随着业务发展,需要在公有云提供业务部署,数据也需要从本地复制到公有云存储发布,供线上业务做只读访问,同时支持线下业务和线上业务。

方案:通过设置生命周期数据复制策略,将本地存储数据按需复制到公有云存储,保持公有云存储上桶名、对象名和本地存储一致,分层后本地存储数据也会永久保留。

场景三:第三方对象存储纳管,存储利旧 

微信图片_20201029164515.jpg

需求:业务一直运行在公有云或其他S3对象存储上,但随着业务发展需要将云上或其他S3对象存储业务迁移至新建本地存储,但原有数据不需要迁移到本地,业务应用直接访问本地存储,新的业务数据写入本地存储,同时保持云端或第三方S3对象存储的数据的访问性。

方案:通过在对象存储策略将公有云或第三方S3对象存储添加为次级存储类别,将本地存储和第三方S3对象存储联通,通过反向重建功能将原有存储的索引数据重建到本地存储,业务直接访问本地存储,同时可以通过索引数据访问云端或第三方S3对象存储上的数据。

场景四:线下业务迁移到线上 

微信图片_20201029164519.jpg

需求:部署在线下的业务,数据存储在本地存储,随着业务拓展需要,需要将业务全部迁移到线上,对应的业务数据也都要放到公有云存储供业务就近访问。

方案:通过设置生命周期数据归档策略,将本地业务数据按需归档到公有云存储,保持公有云存储上桶名、对象名和本地存储一致,数据归档完成后会启用删除本地存储的对象数据。,元数据和数据都删除。

场景五:数据归档汇聚,统一数据管理 

微信图片_20201029164523.jpg

需求:大型企业多个分支机构(比如商业银行总行和各分行、税务机关省级和各地市级),生产数据在各个分支机构产生,同时根据法规遵从性要求,在总部建立数据归档中心,分支机构不再使用的数据,需要归档到总部存放。

方案:在每个分支机构的本地存储上,设置生命周期数据归档策略,按需将需要归档的数据流动到总部的归档存储中,数据归档完成后会启用删除本地存储的对象数据,元数据和数据都删除。

场景六:多云按需分层,多云高可靠保障 

微信图片_20201029164527.jpg

需求:数据在一个阶段分层到某一公有云,随后因业务需要,需要分层到另外的公有云。

方案:在本地存储副本完备的前提下支持此类需求,通过配置生命周期策略,选择分层策略,设置30天分层到阿里云,60天分层到亚马逊,数据按需向多个公有云独立分层,不要求多云之间的数据强一致性。

05小结

XSKY的“混合云专版”新增的数据流动引擎CloudTier,真正实现了对象数据的自由流动,功能齐全,策略丰富,场景多样,用户可以随心所欲地控制数据在存储内部,集群外部,公有云之间的流动,而应用可以无感知,也可以在云上直接访问。用户真正控制着数据的存储位置,而元数据根据情况保存在需要的地方,真正做到了“数据在我手,计算随便走”的以数据为中心的自由境界。