【编者按】OpenStack已在全球范围内成为打造云平台的首选技术,但OpenStack毕竟是一个庞大而专业的新兴系统,有一定的使用门槛,尤其是IT水平相对滞后的国内企业,搭建和运营好OpenStack云平台并非易事。本系列文章中,苏宁OpenStack研发中心负责人张小斌基于其多年OpenStack实践经验,系统地解析了企业部署OpenStack需要掌握的知识。本篇为第二篇,介绍OpenStack的使用成本和学习成本、成功案例、初级用户建议、生产环境部署以及HA方案的建议等。 系列文章总目录预告如下:
学习成本还是比较高的,因为使用OpenStack的企业绝不是纯粹把它跑起来而已,一般都想上生产环境,这里问题就来了:网络(扁平网络、vlan、GRE/vxlan、交换机、路由器、广播/组播……), 存储(LVM、共享存储、对象存储、块存储……),监控、自动化部署、安全、用户管理、迁移;大型环境还有各种高可用、多Region、多可用域、性能、可靠性,都需要考虑。
小规模环境,比如50个节点以下,搭建单控制节点、多个计算节点、使用LVM,直接从社区拿到的OpenStack版本还是比较稳定的;一般可能会遇到不少网络问题,这需要了解Neutron、OpenvSwitch、Vlan等;DHCP可能有时候分配不到IP,Nova-compute可能有时候创建不了虚拟机。但所有一切,除了网上有大量资料可以参考,另外只需要重启下服务,一般都足以解决问题。所以这类使用,大可放心。
从技术角度,首先是需要网络方面的专才,对传统和软件定义的网络、网桥、交换机、路由器、Vlan、DHCP等都比较熟悉才行。
其次是存储、操作系统等,要有了解数据中心管理、配置的人才行。
Python写的代码很容易上手,只要具备编程经验的人手,基本就是个体力活。
但最主要的是,需要有了解企业级场景和需求的人。OpenStack太复杂,功能太多,学不胜学,因此一定要剪裁,做减法才行,要选取适合自己企业需求的功能和组件重点突破。
学习和部署OpenStack需要大量的系统方面的知识。在《OpenStack企业云平台架构与实践》一书里第2.9节列举了一些知识点。
一套最基本的可运行的OpenStack环境,至少要包括Keystone、Nova、Cinder、Glance、Neutron、MySQL、RabbitMQ等,都分布式地“串”起来,部署到合适的物理环境(物理机,包括CPU、内存、磁盘、网口、操作系统、磁盘分区),网络(千兆、万兆、Vlan、IP地址池、网关),存储(LVM、Gluster、Ceph、Swift……), IP地址池,网关……具体配置参数……
其实对于OpenStack具体某个项目的某个服务,因为是Python代码,要读和修改代码都不难,难的是把整个都串起来,而且整个平台运行起来是期望的那样,这个是最难的。因为具体哪一块都可能出问题,而且很多问题都不直观,甚至很难定位。如果某人拿没有规范搭建的环境问笔者为什么不工作,笔者也没法回答,可能的情况太多了。
关于OpenStack平台,这方面非常多了。中小型企业环境,比如节点数少于100,少于50的非常多,各种版本的都有。笔者见过最早的有E版本的,现在搭建这种规模环境非常容易了。假使遇到问题,只要用错误信息一搜,有很多帖子来交流如何解决;大规模环境,包括金山、京东、携程、苏宁、巨人网络,几个运营商都有,国外就更多了。
有些企业是纯粹的OpenStack,而有些企业只用到其中一些项目,如美团用到了Keystone、Glance、Swift。大家这方面的怀疑完全可以打消。
感兴趣的人还可以关注如下网址:https://www.OpenStack.org/user-stories/。
现在OpenStack从业者关注的问题,已经到IaaS之上了,以前交付给用户的是光秃秃的虚拟机,拿到虚拟机,用户还需要装软件、配置系统;现在搭建IaaS,OpenStack提供者还需要解决应用的问题,这方面可以使用OpenStack Heat(编排,支持服务的自扩展)、Trove(数据库即服务)、Sahara(大数据/分析即服务)等来支持,基本功能本身都很稳定,只是一些特殊功能还缺失。
首先要考虑安装部署拓扑,但这个比较基本。中小企业里考虑单控制节点,或者主从的控制节点即可。计算节点则可以考虑计算、存储一体的,比较稳定,比较简单。
网络情况比较复杂,而且是出问题最多的地方:首先是选型,考虑是Flat网络是否就够了?如果够了,用Nova-network足矣。一般生产环境使用的是Vlan,这个可以基于Nova-manager, 但目前普遍的是用Neutron;另外研究可以使用Neutron,并研究下GRE/vxlan。如果确定什么网络适合,剩下的是具体的配置/服务把它们跑起来,当然事先要准备好IP地址池、网关、Vlan段等信息在手边。
网络问题的调试则设计到许多传统网络里固有的问题。另外,如命名空间、软件交换机,总体上引入不少新生事物,但也不是翻天覆的变化。
配置:初始化Keystone,包括service、admin tenant、endpoint……这些可以用RDO/DevStack装个环境看下,基本都一样;数据库,有类似于db-sync之类的脚本,可以把各个项目需要的数据库创建出来。配置文件:如果没有特殊要求,只需要把里面的MySQL、RabbitMQ配置需要的IP填写对即可。
如果是初级用户,建议先用DevStack搭建单机环境,总共只有4步;搭建完毕,查看MySQL,各个配置文件(/etc/xxx/xxx.conf);其次可以用RDO或者Mirantis,Mirantis Fuel是唯一有界面的OpenStack部署工具,刚发布6.0,但目前还有一些问题,建议用它们的5.0/5.1版本。
下面的图可以说明,搭建一个相对完备的云平台需要做的方面(当然还包括许多其他的)。 总体上既要战略上藐视OpenStack,也要在战术上重视OpenStack。并没有想象得那么难,但需要关注的技术、问题方面会很多。也特别需要一些好的架构师才能把事情做成。
搭建一个相对完备的云平台需要做的工作
这个问题《OpenStack企业云平台架构与实践》第8章讲得比较多,需要考虑的方面比较多。
接下来就要准备:
总体上,如果一个大型系统,要做的事情还是比较多。
操作系统的选择,可能大家对操作系统是非常信任的,但其实不然,操作系统内核有Bug,会在某个条件触发下造成整个物理机宕机/crash/重启,如果是上生产系统,可能需要谨慎了。OpenStack里用得比较多的操作系统是Ubuntu和CentOS。当然RedHat更好,但需要资金。操作系统还需要关注版本。H和I版本用的很多的是CentOS 6.5。如果想用CentOS 7.0,还是先到CentOS 社区看看目前开放的Bug, 一些是和虚拟网络紧密相关的,当然解决速度很快,但需不需要一段时间让Bug 沉淀下呢?还是想尝鲜?
系统规划,比如很多系统重启不来,原因是根分区被日志文件塞满了。另外如果系统关机,突然重启,系统都会对KVM 虚拟机做保护,这个也占用磁盘空间;生产环境免不了还是会发生意外,是否需要一些预装的调试工具,还是当问题发生再找呢?这些都是要考虑的。
针对控制节点与服务的HA(高可用)方案很具体而可实施。最佳可行的包括主备方案和Active-Active方案。虽然复杂,但是切实可行,也进入生产环境了。
针对虚拟机的HA方案,如果应用本身集群支持得挺好,而且调度策略也支持反亲和策略,那可能底层并不需要提供什么HA。需要时候新增加一些虚拟机就好了。有个很有趣的比喻是Pets VS. Cattle,https://it20.info/2012/12/vcloud-OpenStack-pets-and-cattle/。如果应用本身已经达到cattle的程度,那就非常轻松了。
有几种我尝试过的方案。
未完待续(责编/周建丁)
作者简介:张小斌,苏宁 OpenStack 研发中心负责人,分别于西安交通大学和中科院计算所完成本科和硕士研究生学业,拥有 18 年计算机软件设计、开发和管理经验。目前专注于云计算的研究探索,关注社区,注重 OpenStack 在企业的实践和落地。在企业级计算、网络和存储的整体解决方案、高可用性、安全以及应用管理自动化和弹性等领域都有所拓展。
本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox4.7.0_Build20141115_CHS.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算