OpenStack 中国技术群管理员之一成都 - 子凡近日完成了《 OpenStack 部署实践》一书的撰写,目前已在预售。本书侧重于介绍 OpenStack 的不同安装模式,以及作者在各种部署实验中积累的经验。本书大部分内容基于当前较稳定的 OpenStack Grizzly 版本撰写。
InfoQ 中文站对子凡进行了采访,了解有关 OpenStack 学习方面的更多资源与建议。
作者介绍
张子凡,1989 年毕业于吉林大学计算机系,从 modem、3+ 网络以及 Basic、DBase、Foxbase 开始一直混迹 IT 行业。1999 年加入朗讯科技公司。至 2011 年,一直在外企工作。虽然期间也从事了销售与渠道管理工作,但由于对技术的热爱以及前期在网络方面的知识储备,从未中断过对技术的学习。2012 年,开始从事 OpenStack 云计算系统的技术、实验以及 7×24 运行的生产类系统的部署研究,完成了大量的实验工作。
InfoQ:本书主要面向运维人员吗?要理解本书内容,你建议他们先做好哪些功课?
子凡:本书并不针对运维人员,主要针对的是 OpenStack 的初学者以及企业的 IT 人员,虽然对 OpenStack 初学者有很大帮助,但对企业的 IT 人员在有限的时间内更多了解 OpenStack 有较好的作用,因为开源、开放与免费的特点,使得企业若使用 OpenStack 可以节省大量资金。因此本书重点讲述了大、中、小三类企业如何应用 OpenStack,以及合适的部署模式。
InfoQ:你建议刚开始接触 OpenStack 的技术人员按照什么顺序学习比较好?比如先读哪本书,后读哪本书,先研究哪个模块的代码等等。
子凡:我个人认为最好的学习就是带着任务去折腾,不会的在过程中去补充。渡过了安装阶段的痛苦后(《OpenStack 部署实践》会让你的痛苦少一些),就会喜欢 OpenStack,因为它的开放与灵活使得你可以用很多 Linux 世界的好软件一起打造一个极佳的云系统,是一个我们可以 DIY 的云系统,远超你只能使用而无法组装的其它虚拟化或云方面的商业软件。再进一步结合云存储、大数据分析处理系统,可以组装一个强大的云系统。
但同样,OpenStack 的每个组件就代表着一个纵向深度的技术领域,比如 RabbitMQ,需要精心设计才能满足生产级别的性能与可靠性要求,这方面要花很多时间。
InfoQ:感觉 Ceph 现在基本上是 OpenStack 的标准配置了,但是这个尚未成熟的分布式存储系统毕竟有不少坑。你对于中小企业引入 Ceph 有怎样的建议?
子凡:很多人都有一个类似的认识,同时也只是看到了 Ceph 的一个方面。更需要体验的是,就算是昂贵的商业软件 bug 也是一堆,稳定也只是相对,这种相对稳定实际上是由一批高收入的专业技术人员来支撑的。
走过 OpenStack 安装阶段的人都碰到了许多困难,许多困难有时会阻挡我们一天甚至更多时间,许多坑不一定来源于 OpenStack 或 Ceph 本身而是我们自己的知识面,原因是云计算与云存储涉及的东西太多了,比如,搞网络的不太了解 Linux,搞 Linux 软件的又不太了解网络,弄数据库的人又并不一定了解 RabbitMQ,这种情况比比皆是。
同时,软件本身来源于人们思想,由人所写,当然有 bug 了,是非常非常正常的。但这也恰好体现了开源软件的优势,即只要我们了解了、摸透了开源软件的特点,就完全有办法用周围的软件来补充或回避某些已发现的问题。比如 OpenStack 本身并不提供全冗余的解决方案,但我们用周边的办法一样可以建造 7x24 运行的、冗余可靠的云系统。而商业软件虽然稳定性相对高一些,但我们也只能站在一个使用者的角度来做事情,碰到难题通常也只能打电话求助于厂商。
言语可以被转义多次,Ceph 是个“未成熟的分布式存储系统”也只是我们听到一个方面,并不完整,是因为人们对 Ceph 的架构不是非常了解所致,只是将它与一般意义上的分布式文件系统同等看待才有可能产生上述的看法。Ceph 的核心 Rados 在我看来已经足够稳定, 可以达到生产级别应用;Ceph 对外提供的“块”服务,即 RBD 服务已经可以达到生产级别的应用,欧洲粒子实验室用的就是块的功能;Ceph 对外提供的“对象”服务,即 RADOSGW 也同样达到了生产级别的应用,目前最大的部署案例是 Dreamhost,其对象服务存储的规模达到了 3PB,块服务存储规模达到了 5PB,在我们国家,据部分信息揭示,也有一个 6400 个节点的 Ceph 存储系统。
Ceph 的不稳定部分主要是指它的文件服务部分,即 CephFS,目前软件处于 Beta 版本,可以使用,但不建议生产环境使用,成熟度还没有达到生产级别。但目前 Ceph 的代码更新很快,相信越来越接近生产级应用。同时这个问题我们当然可用 NFS/FTP/SAMA 结合 RBD 等办法提供一下文件服务,暂时回避一下,如果确定要使用 Ceph 的话。
据说,Ceph 社区也准备效仿 OpenStack 的做法,成立 Ceph 基金会,以更好地促进 Ceph 的发展,若能当真如此,将是一个极好的消息。
对于中小企业来说,不需要使用 Ceph。Ceph 是面向大型存储应用的,需要专业的技术服务团队作技术支撑,中小企业没有这么多数据而要存储也没有足够的钱请专业技术服务团队运维。
中小企业可以使用一些相对易于建设与维护的系统,如文件服务可以使用 NFS,块服务可以使用 ISCSI 的系统,用于存储虚拟机镜像或作为虚拟机的附加卷来配合 OpenStack 使用。《OpenStack 部署实践》第九章中提到的 Nexenta,即可以用于文件服务也可以用于块服务,只是它在 18T 存储以上需要付费。
中等规模或偏上的企业也不太需要 Ceph, 完全可以用标准的分布式文件系统来解决问题,比如使用 MFS 或 GlusterFS 来解决大规模文件存储。就算是需要对象存储服务,也只需要将 OpenStack 的组件 Swift 建好就可以。
而 Ceph 是一套适于大规模的、宏大的分布式存储解决方案,同时提供文件、块与对象服务的系统,适于大 PB 级别的应用,用以解决企业采用中央存储中心但还要满足各种应用类型的复杂情况。
也正是如此,虽然《OpenStack 部署实践》第九章中为示例而介绍了 Ceph 一个最小环境如何与 OpenStack 融合,提供附加盘的作法,但这只是为了说明问题,让企业 IT 人员对块服务有一个了解(同时也讲述了 Nexenta 提供块服务的方法)。
原则上,所有类型的企业都可以使用 Ceph,没有上述这么清晰界线。只是使用 Ceph 系统要么企业内有技术狂人或团队,要么做好付费请专业技术团队作技术服务的心里准备。否则,仍建议使用易于管理与使用的小型集中式存储系统或标准的文件系统来实施,比如 MFS 在我们国内天津的一个案例是 1PB,这通常足够解决很多中等规模的企业存储需要求了。
InfoQ:从运维的角度,你觉得 Ceilometer、Heat 组件跟之前的运维工具相比有什么不同?对 Icehouse 哪个方面的变化最期待?
子凡:OpenStack 走到今天,OpenStack 基金会成功地让 OpenStack 得到很良好的发展,具备丰富新功能的版本不断地被推出,同时 OpenStack 的火热又不断地吸引着全球更多优秀的自由开发者加入并提供更多功能,有些令人目不暇接。但对我们国内很多打算应用 OpenStack 建设虚拟化环境或私有云的企业来说,他们可能需要的只是部分的功能组件,需要的是由部分功能组件搭建起来的强大而稳定的云系统,而选择哪些组件搭建系统则与经验有关。比如,很多搞 OpenStack 的人员当前也经常在 nova-network 与 neutron 间徘徊与苦恼。
同样,是否使用 Ceilometer 与 heat 组件也是仁者见仁,智者见智,不一而说。I 版仍会有新功能推出以及对已有部分的完善,我没有特别关注一些新功能。
另一方面,OpenStack 的架构设计是以公有云应用为基础的,企业直接拿来使用也面临确实面临着如何调整的问题。
在《OpenStack 部署实践》一书中,实际上我用了 2 个章节讲述 nova-network 以及 nova-network 如何调整适于中小企业应用,在绝大多数情况下,nova-network 完全可以满足中型企业应用要求。
开源、开放、免费对很多企业来说相当具备吸引力,但企业 IT 人员同样也为难于驾御 OpenStack 而忧心。好在目前国内已经有相当数量的人员从事 OpenStack 应用研究工作,原则上企业只要愿意付费是可以找到合适的技术团队来建设 OpenStack 私有云系统的,基本上不再需要为此费心了。有可能某些企业觉得我私下使用某些成熟的软件那不是更好吗?但又谁说你今天不付费而明天不会接到律师函呢?
OpenStack 在中国的应用推广是基于很多人分享了他们获得的知识而来的,在这里要感谢王达夫博士、陈沙克、北京 YZ、程辉、杜玉杰、梁博、上海蔡云飞等等还有我不熟悉的更多人对技术的热爱。同时,我们国家有钱的互联网公司也很多,存储着庞大数据的系统也很多,更希望他们能像 Google、Facebok、Rackspace 等等公司一样,能开源一些他们的技术系统,能让中国的各大企业能从中受益,也能让各种技术从各个孤岛中走出来,开放、分享与交流才能真正推动技术发展。
让更多的企业从 OpenStack 中受益,并回避目前国外软件的安全后门(OpenStack 的代码是开源的,可审查的),这就是我写这本书的心愿与动力,这么好的东西为什么不用呢?
InfoQ:最后,如果让你从本书中仅选三章呈现给读者,你推荐哪三章?
子凡:我推荐第 4 章 OpenStack 中小企业应用部署,第 8 章 OpenStack 卷服务——cinder,以及第 9 章 OpenStack 中央存储及虚拟机动态迁移。
评论