admin 管理员组文章数量: 887021
2024年3月26日发(作者:示波器position是什么意思)
电信工程技术与标准化
中国移动优秀科技创新成果专栏
2017年 第7期
基于开源软件构建云存储平台*
王东旭,陈方县
(中移(苏州)软件技术有限公司/中国移动苏州研发中心,苏州 215163)
摘 要
为了解决在使用开源软件构建云存储平台的过程中,可能会面临的各种实际问题,比如存储集群的高可用、
超大规模节点集群部署和维护、跨多数据中心解决方案等等。我们采用了诸多技术手段,如增加前端数据缓
存、预备份数据来提高处理效率;通过增强数据冗余检查、数据的一致性检测保障数据安全,加强了健康检
查和告警模块、自动化部署、优化通知和轮询机制,增强了网络监测技术来实现便捷的运维管理。我们通过
将所有存储组件都多活热备,各种相同功能的组件高可用分布到不同机架,来达到提高产品可用性的目的。
关键词
高可靠性;多数据中心;超大规模集群;部署和维护
中图分类号
TP393
文献标识码
A
文章编号
1008-5599(2017)07-0010-04
1 引言
传统的存储设备,比如SAN和NAS设备,价格昂
贵,且很多核心技术掌握在国外的某些大企业手中。同
时,技术的不透明也会使得数据安全受到威胁。随着云
计算技术的不断发展,计算虚拟化、网络虚拟化、存储
虚拟化技术日趋成熟,x86服务器性能和稳定性不断提
升,但同时价格却不断下降,这使得使用开源软件为基
础,提供构建x86服务器上的整体云计算解决方案成为
可能。开源云计算技术具有成本低、灵活性高等优势
[1]
。
基于日益成熟的开源软件,借助于OpenStack架构来
构建云存储平台日益成为一种简单、可行的解决方案。
如果规划得当,这种云存储产品可以用于各类IT平台,
为IT平台提供块存储(BC-EBS)、对象存储(BC-
Onest)、文件系统(BC-NFS)等存储服务,借助于网络、
计算等技术,可以方便的构建私有云和公有云平台。
2 研究目标
随着时代发展,应信息时代数据爆炸的需求,存储
数据和规模呈高量级增长。IDC等机构认为分布式存储
将会很快取代传统,占据存储市场的主流。对分布式存
储技术而言,存储集群的高可靠性、超大规模节点集群
部署及其维护技术成为急需解决的问题;由于存储集群
规模增大,数据存储和访问技术呈现多样化,因此跨多
数据中心也成为研究目标之一。
3 研究内容
3.1 存储集群高可靠性
本文基于中国移动目前的实际项目和理论基础,采
用大规模分布式的廉价x86服务器集群,一致性哈希快
速定位用户数据技术,结合计算节点内部采用的本地缓
收稿日期:
2017-06-21
*
中国移动集团级一类科技创新成果,原成果名称为《大云弹性块存储系统BC-EBS》。
10
2017年7月 第 7 期(第30卷 总第238期)月刊
2017年 第7期中国移动优秀科技创新成果专栏
电信工程技术与标准化
存I/O加速技术,构建出核心数据存储能力层,以此实
现块设备存储、对象存储和文件访问3种通用存储访问
协议,与此同时,用户数据冗余、缓存、快照备份、I/O
进程调度等方面,系统也会进行管理与技术优化。系统
内所有存储节点通过高速以太网络互联,全部采用易扩
展的对称设计,利用优化的数据一致性技术,能使单集
群支持至少上千节点规模,存储对象的数量也至少上
千亿。
随着集群规模的扩大,维护存储环境中节点间数据
一致性将消耗大量资源,在大规模的存储环境中体现更
为明显,这将导致节点规模受到限制,为了优化此问题,
将数据一致性维护操作和数据读写操作做一个分离的机
制,减少集群压力,从而有效扩大集群的规模。
云计算的基础架构大量使用了廉价的服务器集群,
特别是x86架构的服务器,节点之间的互联网络一般也
使用普遍的吉比特以太网
[2]
。网络瓶颈和网络资源的竞
争或多或少会对虚机系统性能造成影响。如果物理节点
出现故障,可能造成虚机内部的数据不一致或不可用问
题。为了增加集群的可靠性,对系统的计算节点做了优
化,众所周知,缓存系统是存储系统的重要组成部分
[3]
,
如图1所示,增加前端数据缓存设备和实时同步机制,
可以有效的缓存虚机系统磁盘的I/O数据,当需要进行
数据读取时,系统优先读取本地副本的数据,已获得较
快的速度,数据写入稍微复杂一些,需要同时写入远程
日志和本地副本,当两者都成功返回时便可认为写入成
功
[4]
,系统定期进行回刷数据机制,同步前端缓存和后
端集中网络存储数据,从而满足了虚机的热迁移功能。
通过测试,此数据缓存机制可以减少80%的网络I/O
请求,降低了网络I/O的负载压力,对网络集群的扩展
有了很大帮助,可以使集群增加更多的计算节点。
普通PC服务器和廉价磁盘也会影响系统的可靠性,
如何保证系统在不可靠的硬件条件下能够伸缩或者扩
展,使磁盘、节点和机架的多级数据可以自动的恢复并
且重新分布,针对此问题,提出一致性哈希
[5]
的数据卷
分片多副本
[6]
的分布和管理方法,大大提高了系统的可
靠性。
系统数据的备份和恢复
[7]
已经被用户广泛使用,但
是备份和恢复会降低系统的性能,如何保证数据既可以
备份和恢复
[8]
,又不影响系统的性能,此项目采用预备
份设备的数据快速备份和数据冗余检查的方法,不但可
以提高性能,又可以减少数据的冗余。
缓存数据分为热点数据和冷数据,热点数据会缓存
到服务器的内部高速缓存设备中,但是有时会出现缓存
数据不一致的问题,例如服务器掉电再重启,缓存的数
据不能及时被保存到缓存设备中。为了保证数据可以及
时恢复并对外提供服务,研究出了一个缓存数据一致性
检测和保护的方法,保证数据的完整性。
采用上述的可靠性设计
[9]
,系统的数据可靠性可达
99.999999999%(11个9)的水平,在存储行业处于领
先地位。以在国内某公司私有云环境搭建的一套环境为
例,总共有28个标准机架,每个机架部署10个存储节
点,一共有280个存储节点,采用三副本的机制均匀分布。
数据的可靠性可以通过计算,得到99.999999998891%
(10个9),除此之前,该系统在两台互备计算节点上
添加了前端缓存设备,以及2个或4个(磁盘RAID1)
副本,通过计算,可靠性可以达到99.9999999%(9个
9)。结合整个系统的备份恢复机制,系统可靠性可以达
到99.999999999%(11个9)的水平,在存储行业遥遥
图1 增加前端缓存设备
领先。
11
2017年7月 第 7 期(第30卷 总第238期)月刊
电信工程技术与标准化
中国移动优秀科技创新成果专栏
3.2 跨多数据中心
利用存储集群划分、节点分布、供电冗余等技术,
首先保证机架之间的存储高可用,然后通过异步数据远
程复制和日志技术,实现异地多数据中心间的准实时数
据同步,以及解决异地容灾问题。
系统如果要保证在单机、单机架故障时仍能对外不
停的提供服务正常运行,可以通过把系统的所有组件都
热备,并且组件HA节点分布到不同机架上的方法来解
决,经测试,这种方法可使服务可用性可达99.95%以上。
系统也提供一个健康检查的模块,定时启动之后,如果
系统的副本减少,能自动修复副本的数量。通过网络检
查通信事件,并比较各类通信信息集合事件发生的时间
点变化,就可以检查远端服务器的性能和可用性。元数
据一般保存在仲裁服务器中,集群管理服务会在本地保
留一份元数据的Cache,如果要保证Cache和仲裁服务
区保持一致,则需采用通知和轮询机制,通过仲裁服务
区的元数据这一分布式服务框架来有效的管理集群。
针对跨数据中心的对象存储服务,该项目采用异地
主备容灾的方案,对于容器对象异步远程复制技术,主
节点对外提供服务的过程中,用户数据写入主节点之后,
就会给用户返回写成功的消息,并且会有数据实时变化
的日志信息。而备节点会实时与主节点进行比较,如果
有不同的数据,就会把差异的数据及时拉回备节点,保
证主备节点的数据实时同步。
3.3 超大规模节点集群部署和维护技术
超大规模节点集群的部署和维护技术已经成为云计
算领域的一个难题,该项
目通过利用自动化系统部
署,针对分布式软件的插
件化统一部署和主动式、
被动式集中监控告警管理
来解决这一大难题,如图
2所示。
系统出现频繁告警的
时候,会给网络和运维带
图2 各个模块的作用与方法
2017年 第7期
来压力和负担,为系统设置一个告警上报功能,完善告
警上报的流程,通过这种告警信息处理方法可以优化这
样的问题。部署的过程有时会耗费很长时间,并且部署
过程可能会遇到未知问题,针对此问题,对于部署过程
中可能会遇到的一些问题及报错,要提前做好应对措施
和规避方法,并且可以实现自动化的软件就进行自动化
部署,部署后进行自动动态配置系统信息,无需用户再
手动去配置,并且手动配置容易出错。虚机进行热迁移
之后,数据的完整性和虚机状态的一致性也容易出现
问题,为了提高虚机计算能力的整体可靠性和稳定性,
在虚机迁移的源虚机中的迁移日志同步到目标虚机中
去,如果报错会及时查看迁移日志。
该项目在国内某公司的私有云环境下,实现了云计
算计算节点、存储节点和虚机的统一监控和管理。单套
系统可以统一管理存储节点,集群规模达到了1 000台,
计算节点3 000台,虚机近6万台,处于行业的领先地位。
4 总结及展望
随着云计算技术的不断发展,该项目打破了传统存
储技术的缺陷,解决了投资巨额的问题,并且不断实践,
打造存储技术的自主核心能力,实现了云计算领域领先
水平的高可靠性服务、首创跨多数据中心的数据存储和
访问技术以及国内率先实现超大规模节点集群部署和维
护技术。为后续更先进、更可靠的云存储技术的发展打
下了良好基础。
12
2017年7月 第 7 期(第30卷 总第238期)月刊
2017年 第7期中国移动优秀科技创新成果专栏
电信工程技术与标准化
参考文献
[1] 姜毅,王伟军,曹丽,等. 基于开源软件的私有云计算平台
构建方法[J]. 电信科学, 2013,29(1):68-75.
[2] 陈康, 郑纬民. 云计算:系统实例与研究现状[J]. 软件学报,
2009,20(5):1337-1348.
[3] 贾博文, 张文军, 李小勇. 面向虚拟机的分布式块存储系统设
计及实现[J]. Microcomputer Applications Vol.31,No.3,2015.
[4] 杨彧剑,林波. 分布式存储系统中一致性哈希算法的研究[J].
电脑知识与技术:学术交流, 2011,07(22):5295-5296.
[5] 姚墨涵,谢红薇. 一致性哈希算法在分布式系统中的应用[J].
电脑开发与应用, 2012,25(7):1-2.
[6] 刘田甜, 李超, 胡庆成, 等. 云环境下多副本管理综述[J]. 计
算机研究与发展, 2011,48(s3):254-260.
[7] 张艳, 李舟军, 何德全. 灾难备份和恢复技术的现状与发展[J].
计算机工程与科学, 2005,27(2):107-110.
[8] 凌宗虎, 李先国, 韩志勇. 远程复制系统数据一致性研究与
实现[J]. 计算机应用, 2005,25(11):2638-2640.
[9] 王意洁, 孙伟东, 周松, 等. 云计算环境下的分布存储关键技
术[J]. 软件学报,2012,23(4).
Building cloud storage platform based on open source software
WANG Dong-xu, CHEN Fang-xian
(China Mobile (Suzhou) Software Technology Co., Ltd./China Mobile Suzhou R & D Center, Suzhou 215163, China)
Abstract For a long time, the core technology of storage equipment, such as SAN and NAS, belongs to some large
enterprises abroad, in order to break this situation, and get involved core storage technology, our team
from China Mobile conducted in-depth research and extensive practice. Use open source software, such
as Ceph, as a technical basis, engineers can be more convenient and quick to cut into the storage areas,
which technology is believed not easy to master. This article is to solve the practical problems that may
be faced in the process of building a cloud storage platform using open source software, for example,
high availability of storage clusters, deployment and maintenance of ultra-large-scale nodes, cross-data
center solutions, and so on. We have adopted a number of technical means, such as adding front-end
data cache, pre-backup data to improve processing efficiency; by enhancing data redundancy checks,
data consistency detection to protect our data,enhancing health check and alarm module, automated
deployment, optimizing the notifi cation and polling mechanism, and enhancing the network monitoring
technology to achieve convenient operation and maintenance management. We are able to achieve the
goal of improving product availability by distributing all the storage components in a variety of racks of
the same function.
Keywords high reliability; cross-data centers;large scale cluster; deployment and maintenance techniques
13
2017年7月 第 7 期(第30卷 总第238期)月刊
版权声明:本文标题:基于开源软件构建云存储平台_图文 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1711393611h594412.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论