Ubuntu12.04系统上使用OneStack快速自动安装配置OpenStack云
作者:张扬1993027_203 | 来源:互联网 | 2014-05-27 20:14
前几天OneStack项目的作者Kayven在vpsee.com上留言谈到了OneStack,一个国人的OpenStack一键安装工具,在vpsee的忽悠下Kayven终于同意写一篇OneStack的介绍性文章,如果大家对手动安装配置OpenStack有恐惧的话可以试试这个OneStack一键安装
前几天 OneStack 项目 的作者 Kayven
在 vpsee.com 上留言谈到了 OneStack,一个国人的 OpenStack 一键安装工具,在 vpsee 的忽悠下
Kayven 终于同意写一篇 OneStack 的介绍性文章,如果大家对手动安装配置
OpenStack 有恐惧的话可以试试这个 OneStack 一键安装工具,类似的项目还有
DevStack.
大家如有问题欢迎参与讨论或联系原作者 Kayven (Hily.Hoo@gmail.com). 以下内容来自
Kayven:
在发表了 OneStack:
Ubuntu 12.04 (“Precise”) 一键安装部署云计算平台 OpenStack Essex 这篇文章、公布了
OneStack 这个项目后,受到一些人的关注和邀请,诚惶诚恐,非常感谢大家的支持,下面将对这个项目进行更详细的介绍。
OneStack 的引入
为什么需要 OpenStack?作为众多云计算项目的一个,OpenStack 很火。
一是因为 OpenStack自身的优势、Apache2.0 授权的开源性以及兼容性、灵活性和可扩展性等优点;
二是众多企业和组织的参与开发,尤其是世界领军企业的加入,推动了 OpenStack 的高速成长。
为什么需要 OneStack?类似项目有 DevStack,但是使用 DevStack 有如下问题:
部署过错的可定制性和灵活性不是太好,自己只能选择安装哪些服务,如果中间遇到问题或者自己想调整就比较麻烦;
使用 screen 管理运行 OpenStack,重启服务器需要用 screen 进入,很多人以为有些服务会停止或者希望不使用
screen,于是自己 kill 服务并自己手动开启,容易出各种问题(OpenStack
由很多独立组件和服务组成,注意不要遗漏);
没有提供重启、重置、清空数据库等有用功能,还稍显复杂;
而且,使用 DevStack 后还是不清楚整个部署过程是怎样的,自己不能安装官方安装文档来实验和尝试;
由于组件独立分散,安装过程过于繁琐,可以抽象成通用的项目供大家方便使用;
官方提供了一个比较完善的入门文档,但是,按照这几十页的步骤下来需要做很多无用功,容易漏错而引起很多莫名和头疼的问题;
本项目希望不只是提供实验环境,更可以实际部署使用,可以自己修改配置,按需增加组件和功能,实现一键部署,可扩展、可添加任意计算节点。
为什么需要一键自动部署工具?
很多人首先希望尝试一下
OpenStack,做做实验,弄清楚具体怎么实践。官方文档的一大堆步骤会让人忘而生畏;同时又不想部署好后都不知道到底怎么做的,像
DevStack 这样封装比较难看懂,也就难自己修改。OneStack
能够很好的自动部署,同时又能灵活的实验,对于大部分尝试者是个很好的途径。
为什么使用 Ubuntu 12.04?
OpenStack 官方指定的操作系统是 Ubuntu,当然也可以使用其他的,比如
CentOS,不过安装过程有可能会不同。OpenStack 目前主要是以 Ubuntu 版本 Linux
系统为基础写成的,而且很多测试和文档都是在 Ubuntu 下完成的,所以在 Ubuntu 下部署将会有很多便利。另外,Ubuntu
12.04不仅是LTS(长期支持版本),还可以得到五年的支持,对于开发者是个不错的平台。
OneStack 的项目结构
oneStack.sh(一键部署 all-in-one 的 OneStack,最主要文件);
addComputeNode.sh(增加计算节点);
delStack.sh(只卸载nova、glance、keystone等);
delAll.sh(卸载所有安装的组件和工具);
resetStack.sh(清空数据库,镜像、网络和实例等);
addClient.sh(添加客户端,nova管理等);
setup_base.sh(安装基本系统);
setup_test.sh(添加镜像和实例);
HAStack 目录(OneStack 的高可用性,希望更多人可以提出自己的解决方案)。
OneStack 的安装部署
可以一键自动部署 all-in-one 的 OneStack 实验环境,也可以分步骤部署(下次再讨论分步骤部署)。
一键自动部署最简单,只需要文件 oneStack.sh 把所有服务安装到一个机器。
# wget http://onestack.googlecode.com/files/oneStack.sh && \
chmod +x oneStack.sh && ./oneStack.sh
如果需要更多功能,需要 chechout 整个 svn;当然,安装同样只需要 oneStack.sh
1、安装 Ubuntu Precise (12.04);
2、下载 OneStack 脚本:
# svn checkout http://onestack.googlecode.com/svn/trunk/ onestack-read-only
3、运行 OneStack:
# cd onestack-read-only/ && ./oneStack.sh
注意:其实上面的安装还是需要更改网络配置的(其余可以不改,这个是需要改成你自己的)因为,为了简单,在上面的工具里,所有前期工作都加到了文件
oneStack.sh,比如:
总结一下需要设置的参数:
设置 root 密码这一步可以删掉,使用 root 执行即可;
可选,如果不需要跳过本步骤
系统语言设置,可以参考oneStack.sh locale部分,不在此介绍
设置apt源 /etc/apt/sources.list
设置网络
/etc/network/interfaces
可以参考oneStack.sh locale部分
配置参数,除了网络ip,其它可以不变
## 数据库
MYSQL_PASSWD=${MYSQL_PASSWD:-”cloud1234″}
## 自行检查下面network/interfaces的两个网卡设置与此处一致
OUT_IP=”192.168.139.50″
## 选择虚拟技术,裸机使用kvm,虚拟机里面使用qemu
VIRT_TYPE=”qemu”
## token, 登录dashboard密码
ADMIN_TOKEN=”admin”
然后执行./oneStack.sh安装即可。
OneStack 的展望
1、加入高可用性 OpenStack 的部署
详见构建
OpenStack 的高可用性(HA,High Availability)对高可用性OpenStack的讨论。对照 CAP
理论,OpenStack 的分布式对象存储系统 Swift
满足了可用性和分区容忍性,没有保证一致性(可选的),只是实现了最终一致性。对于 Swift
的研究和学习网上很多,我不做介绍。但是,在整个 OpenStack
架构中,要满足高可用性需要进行很多工作来保证。主要是通过分离、冗余技术实现,也就是
nova-api、nova-network、glance 等可以分别在多节点上工作,RabbitMQ 可以工作在主备模式,MySQL
可以使用冗余的高可用集群。这些组合可能有很多问题,有些也需要加入到 OpenStack 项目。
2、加入对 Ubuntu 以外的操作系统(如 CentOS)的支持
个人精力有限,所以没有对 CentOS 等其它版本进行支持,也没有对 Ubuntu11 等版本进行测试。但是大家应该只需要把
OneStack
稍加改动就可以用到这些版本的操作系统。因此,如果有人有改好的,可以拿出来分享,别人也也可以顺便帮你改善和讨论。
3、希望更多的有时间的同行参与
正如上面所说,个人精力有限,业余所做,肯定有诸多不足,而且对其它版本没有添加支持,更主要的,希望对高可用性(HA)这个很关键的要求实现自动化部署,因此希望多提出意见建议、多分享自己的经验和成果,造福别人也提高自己。
推荐阅读
-
nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ...
[详细]
蜡笔小新 2024-12-28 13:00:24
-
本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ...
[详细]
蜡笔小新 2024-12-26 16:36:34
-
-
本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ...
[详细]
蜡笔小新 2024-12-28 10:58:44
-
本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ...
[详细]
蜡笔小新 2024-12-28 10:48:41
-
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
蜡笔小新 2024-12-27 19:32:17
-
2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ...
[详细]
蜡笔小新 2024-12-27 17:49:56
-
本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ...
[详细]
蜡笔小新 2024-12-27 17:31:41
-
本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ...
[详细]
蜡笔小新 2024-12-27 16:33:32
-
本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ...
[详细]
蜡笔小新 2024-12-27 13:47:38
-
本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ...
[详细]
蜡笔小新 2024-12-27 13:19:53
-
本文详细介绍了VMware的多种认证选项,帮助你根据职业需求和个人技能选择最合适的认证路径,涵盖从基础到高级的不同层次认证。 ...
[详细]
蜡笔小新 2024-12-26 11:51:27
-
本文介绍如何通过更改软件源来提前体验Ubuntu 8.10,包括详细的配置步骤和相关注意事项。 ...
[详细]
蜡笔小新 2024-12-26 11:14:17
-
本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ...
[详细]
蜡笔小新 2024-12-25 14:57:54
-
本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ...
[详细]
蜡笔小新 2024-12-25 13:17:38
-
本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ...
[详细]
蜡笔小新 2024-12-24 11:16:45
-
张扬1993027_203
这个家伙很懒,什么也没留下!