Openstack安装
作者:陈沙克
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的,思路很好,也算找到一片小小的蓝海;
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,需要FQ,所以我就放到网盘上。
有句话非常经典: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的朋友。
Openstack安装的更多相关文章
- OpenStack云计算快速入门之二:OpenStack安装与配置
原文:http://blog.chinaunix.net/uid-22414998-id-3265685.html OpenStack云计算----快速入门(2) 该教程基于Ubuntu12.04版, ...
- openstack安装记录(一)环境准备
参考文献: 官方文档 http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/index.html 最小实例: 控制节点: 1 处理器, 4 ...
- OpenStack安装部署管理中常见问题解决方法
一.网络问题-network 更多网络原理机制可以参考<OpenStack云平台的网络模式及其工作机制>. 1.1.控制节点与网络控制器区别 OpenStack平台中有两种类型的物理节点, ...
- OpenStack安装与配置2
第二部分 OpenStack安装与配置 一.引言 本章内容讲解如何在3台物理机上搭建最小化云平台,这3台机器分为称为Server1.Server2和Client1,之后的各章也是如此.Server ...
- openstack安装系列问题:window7 64位安装的virtualBox 只能选择32位的系统安装不能选择64位的系统安装
个人原创,转载请注明作者,出处,否则依法追究法律责任 2017-10-03-12:22:22 现象:window7 64位安装的virtualBox 只能选择32位的系统安装不能选择64位的系统安装 ...
- 第二部分 OpenStack安装与配置
第二部分 OpenStack安装与配置 一.引言 本章内容讲解如何在3台物理机上搭建最小化云平台,这3台机器分为称为Server1.Server2和Client1,之后的各章也是如此.Server ...
- OpenStack 安装 Keystone
OpenStack 安装 Keystone 本篇主要记录一下 如何安装 openstack的 第一个组件 keystone 认证授权组件 openstack 版本 我选的是queens 版本 1.Op ...
- OpenStack:安装Nova
>安装Nova1. 安装# apt-get install nova-novncproxy novnc nova-api \ nova-ajax-console-proxy nova-cert ...
- OpenStack:安装Glance
>安装Glance1. 安装# apt-get install glance python-glanceclient删除sqlite文件rm -f /var/lib/glance/glance. ...
随机推荐
- listview自定义背景以及item自定义背景
item向自定义背景,可以根据position来设置不同的背景. listview背景设置是需要注意设置下面这几项: //点下时整个页面的背景 android:cacheColorHint=" ...
- android学习日记08--Paint画笔
Paint 要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布Canvas上,这样才可以显示在手机屏幕上.Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设 ...
- 正则匹配ab不匹配aab
var a = "aababaabababababaab"; a.replace(/(^|[^a])(ab)+/g, "$1"); var a = " ...
- C#_dropdownlist_2
string deptId =Request.Form["depts"].Trim(); Html.DropDownList()赋默认值: 页面代码如下: <% ...
- Java基础知识强化之网络编程笔记11:TCP之TCP协议上传文本文件
1. TCP协议上传文本文件(客户端上传数据到服务器端) (1)客户端(上传数据到服务端) package cn.itcast_11; import java.io.BufferedReader; i ...
- 多线程GCD
经常使用:规避很多线程相关的复杂的逻辑 为什么会gcd?因为pthread和nsthread要求开发人员对线程相关的知识了解深入; 手动启动线程:加锁/解锁;造成很多隐患 --> 苹果公司给出了 ...
- Unix网络编程(3)——C/S模型几种情况
UNP第五章描述了在客户端和服务器连接建立之后会出现的几种情况,并给出了解决方案,做一个简单的总结. 先给出这个简单的回射C/S程序的模型如下图. 1.客户端和服务器正常终止连接 客户端从标准输入 ...
- [转载]传智播客_SQL入门
原文地址:传智播客_SQL入门作者:happylonger SQL * 数据定义语言 DDL * 数据操作语言 DML * 查询和更新指令构成了 SQL 的 DML 部分: * SELECT - 从 ...
- InvoiceCancelSendApAction
package nc.ui.pu.m25.action; import java.awt.event.ActionEvent; import nc.bs.framework.common.NCLoca ...
- ASP.Net_入门准备
基础篇:(学习能力取决于你的基础扎不扎实) 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.NET是一个全 ...