Jan 302013
 

Openstack发展很猛,很多朋友都很认同,2013年,会很好的解决OpenStack部署的问题,让安装,配置变得更加简单易用。

很多公司都投入人力去做这个,新浪也计划做一个Openstack的iso,集成OS,当你决定去做这个的时候,那么先了解一下目前的现状。说到部署,肯定和OS有关,对于Openstack来说,无非就是Ubuntu还是CentOS,当然也会和OpenStack版本有关。

其实部署工具,最麻烦的地方,不是软件的配置和安装,而且网络。用户的网络情况太多,还有Openstack本身的网络也很复杂。

关于如何step by step的部署,目前Openstack 官方已经把文档整理的很好,基本把我收藏夹里的内容都整理在这里:http://www.openstack.org/software/start/

 

微博评论

HZT-intel

StackOps自身规模比较小没有顺利走Mirantis和CloudScaling的路子,商业模式也不够清晰;Dell的CrowBar还是不错的一套工具,我做过它对RHEL6.x 的支持,并不复杂,可惜由于限制没能贡献回去;Juju本身定位应该是大于openstack的,思路很好,也算找到一片小小的蓝海;

 

Fuel

这是Mirantis出品的部署安装工具,2013年10月份,推出他的3.2版本,让人很震撼,基本算是把Openstack所有的部署都web化,你可以太多的选择:尤其是网络,存储。这基本都是大家学习的榜样。已经敢和企业签订SLA。

目前国内杜玉杰,九州云,在做该项目的汉化工作和考虑日后的技术支持。

http://www.mirantis.com/

Devstack

这应该算是Openstack最早的安装脚本,他是通过直接git源码,进行安装,目的是让开发者可以快速搭建一个环境。目前这套脚本可以在Ubuntu和Fedora下跑的很好。

如果你想了解新版本的功能,通过Devstack是一个最佳选择。我第一次成功安装Openstack,就是用这个。

Diablo安装脚本

这算是我知道的第一个基于ubuntu 源的安装脚本,当时Diablo发布的时候,有bug,keystone和Horizon无法一起工作,ubuntu 11.10源里的包也是有相同的bug,并且Ubuntu 官方并不打算维护和升级。这位作者个人身份,维护了Diablo 版本后来的升级,打包,并且写了一套脚本。

https://github.com/managedit/openstack-setup

这套脚本,其实写的非常好,我同事改造了一下,就可以安装Essex版本。目前正在改进,用来安装Folsom版本。

 

Stackops

Openstack起步的时候,官方的安装文档,其实基本都是来自Stackops,当时他们提供Openstack的部署服务。你下载一个iso,装完一个ubuntu系统后,就会转到他们的web,你填写相关的配置参数,通过chef进行部署。

Stackops在Chef上是比较强悍的,包括Dell的Crowbar,也是和他合作,才搞定Chef。不过我的理解,他的Chef 脚本是没有开源的。

Stackops通过商业定制,进行收费。目前感觉有点走下坡路,业内的声音比较小了。对openstack的新版本支持比较慢,Essex支持,到9月份才支持。目前还没有任何关于Folsom 的支持。

Crowbar

在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/

Maas+Juju

这是Canonical推出的部署工具,可以用在Openstack的部署,类似Puppet,Chef 的部署工具。Maas是用于安装ubuntu,juju是用于部署应用。

我是很早就测试他们,本来有操作系统的优势,做部署工具,应该会有优势,不过比较失望,Maas开始的时候,就是一个半成品,Maas装完的操作系统,是无法固定IP地址,真不知道他们怎么想的,可能是我土鳖,不能理解数据中心的机器,都是通过dhcp获得IP。我订阅了juju的邮件列表,一个星期就1,2封邮件,比较惨淡。研究的人估计也很少。

以前Maas底下是使用cobbler,不过现在最新的版本,已经去掉,用ubuntu自己搞的。

依靠自己的公司投入去维护一套工具,难度都是比较大的。所以Maas和juju,前景真的不是太好。你如何和Puppet和Chef 竞争?

Rackspace Private Cloud

这可是出身名门,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版本

思科很早就介入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

Puppetlab

Puppet公司,其实已经直接加入Openstack,官方的身份维护着Puppet的Openstack模块,并且Openstack模块,可以同时支持Ubuntu和Redhat系列,Redhat的工程师在帮忙。

https://github.com/puppetlabs/puppetlabs-openstack

dodai-deploy

这是日本人搞的一个部署工具,也是基于cobbler和puppet,另外还做了一个web管理,我是一直都没测试,作者还去参加开发大会,介绍他们的产品。目前Openstack官方文档关于Puppet的部署,是这位开发者在维护。这套产品是在日本科研系统生产系统中使用。

https://github.com/nii-cloud/dodai-deploy

General Bare-Metal Provisioning Framework

这是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安装脚本

Folsom安装,由于引人了quantum,导致安装比较复杂,不过终于有朋友搞出一个脚本,不只是支持quantum,还支持nova network。我已经测试过nova network,非常好用。

https://github.com/jedipunkz/openstack_folsom_deploy

Cobbler

Cobbler一般都是用来安装系统,不过Cobbler 2.4版本,将会提供安装Openstack的功能,真的不知道他如何实现,关注中,过完年,好好测试一下。

http://www.indiegogo.com/cobbler24

Openstack-Anvil

这是雅虎搞的Openstack安装脚本,用python写的, 我同事学习半天,据说用了很多python的高级语法,可以在Centos 6.2下跑, 不过我是没看到任何用户在测试.不过这个脚本一直都在坚持更新。雅虎今天的状况,还能投入那么大精力去做开源。

http://anvil.readthedocs.org/en/latest/topics/gettingstarted.html

https://github.com/yahoo/Openstack-Anvil

 

Altai Private Cloud

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来做部署,其实可以参考一下。

packstack

这个项目目前放在stackforge,算是努力成为孵化项目。目前是支持redhat系列。说明

https://github.com/stackforge/packstack

更新很频繁,值得关注。尤其是打算使用Centos的朋友。

  36 Responses to “Openstack部署工具总结”

  1. 还有个武汉大学搞的脚本 ,好像 在你的基本上改的

  2. Your summary is excellent and fantastic ~

  3. 数据市场潜力巨大,向陈大师多学习。

  4. 陈老师,openstack有并行计算的功能吗,如果有,体现在什么地方?还有openstack的服务采取分布式的搭建方式优点和目的是什么,比如nova-compute搭建在同一台机器和不同的机器上有什么区别,学生对这些问题比较困惑,麻烦老师解释一下,谢谢了!

    • 了解Openstack能干啥,最好的办法就是订阅他的邮件列表,专门有一个邮件列表讨论HPC。你可以关注一下。关于邮件列表,可以通过wiki查看 http://wiki.openstack.org/

      • 好的,谢了老师

        • 陈老师, curl -d ‘{“auth”: {“tenantName”: “admin”, “passwordCredentials”:{“username”: “admin”, “password”: “password”}}}’ -H “Content-type:application/json” http://$MASTER:35357/v2.0/tokens | python -mjson.tool命令出现 % Total % Received % Xferd Average Speed Time Time Time Current
          Dload Upload Total Spent Left Speed
          0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 100 182 0 80 100 102 931 1187 –:–:– –:–:– –:–:– 1200
          {
          “error”: {
          “code”: 401,
          “message”: “Invalid tenant”,
          “title”: “Not Authorized”
          }
          }
          然后/etc/glance/glance-api-paste.ini没有#admin_tenant_name = %SERVICE_TENANT_NAME%
          #admin_user = %SERVICE_USER%
          #admin_password = %SERVICE_PASSWORD%是什么原因

      • 陈老师,
        #keystone-manage db_sync
        root@fdsclient:~# keystone tenant-create –name admin
        No handlers could be found for logger “keystoneclient.client”
        这是什么原因

  5. 陈老师,同节点上的实例进行并行计算貌似没有效果,效率没能提升,这样的化充分利用了节点的资源的意义在哪儿啊?

  6. 陈老师您好:
    网卡mii-tool后显示
    SIOCGMIIREG on eth0 failed: Input/output error
    SIOCGMIIREG on eth0 failed: Input/output error
    eth0: negotiated 100baseTx-FD flow-control, link ok
    eth1: negotiated 100baseTx-FD, link ok
    然后每次安装都无法创建实例,显示
    192.168.0.2

    512MB RAM | 1 VCPU | 0 Disk Error Spawning No State
    麻烦陈老师指点一下什么原因,别的都没有什么问题.
    谢谢了老师,在后边问您了您一直没有回复

  7. 陈老师,您好:
    我在使用openstack时,Launch Instance的时候选择的boot form volume,启动虚机报错,no bootable device。就像您在您的帖子(http://hi.baidu.com/chenshake/item/718812951bf31a35336eebfd)中描述的那样,想问问您是怎么处理这个问题的。

    • boot from volume 这个功能我没测试过,直接使用,应该是不行的,只能等Grizzly版本发布,再去测试看看。

  8. 陈老师,您好:
    在这16种openstack部署工具中, 有没有推荐的方案?

  9. 敢问陈大师,为什么这里没有大名鼎鼎的Fuel?

  10. 陈老师,从简易多机部署实验角度上看,2014年现阶段比较好的部署工具您推荐什么? 

  11. 请假:cobbler是GPL的协议,如果我们要做商业软件的话,怎么规避License问题?

    • 这个是大问题。不过cobbler代码量不大,自己参考写一个,相信工作量不是不可控。Ubuntu就是自己用go语言写了一个。

  12. 陈老师:
    fuel是部署安装工具,不知道是否通过它来管理openstack的多个部署节点的信息? 或者说如果是有很多部署节点,如何管理呢?

  13. 陈老师,有个devstack 安装juno的问题需要请教下,方便邮箱联系不,我的邮箱xiaonisiji@yahoo.com,谢谢。

  14. Hi, 我现在是openstack的初学者,正处在调查阶段。
    看到文中提到“说到部署,肯定和OS有关,对于Openstack来说,无非就是Ubuntu还是CentOS”,官网的文档也是这两种系统。

    但是, 我有个疑问希望可以得到您的答复。 我工作的环境中,很多服务器是freebsd系统的, 服务器一般不能随便重装系统, 我要在freebsd中部署openstack可行吗?

  15. 陈老师,你有没有使用TripleO搭建openstack?

 Leave a Reply

(required)

(required)