利用云存储网关实现数据分层存储

数据分层存储是说根据数据的冷热层度选择不同的存储介质来存储相应的数据,从而降低数据的总存储成本。好的数据分层方案,在降低数据存储成本的同时,对前端应用的访问性能影响也不是很大。比如归档存储一些几乎不再访问的数据,就是最简单的一种分层存储方法。当然也有一些高级一点的分层存储技术,比如很多存储阵列都提供自动分层的技术,可以自动检测数据的冷热层度,从而决定是应该将数据放在SSD上存储,还是普通的机械硬盘上。有些技术还会区分不同的SSD,根据SLC/MLC/TLC/QLC自身的特点,决定不同的读写策略。总之,虽然实现的方法有所不同,但是数据分层存储已经成为了一种行之有效的降低数据存储成本的方法。

云存储网关数据分层存储方案:

阿里云的云存储网关产品原生就是一种数据分层存储的架构。云存储网关是一款可以部署在用户IDC和阿里云上的网关产品。它以阿里云对象存储(OSS)为后端存储,为云上和云下应用提供业界标准的文件服务(支持NAS访问协议NFS和SMB)和块存储服务(iSCSI)。阿里云OSS可以提供海量的存储空间,具有稳定可靠的特点,从而受到客户的广泛认可。云存储网关后端存储正是依托于阿里云OSS,所以也保证了稳定可靠。云存储网关利用本地存储空间来缓存用户访问频繁的热数据,保证前端应用的访问性能。用户可以根据自己的数据集灵活的配置本地缓存空间的大小以及缓存类型,使得用户在享受云上海量OSS存储空间的同时,还兼具本地的高速访问性能。所以云存储网关的本地缓存以及后端的OSS存储自然就形成了一个二层的数据存储架构,并且数据在本地缓存和后端OSS Bucket之间的流动都是自动发生的,用户无需任何干预。下面是阿里云文件网关的架构图,块网关具有相似的架构图。

利用云存储网关实现数据分层存储

阿里云对象存储也具有多种存储类型,提供了另一层面的分层存储能力。阿里云对象存储有标准、低频访问以及归档型三种存储类型,价格也是相应的从高到低。阿里云对象存储支持生命周期功能,用户可以配置具体的策略,在一定的时间之后,标准存储可以自动转换为低频访问类型的存储,最后转为最为经济的归档型存储。

利用云存储网关实现数据分层存储

我们可以结合云存储网关自身的数据分层能力以及OSS的数据分层能力,形成一个全新的数据分层存储方案。它扩展了原生的OSS的数据分层能力,可以很好的控制成本,同时通过云存储网关的本地存储空间提供缓存能力,带来更好的访问体验。接下来我们通过具体的实践过程,展示一下完整的操作步骤。

配置网关:

云存储网关有两种部署方式,一种是以虚机形式部署在本地数据中心的形态,另一种是直接部署在阿里云线上的形态。两者在部署的方法上虽然有些不同,但是在使用方法上并没有什么大的区别,线上的网关部署更为方便一些。网关侧的配置我们通过线上文件网关来完成示例,我们需要创建一个云存储网关的共享,支持用户通过NAS协议挂载和访问,这个共享对应于一个OSS Bucket。

在开通云存储网关服务之后,用户需要首先创建一个网关集群,网关集群类似一个文件夹的概念。之后我们就可以创建云存储网关了,这里我们创建的是文件网关,它可以实现文件服务器的功能,支持NAS访问协议NFS/SMB供前端应用访问。按照提示一步步走下去,选择合适的规格,以及合适的付费类型就可以了,包年包月的价格相对优惠一些。我们这里创建了一个线上的基础型的文件网关。这个云存储网关已经和对应的VPC打通,VPC里面的ECS后续就可以挂载云存储网关创建出来的共享了。云存储网关的后端是OSS是Bucket,所以相当于直接在Windows和Linux上挂载OSS Bucket并访问了。

利用云存储网关实现数据分层存储

网关创建成功之后就可以创建共享了。主要有两步配置过程。首先需要配置本地缓存,用户可以根据自己的需求配置缓存盘,SSD的缓存盘性能更好,当然前端应用本地访问的性能也就更好。

利用云存储网关实现数据分层存储

接下来就是对对应的OSS Bucket创建共享,这里我们创建了一个NFS共享。用户在自己的Linux机器上挂载了这个NFS共享,就相当于用户在Linux上挂载了OSS Bucket。更多的细节以及共享的选项设置参见云存储网关的文件网关用户手册,这里不做过多介绍。我们成功创建的共享如下图所示。

利用云存储网关实现数据分层存储

块网关可以配置iSCSI卷供前端访问,具体步骤类似,大致也分为创建缓存以及创建卷两个步骤,具体参见块网关用户手册

OSS Bucket生命周期配置:

前文已经提到阿里云对象存储支持标准、低频访问、归档三种存储类型,全面覆盖从热到冷的各种数据存储场景。云存储网关在1.0.41版本之前不支持归档Bucket以及标准Bucket里面的归档文件,但是从1.0.41版本开始,云存储网关的文件网关已经做了相应的支持,可以进一步帮助用户降低成本。这样我们就可以通过设置OSS Bucket里面的生命周期策略进行存储类型的转换,从而利用到OSS的原生的数据分层存储能力。当然我们也可以不用配置生命周期策略,直接对接归档Bucket。配置生命周期的过程很简单,在OSS控制台上很容易就能够找到。

利用云存储网关实现数据分层存储

归档文件正常是没有办法读取的,需要首先执行解冻,通过网关挂载点访问对应的归档文件有同样的限制,不解冻进行读取会出现IO错误。

总结:

本文介绍了云存储网关结合OSS Bucket的生命周期功能的数据分层存储方案。云存储网关以OSS Bucket为后端存储空间,通过本地存储空间缓存了热点数据,保证了前端应用的本地访问性能,同时又可以利用云上海量的存储空间。另外还可以结合OSS原生的分层存储能力,通过OSS Bucket的生命周期功能转换后端的OSS Bucket的数据存储类型,带来了更高的性价比。

上一篇:利用云存储网关和混合云备份服务备份OSS数据


下一篇:云存储网关使用Windows权限控制管理数据访问权限