2016年8月5日,全球开源领导厂商红帽携手ZD至顶网、Intel、云达科技共同举办的主题为“开放 融合 开源开启存储新世界”的2016年中国开源企业存储峰会在北京富力万丽酒店隆重召开。中国移动苏州研发中心云计算产品部研发经理郭占东出席此次峰会,并发表了以“Ceph在中国移动的应用与思考”为主题的精彩演讲。
郭占东先生强调了中国移动是一个数据公司,在项目、视频、音乐、阅读增长非常迅速,下载次数已达到亿级别。在公有云上有比较大的影响力。据统计,中国移动有8.3亿的用户,其中4G用户有4.2亿,100万的合作伙伴,目前,由中国苏州研发中心进行支撑,主要是应用层、平台层、资源层和云计算数据中心基础设施层。
之所以选择Ceph,主要是因为选择的前提是这款开源产品能够支持纠删码、内容拓宽、支持S3和Swift接口的功能。从部署运维角度来看,易于掌握、可扩展,在集群扩容时可控制数据写入速度,降低对线上业务的影响。
以下为现场精彩实录。
2015年中移动增长的0.5%,收入占中国移动通讯收入的1/3,通信是基础,显得力不从心。中国移动是一个数据公司,项目、视频、音乐、阅读增长非常迅速,目前这些下载次数已经达到了亿级别。但由于中国移动部分在应对互联网时有突出的问题。
这张图是一个对比,主要是现在用的传统方案:第一成本比较好;第二受限,或者后期运用比较复杂。如果我们加上软件协议站的方式,后期投入成本会有比较大的降低。此外,由于软件应用基础,可以针对业务进行定制优化,可供性更好一些。
中国移动公有云有比较大的影响力,尤其是在个人领域。中国移动有8.3亿的用户,4G用户有4.2亿客户有400万,有100万的合作伙伴,9大基地。
中国移动在2007年就已经开始进行研发,有自己的知识产,2014年6月正式发布产品,同时在今年6月份扩展的一千台的机器。
目前中国移动研发是由中国苏州研发中心进行支撑,主要是应用层、平台层、资源层和云计算数据中心基础设施层。
下面讲一下怎么选择Ceph。我们的选择前提是有一款开源产品能够支持纠删码,然后是内容拓宽,然后支持S3和Swift借口,目前S3和Swift是标准。最后一个支持多数据中心。
开源选型,我们主要对Ceph和Swift进行分析和对比。首先对社区情况和架构、成熟度进行了分析。Ceph的成熟度比较高,也有比较明确的发布计划,隔半年发布一个版本,其中一年有一个长期支持的版本,底层开发能力强。但Swift也有自己的优势,比较简洁,跟Ceph社区在社区的开放性和成熟度方面有一些差别。
其次对产品、功能、性能及稳定性进行分析和对比。Ceph的性能上比Swift要好一些。这是我们的基本信息,有测试工具、有OS等。
CEPH测试总结,2016年1月份做了测试,持续了五个多月时间,从可靠性、功能、部署运维上做的分析。从部署运维角度来说,自动化部署使,易于掌握、扩展。第二是集群扩容时可控制数据写入速度,降低对线上业务影响。第三是主要调优可通过修旧配置文件实现。第四是提供详细的监控统计信息,可通过REST API调用。功能上,S3接口兼容性高,测试期300个用例,只有不到10个未通过,解分析是测试脚本问题,支持多级账号、纠删码等功能。
这时候我们做的Ceph和Swift的性能对比,大家可以看到读写上,Ceph和Swift的区别不是很大,也许我们用的是300,但大部分性能上,Ceph和Swift相比有一些优势。
下面看看Ceph在中国移动上的情况,中移动采用Ceph的方案的时间不是很长,2015年下半年开始,真正开始做是今年上半年,这个项目动作比较慢。大规模集权方面,单集群超过100台物理机,有超过1300个OSD,主要是提供对象存储服务。
另外一个是现在正在做的,基于Ceph最新版本做了新的数据中心,有两个数据中心,异地备份,并且全局命名空间,超大规模应用。(图)我们做了一些事情,和一些业务平台对接,包括数据中心做了一些用户数据的同步,所以内部上都有严格的同步。第三个是做了SSD加速,从我们情况来看,现在有40%左右的牺牲。
最后,云存储的建设与思考。2014年发布产品,有了一些业务,云存储方面的客户需求是准确及时的统计计量;账号分发;单个桶存储亿级别对象,最后一个是要求是最不合理的,但是客户要求的,我们必须要做的。系统需求是从团队角度来看的,需核对已有的Ceph系统进行平滑升级,目前来看,不太完善,我们正在努力。另外是非Ceph系统的数据迁移;最后是安全设计,防入侵渗透。现在云产品不是那么安全,我们需要从整体上考虑安全设计。建设方面的需求,这个比较简单,一个是少花钱多办事。比如纠删码,有效率是30%左右,比较低,我们至少要保证在60%以上;二是可管理可维护,一键解决所有问题,点点鼠标就行,而不是敲很多命令。
Ceph实践总结与思考:第一是统一存储,块侧重OPS,对象则重传输速率(带宽),统一集群调优难度大。第二是数据隔离与thn provisioning。如果从SSD层做不同的库或者搭建不同的块,限制你在这方面的调整。
第二是系统调优,Ceph有上千个可配置参数,需要改动调优用到的也近百个。Ceph daemonpef is better。
第三是对象存储,rgw bucket在大规模环境下需要sharding ,功能与S3/swift看齐,usage/log开启时对性能影响较大,达到10%。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。