目前能提供IAAS服务的有:诞生较早的Eucalyptus,OpenNebula和CloudStack项目仍占据一定的优势,更不必说IaaS的老大AWS,以及企业级私有云的标杆VMware,而且openstack是刚起步还有很大的空间要走,在国内OpenStack则在很大程度上还处于一种测试环境的状态
第一部分 OpenStack及其构成简介和第二部分 OpenStack安装与配置这里已经介绍了手动安装 openstack的过程以及安装过程中需要的一些组建和组建的意义;但是每次手动一点点安装太费劲了~~~~于是就出现了许多打包式的安装,这样就不用在那么费劲的去部署安装了,只需要拿到被人写好的安装过程的脚本拿来执行以下就可以安装和部署openstack了;一共有如下几种安装方式:
公共云方面,国内目前由于众所周知的原因,公共云服务很少。正在做公共云的互联网公司,无论是阿里、百度还是腾讯,大都已经开发了自己的一套东西跑着;运营商方面,电信、联通已经采用了CloudStack,移动则已经部署了OpenNebula,虽然跑的不怎么理想,但也没啥更换技术的动力;华为虽然关注OpenStack,但他们早期使用过Eucalyptus,又一直为运营商做部署,所以目前还没有什么大规模的OpenStack部署。至于将要在国内落地的微软公共云,和可能也要在国内落地的VMware公共云,当然也没有用OpenStack的理由。
倒是在私有云方面,有一些公司从去年就开始做一些尝试,比如瞬联软件就在内部搭建了OpenStack的系统,而高德地图的服务背后也已经开始用上了OpenStack技术。对于想要搭建私有云的企业而言,如果没有使用VMware的打算,那么OpenStack目前已经是他们比较青睐的一个解决方案了。可以说,很多关注OpenStack的公司都认为这个项目将会是云计算时代的Linux,只待这个领域的红帽出现,用户就可以比较放心的去用这项技术了。
不过,当前还有另一个趋势,就是有能力搭建私有云的企业,越来越倾向于自己养一个技术班底来维护这个平台。既然无需等待第三方的崛起,这就意味着整个市场部署私有云的进度可能会非常快。这正是整个行业的一次机遇。
Openstack发展很猛,很多朋友都很认同,2013年,会很好的解决OpenStack部署的问题,让安装,配置变得更加简单易用。
很多公司都投入人力去做这个,新浪也计划做一个Openstack的iso,集成OS,当你决定去做这个的时候,那么先了解一下目前的现状。说到部署,肯定和OS有关,对于Openstack来说,无非就是Ubuntu还是CentOS,当然也会和OpenStack版本有关。
其实部署工具,最麻烦的地方,不是软件的配置和安装,而且网络。用户的网络情况太多,还有Openstack本身的网络也很复杂。
关于如何step by step的部署,目前Openstack 官方已经把文档整理的很好,基本把我收藏夹里的内容都整理在这里:http://www.openstack.org/software/start/
StackOps自身规模比较小没有顺利走Mirantis和CloudScaling的路子,商业模式也不够清晰;Dell的CrowBar还是不错的一套工具,我做过它对RHEL6.x 的支持,并不复杂,可惜由于限制没能贡献回去;Juju本身定位应该是大于openstack的,思路很好,也算找到一片小小的蓝海;
这是Mirantis出品的部署安装工具,2013年10月份,推出他的3.2版本,让人很震撼,基本算是把Openstack所有的部署都web化,你可以太多的选择:尤其是网络,存储。这基本都是大家学习的榜样。已经敢和企业签订SLA。
目前国内杜玉杰,九州云,在做该项目的汉化工作和考虑日后的技术支持。
http://www.mirantis.com/
这应该算是Openstack最早的安装脚本,他是通过直接git源码,进行安装,目的是让开发者可以快速搭建一个环境。目前这套脚本可以在Ubuntu和Fedora下跑的很好。
如果你想了解新版本的功能,通过Devstack是一个最佳选择。我第一次成功安装Openstack,就是用这个。
这算是我知道的第一个基于ubuntu 源的安装脚本,当时Diablo发布的时候,有bug,keystone和Horizon无法一起工作,ubuntu 11.10源里的包也是有相同的bug,并且Ubuntu 官方并不打算维护和升级。这位作者个人身份,维护了Diablo 版本后来的升级,打包,并且写了一套脚本。
https://github.com/managedit/openstack-setup
这套脚本,其实写的非常好,我同事改造了一下,就可以安装Essex版本。目前正在改进,用来安装Folsom版本。
Openstack起步的时候,官方的安装文档,其实基本都是来自Stackops,当时他们提供Openstack的部署服务。你下载一个iso,装完一个ubuntu系统后,就会转到他们的web,你填写相关的配置参数,通过chef进行部署。
Stackops在Chef上是比较强悍的,包括Dell的Crowbar,也是和他合作,才搞定Chef。不过我的理解,他的Chef 脚本是没有开源的。
Stackops通过商业定制,进行收费。目前感觉有点走下坡路,业内的声音比较小了。对openstack的新版本支持比较慢,Essex支持,到9月份才支持。目前还没有任何关于Folsom 的支持。
在Openstack上,Dell是有点郁闷,中国的那句老话,起个大早,赶个晚集。Openstack刚发布的时候,Dell就号称要做一个工具部署,不过毕竟是硬件公司,对软件还是比较外行。
Dell的Crowbar,是一个iso,装完后,你可以在web界面进行Openstack的部署,底下其实也是使用Chef。集成了Nagios监控,安装OS是dell自己开发的,有点创新。
以前Dell的Crowbar一个大的特色就是可以远程设置机器的Raid和Bios,这是从Dell,我才知道可以这样做。不过也正因为这个特色,导致厂商绑定,还有Dell自己如何定位Crowbar,当初还想搞一个商业的版本,结果后来放弃。
Crowbar目前的开发,其实应该是遇到问题,任何做部署工具的,应该都是一个很好的失败的案例。后续的发展,维护,更新都是问题。
作者blog http://robhirschfeld.com/
这是Canonical推出的部署工具,可以用在Openstack的部署,类似Puppet,Chef 的部署工具。Maas是用于安装ubuntu,juju是用于部署应用。
我是很早就测试他们,本来有操作系统的优势,做部署工具,应该会有优势,不过比较失望,Maas开始的时候,就是一个半成品,Maas装完的操作系统,是无法固定IP地址,真不知道他们怎么想的,可能是我土鳖,不能理解数据中心的机器,都是通过dhcp获得IP。我订阅了juju的邮件列表,一个星期就1,2封邮件,比较惨淡。研究的人估计也很少。
以前Maas底下是使用cobbler,不过现在最新的版本,已经去掉,用ubuntu自己搞的。
依靠自己的公司投入去维护一套工具,难度都是比较大的。所以Maas和juju,前景真的不是太好。你如何和Puppet和Chef 竞争?
这可是出身名门,Rackspac推出的Openstack部署工具,一个ISO,你装好后,里面带一个Chef 虚拟机。你用iso安装操作系统的时候,就要选择机器的角色。
Rackspace有一点做的是不错,提供一个诊断工具,让用户可以通过这个诊断工具,向Rackspace提交问题,这个是非常值得借鉴的作法,当然也是很有难度的。
文档也很全,大家可以去看看,我是一直都没测试。
Chef 代码完全开源,并且现在同时支持Centos 和Ubuntu, 并且支持Folsom。在github上,大家可以看看。趣游的朋友对这个比较有研究。
通过这个项目,你可以了解到Openstack那个组件属于不稳定,例如nova volume,vnc,他们都不集成,从另外一个方面说明这有问题。
http://www.rackspace.com/knowledge_center/getting-started/rackspace-private-cloud?d2a038a0
思科很早就介入Openstack,Quantum项目,算是思科发起。思科的Openstack版本,倒是比较有意思,基本Puppet来做,并且自己做了一个Openstack源。
看了一下思科的Openstack资料,简单理解:通过puppet部署Cobbler,利用cobbler安装Ubuntu 12.04,利用puppet安装Opentack的组件,集成监控,好像已经把监控集成到Dashboard里。可惜一直没条件测试,看文档,好像是需要思科的专门交换机才行。目前是支持Folsom和Essex。
http://www.cisco.com/web/solutions/openstack/index.html
Puppet公司,其实已经直接加入Openstack,官方的身份维护着Puppet的Openstack模块,并且Openstack模块,可以同时支持Ubuntu和Redhat系列,Redhat的工程师在帮忙。
https://github.com/puppetlabs/puppetlabs-openstack
这是日本人搞的一个部署工具,也是基于cobbler和puppet,另外还做了一个web管理,我是一直都没测试,作者还去参加开发大会,介绍他们的产品。目前Openstack官方文档关于Puppet的部署,是这位开发者在维护。这套产品是在日本科研系统生产系统中使用。
https://github.com/nii-cloud/dodai-deploy
这是Openstack的Nova推出的新功能,只能等Grizzly发布,再好好看看。这是日本的好几家搞Openstack的公司,联合搞的一个功能,啥时候,中国也搞一个呢?
http://wiki.openstack.org/GeneralBareMetalProvisioningFramework
其实这个项目,是基于Dodai-deploy上开发的,目前代码已经加入Openstack,并且吸引了很多的开发者,Redhat的开发者也参与,让人更加有信心。
详细的介绍:http://l2.yunpan.cn/lk/QvESQUGdxKuLX
文档是在slideshare和google doc,需要翻墙,所以我就放到网盘上。
有句话非常经典:No community support ,no feature. 没有社区支持的开源软件,没有前途。应该很好反思一下国内的开源状况。
Folsom安装,由于引人了quantum,导致安装比较复杂,不过终于有朋友搞出一个脚本,不只是支持quantum,还支持nova network。我已经测试过nova network,非常好用。
https://github.com/jedipunkz/openstack_folsom_deploy
Cobbler一般都是用来安装系统,不过Cobbler 2.4版本,将会提供安装Openstack的功能,真的不知道他如何实现,关注中,过完年,好好测试一下。
http://www.indiegogo.com/cobbler24
这是雅虎搞的Openstack安装脚本,用python写的, 我同事学习半天,据说用了很多python的高级语法,可以在Centos 6.2下跑, 不过我是没看到任何用户在测试.不过这个脚本一直都在坚持更新。雅虎今天的状况,还能投入那么大精力去做开源。
http://anvil.readthedocs.org/en/latest/topics/gettingstarted.html
https://github.com/yahoo/Openstack-Anvil
Grid Dynamics公司,是一家咨询公司,在Redhat没有正式宣布加入Openstack前,CentOS的Openstack的rpm包都是他们维护的,并且最开始的EPEL上的包,也是他们帮忙做的,并且他们还开发了好几个模块:DNS管理,账单管理。还有一个Dashboard。不过这些项目,都没有成为孵化项目。
他们也开发了一套脚本来部署
https://altaicloud.atlassian.net/wiki/display/V102/Installation
http://www.griddynamics.com/solutions/altai-private-cloud-for-developers/
以前,如果你希望在Centos下安装Openstack,就必须用这个公司提供的源,后来Redhat加入Openstack,也就改变很多。最近半年,好像比较沉默,没看到太多的信息。如果大家希望基于CentOS来做部署,其实可以参考一下。
这个项目目前放在stackforge,算是努力成为孵化项目。目前是支持redhat系列。说明
https://github.com/stackforge/packstack
按照上面的几种安装方式安装openstack就可以对外提供IAAS(基础设施既服务)了。这是自己搭建IAAS对外提供服务。以上openstack的安装部署都只是在安装部署阶段。目前按照以上的某种安装部署或是公司自己研发的安装部署之后对外提供付费服务的有easystack、unitedstack;免费有IBM的supervessel;
但是你自己搭建的知名度、安全性、奖状性都不完善,所以别人也很少用,几乎就是没有人用,只是自己练手学习罢了。所以市面上就出现了专门提供ISSA这样的公司来专门提供服务,保障安全,健壮,易用,这样一来用户就不需要自己搭建那么复杂的过程了,只需向提供服务方支付相应的费用就可以获取相应的资源给自己提供服务了。这里面有名的有:阿里云,百度云,亚马逊云,IMB云,google云等等。当然阿里云,百度云,亚马逊云google不是用的openstack架构搭建的云平台,都有自己的云架构、技术架构、软件产品以及生态圈来完成的符合自己公司需求的云平台服务。而且openstack是最近几年才发展起来是一个开源项目受到大家的追捧,IBM致力于其中,想利用openstack搭建自己的云平台。目前已经有基于openstack搭建、成熟的云平台有easystack、unitedstack以及IBM的supervessel等;