基于云存储的分布式弹性块存储系统研究

2019-02-12 10:34王贞国
科学与技术 2019年2期
关键词:云存储

王贞国

摘要:在网络技术的发展下,云技术已经成为现阶段的主要技术,有越来越多的新技术开始围绕云技术得以研发。传统DAS、NAS等存储系统难以满足IaSS环境下虚拟机对存储容量、性能、管理、可用性的综合需求,存在异构存储设备管理困难、虚拟机附加存储不能在线动态伸缩等问题。结合Ceph分布式存储系统,构建云存储的分布式弹性块存储系统,设计实现了弹性块存储监控管理平台,能够对异构存储设备进行统一管理,并实现虚拟存储池的动态扩容、虚拟机附加存储的弹性伸缩。

关键词:云存储;Ceph块存储;动态扩容;弹性伸缩

1.引言

传统虚拟机的存储可以分为4类:①DAS(Direct-Attached Storage)。虚拟机数据直接存储在本地或SSD上,以块设备形式提供给虚拟机使用,存在扩展性不佳、管理困难等问题;②BNAS(Network-Attached Storage)。安装管理简单,由单独的存储服务器提供服务,不适合在IaaS场景下为虚拟机提供存储服务;③SAN(Storage Area Network)。造价成本高,部署和管理困难;④基于分布式文件系统(阿里云的“盘古”)。中间多一层文件系统,降低了访问速度。

Ceph是一个开源的、理论上可无限扩展的、具有高可靠性、高性能的分布式存储解决方案。目前很多商业分布式存储解决方案是在开源的Ceph基础上发展来的,如Bigtera的VirtualStor系列产品,Hope Bay的ArkFlex云端大规模数据存储平台产品,SanDisk的InfiniFlash的产品IF500等产品都使用了Ceph。

本文结合Ceph分布式存储系统,提出并实现了基于云存储的分布式弹性块存储系统(Distributed Elastic Block Storage System,DEBSS)。DEBSS自底向上包括物理设备层、虚拟化层、存储管理层、应用层。在存储管理层部署了分布式弹性块存储监控管理平台,以实现对异构存储设备的统一管理、虚拟存储池的动态扩容、虚拟机附加存储的弹性伸缩,提高了虚拟机的存储性能。

2.Ceph与其他分布式存储方案的对比

分布式存储除了Ceph还有Moosefs(MFS)、Glusterfs、HDFS、Lustre等很多种。本文综合分析熊文等的论文和其他一些讨论,发现Moosefs的优点是实施简单,缺点是存在单点故障和性能瓶颈;Ceph的优点是扩展性好,可以很好的與OpenStack集成,发展很快,缺点是部分功能还不够成熟,通过POSIX接口访问CephFS时候,底层不稳定性使得不适合应用于生产环境;Glusterfs的优点是扩展性好,缺点是没有MDS,因此增加了客户端的负载,占用相当的CPU和内存,同时遍历文件目录时,实现较为复杂和低效,需要搜索所有的存储节点;HDFS的优点是适合部署在大量通用、廉价硬件上,缺点是只适合特定应用场景,即一次写入,多次读出,做数据分析类应用;Lustre的优点是成熟,缺点是复杂,同时MDS无法扩展,存在性能瓶颈。从适用场合方面分析:Moosefs适合企业小型应用环境,存储小文件;Ceph适合一般企业使用,如私有云平台应用,存储小文件;Glusterfs适合一般企业中型应用,存储大文件,下文件读写效率很低;HDFS适合存储超大数据集,做数据分析类应用;Lustre是一个并行文件系统,做高性能计算(HPC)类应用,存储大文件,适合大型科研、企业应用,一般HPC具有计算密集型、海量数据处理等特点,在石油勘探、地震预测、气象预报、航天航空、科学研究、机械制造、动漫渲染等领域都有应用。

3.相关研究及成果

本文主要针对“分布式弹性块存储”进行研究,其它分布式文件系统不进入比较范围。

亚马逊的EBS(Elastic Block Store)专门为Amazon EC2虚拟机提供持久性的弹性块存储服务,支持快照功能。EBS支持最大的1TB卷的大小,但是由于商业原因,几乎找不到关于EBS的公开描述。

Sheepdog是由NTT的3名日本研究员开发的开源分布式块存储文件系统,为虚拟机提供块存储服务。其采用完全对称的结构,没有类似元数据服务的中心节点,没有单点故障,支持快照功能,易于管理。

Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统,对外提供对象存储、块存储、文件系统存储3种功能。

Openstack云管理平台的cinder项目为nova提供块存储能力,旨在解决异构存储资源的管理问题,将异构的存储资源以统一方式提交给上层,但是本身并不具备存储能力,达到一种“软件定义块存储”的效果。

在面向虚拟机的分布式块存储系统设计及实现中,设计出一种分布式块存储系统DBSS,采用两个数据卷和一个日志卷的格式,提供高可用服务。

4 系统设计与实现

4.1 系统逻辑架构设计

分布式弹性块存储系统按照云存储的分层架构进行设计,自底向上分为4层:物理设备层、虚拟化层、存储管理层、应用层。

(1)物理设备层。包括各种异构的存储设备及其它一些基础设施。通过虚拟化技术,将异构的存储设备整合到弹性虚拟化存储池中,为上层提供统一的存储服务。

(2)虚拟化层。所有数据均衡地分布到不同的存储节点上,没有单节点故障、支持多副本技术和自动修复功能,提高了数据的可靠性。

(3)存储管理层。存储管理层主要包括监控管理、接口管理以及集群管理。监控管理主要包括异构设备数量、分布式存储集群健康状态、虚拟化存储池使用情况等;集群管理实现的是对存储集群的管理,可以横向加入存储设备,实现虚拟存储池的扩容。

(4)应用层。用于控制管理和分配分布式弹性块存储系统的管理平台,通过监控虚拟机磁盘使用情况,动态分配和删除虚拟机存储资源,实现虚拟机存储资源的弹性伸缩。

4.2 系统开发与实现

4.2.1 物理设备层Ceph分布式系统部署

本文基于Ceph搭建分布式弹性块存储系统,实验环境由5台虚拟机组成(可以根据实际的任务需求弹性扩展存储设备),主机名分别为:Ceph{1,2,3,4},操作系统是ubuntu14.04。其中Ceph1机用来安装ceph-deploy,部署Ceph分布式存储系统;Ceph2用作msd(元数据服务器)和mon(监控节点);Ceph{3,4}用作osd(存储节点)。

部署过程如下:①在deploy节点创建集群目录;②每个节点都安装ntp服务,设置deploy节点为ntp服务器;③配置每个节点,允许deploy节点可以无密码登录;④创建监控集群;⑤在所有节点上安装Ceph;⑥部署osd节点,查看Ceph集群状态;⑦添加mds。

4.2.2 存储管理层部署Inkscope监控平台

Inkscope是一款轻量级的Ceph监控管理平台,用mongodb来进行数据信息的存储。Inkscope由inkscopeViz、inkscopeCtrl、inkscopeProbe组成。InkscopeViz为用户提供可视化的监控平台;inkscopeCtrl负责监控cephrestapi;inkscopeProbe负责收集集群节点信息,分为cephProbe和sysProbe。Ceph集群的状态是健康的,弹性块存储池总容量是60G,已用容量4.7G,可用容量55.3G。

4.3 应用层设计

对需要添加附加存储的虚拟机安装Ceph客户端,然后将虚拟机添加到Ceph集群。在客户端创建块设备镜像,将镜像映射到块设备,格式化块设备,挂载到客户端,以实现虚拟附加存储的弹性伸缩。

4.4系统测试

针对搭建好的分布式弹性块存储系统,可以从虚拟存储池的动态扩容、虚拟机附件存储弹性伸缩两方面进行测试。本文所有测试在均在Vmware Workstations创建的虚拟机上进行。

5 结语

本文结合Ceph分布式系统,设计并实现了分布式弹性块存储系统。通过实验,实现了虚拟块存储资源池的动态扩容,并划分块存储资源作为虚拟机的附加存储,实现了虚拟机存储資源的弹性伸缩。然而,本文提出的设计方法也存在一些不足,如未指定虚拟机需要添加附加存储的指标,实验只是通过手动添加。在后续工作中,将会在应用层设计监控平台实现对虚拟机存储资源的监控,动态地添加或删除块存储资源,真正实现虚拟机附加存储的弹性伸缩。

参考文献

[1]张瑞云.计算及云储存生态系统研究[J].电子设计工程,2013,21(8).

[2]谭鹏许.云计算环境下安全分布式存储架构与容错技术研究[D].解放军信息工程大学,2013.

[3]程靓坤.基于Ceph的云存储系统的设计与实现[D].广州:中山大学,2014.

猜你喜欢
云存储
天地一体化网络环境下的云存储技术探讨
基于椭圆曲线的云存储数据完整性的验证研究
高校档案云存储模式探究
地铁高清视频存储技术的应用分析
云数据存储安全关键技术研究
基于云存储的气象数字化图像档案存储研究
试论云存储与数字版权的冲突、法制与协同
云存储出版服务的版权侵权责任风险分析
云存储技术的起源与发展
基于云存储的数据库密文检索研究