基于XenServer/XCP的OpenStack云平台环境
OpenStack是一个美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。
OpenStack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。
OpenStack 是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(简称IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。
OpenStack 是由 Rackspace 和 NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack 是开源项目,除了有 Rackspace 和 NASA 的大力支持外,后面还有包括 Dell、Citrix、 Cisco、 Canonical 这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。
默认OpenStack所使用的虚拟机管理器是KVM(Kernel-based Vitual Machine),这是基于Linux内核的Hypervisor。安装也比较简单,手动安装可以参考http://blog.yanming8.cn/archives/147。如果是安装OpenStack开发环境可以直接使用DevStack安装。命令如下:
git clone https://github.com/openstack-dev/devstack.git
cd devstack; ./stack.sh
官方的XenServer的OpenStack配置安装说明可以参考:https://github.com/citrix-openstack/qa/blob/master/install-devstack-xen.sh
该脚本运行在XenServer Host(Dom0)上,会自动下载openstack所需的插件和组件并最小化安装ubuntu 12.04(DevStackOSDomU)运行于XenServer(Dom0)之上。不幸的是在安装过程中最小化安装ubuntu的时候命令总是报错:chroot /target dpkg –force-depends –install /var/cache/apt/archives/debconf_1.5.42ubuntu1_all.deb,查看日志具体错误原因,Google了一天,无果。官方的帮助文档也没有提及这种错误。于是~~~我放弃了~~~
不过Google到另一种方法,直接下载DevStack导出的XVA镜像。
在这之前,应该确保Xenserver是使用EXT格式安装的,而不是LVM。在安装XenServerd的时候选择( enable thin provisioning)。可以使用下面的命令检测
1 | xe sr-list name-label="Local storage" params=type --minimal |
如果命令输出是ext,那就继续吧。
1、下载安装
访问下面的网站:
http://downloads.vmd.citrix.com/OpenStack/
在这里,我下载了到目前为止最新的XVA文件和ISO文件。
http://downloads.vmd.citrix.com/OpenStack/devstack-11_22_2013.xva
http://downloads.vmd.citrix.com/OpenStack/novaplugins-11_22_2013.iso
下载后再Dom0中使用命令安装:
1 | xe-install-supplemental-pack novaplugins-10_31_2013.iso |
导入镜像文件:
1 | xe vm-import filename=devstack-10_15_2013.xva |
2、启动DomU
如果没有安装XenCenter,直接SSH登录XenServer,使用如下命令启动DomU:
1 | xe vm-start vm=DevStackOSDomU |
现在DomU已经启动,stack.sh正在运行,如果没有安装XenCenter,可以使用vncviewer查看安装的进程,方法如下:
1 | xe vm-list name-label=DevStackOSDomU params=dom-id --minimal |
这个的输出是域的ID号,根据这个ID可以查询的VNC端口号。
1 | xenstore-read /local/domain/[域ID]/console/vnc-port |
这里输出VNC端口。然后使用命令查看安装进度: vncviewer -via root@192.168.1.201 localhost:VNC端口号 几分钟后会看到:
1 | stack.sh completed in XXX seconds. |
2 | OpenStack VM - Installed by DevStack |
3 | Management IP: 192.168.1.202 |
4 | DevStack run: SUCCEEDED |
5 |
6 | DevStackOSDomU login: |
默认使用用户名stack/密码citrix登录主机。
这时在浏览器输入http://192.168.1.202即可看到openstack管理界面,默认使用admin/citrix登录即可。
在重启DomU会发现,每次启动的时候都要运行stack.sh,这个脚本在第一次安装的时候只安装一次即可,可以把该脚本去掉执行权限。
1 | chmod -x /opt/stack/run.sh |
查看脚本内容:
1 | #!/bin/bash |
2 | set -eux |
3 | cd /opt/stack/devstack |
4 | ./unstack.sh || true |
5 | ./stack.sh |
每次开机都要卸载和重新安装,这个没有必要。但是这样重启后会发送openstack平台无法登录,需要运行脚本/opt/stack/devstack/rejion-stack.sh即可。
来自:http://blog.yanming8.cn/archives/155