APP下载

Openstack云平台中Swift组件的研究与测试

2016-05-19王胜俊李秦伟刘志聪

电脑知识与技术 2016年7期
关键词:云存储

王胜俊++李秦伟++刘志聪

(贵州大学 计算机科学与技术学院,贵州 贵阳 550025)

摘要:OpenStack平台上的Swift组件是为用户提供永久的,大量的,可靠的云存储服务的。文章介绍了Juno版本OpenStack平台,并对该平台上的Swift组件了研究,然后在物理服务器上安装部署了Swift组件,最后对Openstack平台上的Swift组件进行的测试。

关键词:云存储;OpenStack;Swift;上传测试

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)07-0077-02

今天,在计算机,手机和平板电脑上互联网技术已经十分普及,而其中云计算又是其中十分热门的。云计算从狭义上讲是IT基础设施的交付和使用模式,也就是通过网络可以得到按需、易扩展的资源;广义云计算就是服务的交付和使用模式,也就是通过互联网获得按需、易扩展的服务。“云”的资源在用户看来是超大规模、虚拟化、高可靠性、可伸缩、按需服务的,用户可以根据自己的需要随时获取,随时扩展,并且按照使用情况付费。

OpenStack平台上Swift组件提供了弹性可伸缩、高可用的分布式对象存储服务, Swift 组件部署在普通的标准硬件存储基础设施之上,无需采用RAID,引入了一致性散列技术和数据冗余性,达到了高可用性和可伸缩性,适合存储大规模非结构化数据。同时,Swift组件为了提高系统的安全性和稳定性采用三层数据模型,也就是账户,容器和对象。

1 Swift组件

Swift采用层次数据模型,共设三层逻辑结构:账户(Account)、容器(Container)、对象(Object),每层节点数均没有限制,可以任意扩展。这里的账户是用来实现顶层的隔离机制,可以被多个个人账户所共同使用;容器代表封装一组对象,类似文件夹或目录;叶子节点代表对象,由元数据和内容两部分组成,如图1所示:

图1是Swift组件的内部数据存储的模型,下面给出Swift组件的结构图。

Swift组件主要由存储节点和代理节点组成。

代理节点(Proxy Node):代理节点主要是提供Swift API组件的服务器进程,我们要做的各个操作都是直接提交给代理节点的,由它来负责具体的操作。

存储节点(Storage Node):提供存储服务,里面分成着账户,容器和对象三个级别。

2 Swift组件的安装部署和测试

本次Swift组件测试是在三台服务器搭建的简易云计算平台上进行的,这个云计算平台上有一个代理节点兼作为代理节点,两个对象存储节点,其中对象存储节点的硬盘容量为147GB。在进行Swift组件安装前,先要在三台服务器上安装Ubuntu14.04系统。

2.1 OpenStack Swift代理节点和存储节点安装部署

在上述准备工作完成后,在代理节点和存储节点上都要安装NTP服务,用于节点之间的时间同步,其他的具体步骤如下:

3 Swift组件的上传数据测试

经过了Swift组件的研究和安装部署之后,对于Swift组件已经有了一个很好的了解,并且已经可以使用Swift组件进行试验测试了。

3.1 测试方案

测试在2 zone 2副本和3 zone 2 副本的两种存储方式下存储节点的性能,采用iostat来监控Swift上传文件时存储节点的磁盘I/O性能。

主要进行以下三项测试:1)单用户上传1G文件;2)单用户上传2G文件;()5用户并发上传2G文件,测试结果主要采集存储节点硬盘的tps。

3.2 2 zone 2副本和3 zone 2 副本测试

3.2.1 单用户上传1G文件

经测试上传1G文件(1073741824bytes)使用时间为193秒,上传速度约5.3Mb/s, 因为Swift使用了2副本,所以实际传输速度约为:10.6Mb/s。

上传过程中tps的统计信息:

3.2.2 单用户上传2G文件

经测试上传2G文件(2097152000bytes)使用时间为378秒,上传速度约5.3Mb/s,因为Swift使用了2副本,所以实际传输速度约为:10.6Mb/s。

上传过程中tps的统计信息:

3.2.3 5用户并发上传2G文件

经测试5用户并发上传2G文件,共10485760000bytes使用时间为1871秒,上传速度约5.34Mb/s,因为Swift使用了2副本,所以实际传输速度约为:10.7Mb/s

3 zone 2测试方法和上述相同,在此不再叙述。

4 总结

文章主要对openstack平台和平台上的Swift组件进行了相应的介绍和研究。在此基础上,在物理服务器上进行了Swift组件的安装和部署。最后对Swift存储进行了用户上传的测试,测试数据上传和文件大小 ,并发用户数的关系。

通过测试结果看出,在相同的存储环境下,传输相同大小的文件,并发量越大Swift传输性能越高。除去存储节点磁盘本身的性能对Swift传输速度有影响这个因素之外,Swift的传输速度主要与zone、副本数、zone下的存储设备有关。

参考文献:

[1] 王象刚. 基于云计算的软件测试[J]. 软件, 2013, 34(12): 246.

[2] 姜毅, 王伟军, 曹丽等. 基于开源软件的私有云计算平台构建[J]. 电信科学, 2013(1): 68-75.

[3] 邱汉彬.基于云存储的空间批租业务技术架构研究及原型验证[D].广州:华南理工大学,2012.

[4] 王胜川.基于云计算的存储技术研究[J]. 石油工业计算机应用,2011(2):53-55.

[5] 张云勇.云计算安全关键技术分析[J]. 电信科学,2010(9):64-69.

[6] 张其梅.计算机网络拓扑结构的选择[J]. 信息通信,2012(1):57.

[7] 陈伯龙. 云计算与Openstack——虚拟机Nova篇[M].北京:电子工业出版社,2013.

[8] 任永杰. KVM虚拟化技术实战与原理解析[M].北京:机械工业出版社,2013.

猜你喜欢

云存储
基于椭圆曲线的云存储数据完整性的验证研究
高校档案云存储模式探究
地铁高清视频存储技术的应用分析
云数据存储安全关键技术研究
浅析龙岩烟草业务数据与监控数据中的云存储与大数据