基于XenServer/XCP的OpenStack云平台环境

jopen 10年前

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

20131123010643-300x138.png

导入镜像文件:

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