devstack安装openstack

时间:2021-11-30 09:08:44

devstack是目前安装OpenStack最为方便的工具,一般用于开发和测试OpenStack。如果想在生产环境安装的话,需要对 devstack做很多定制,或者使用puppet/chef等更成熟的工具。下面来看下如何在Ubuntu 12.04上安装OpenStack。

安装步骤

首先安装git

sudo apt-get install git -y

下载OpenStack源码

git clone https://github.com/openstack-dev/devstack.gitcd devstack

接着创建一个安装用的配置文件,设置要安装哪些服务以及用户名密码等

# Misc
HOST_IP=192.168.1.23
DATABASE_PASSWORD=admin
ADMIN_PASSWORD=admin
SERVICE_PASSWORD=admin
SERVICE_TOKEN=admin
RABBIT_PASSWORD=admin
# Enable Logging
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/opt/stack/logs
# Pre-requisite
ENABLED_SERVICES=rabbit,mysql,key
# Nova
ENABLED_SERVICES+=,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch
IMAGE_URLS+=",https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img"
# Horizon
ENABLED_SERVICES+=,horizon
# Glance
ENABLED_SERVICES+=,g-api,g-reg
# Neutron
ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron
# Cinder
ENABLED_SERVICES+=,cinder,c-api,c-vol,c-sch
# Heat - Orchestration Service
ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng
# Ceilometer - Metering Service (metering + alarming)
ENABLED_SERVICES+=,ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-api
ENABLED_SERVICES+=,ceilometer-alarm-notify,ceilometer-alarm-eval

由于Devstack脚本已经不支持直接使用root身份运行,因而需要创建stack用户

cd tools/
sudo ./create-stack-user.sh

修改devstack目录权限,让stack用户可以运行

sudo chown -R stack:stack ../devstack

开始安装,这一步比较耗时,如果网络不好的话,有可能安装会中断,重新执行stack.sh继续安装即可

sudo su stack
./stack.sh

Devstack默认会创建admin和demo两个用户,可以通过source openrc admin admin或者source openrc demo demo设置相应用户的环境变量(用于通过命令与OpenStack交互。

如何重启服务

devstack安装的所有服务都运行在screen中,执行./rejoin-stack.sh会进入这个screen中(未启动服务的会启动,但已运行的服务不会重启)。键入ctrl + a + "就可以看到所有这些sreen的列表:

devstack安装openstack

输入相应的数字就可以进入单个sreen里面了。

注意sreen内部通过ctrl+a+d返回,ctrl+c停止正在运行的服务。

停止所有服务的方法:./unstack.sh

参考文档

http://www.chenshake.com/devstack-installation-and-testing/
http://devstack.org

https://wiki.openstack.org/wiki/NeutronDevstack
https://www.ibm.com/developerworks/community/blogs/8160eff1-dedf-408e-9395-9dffeb68749f/entry/working_with_screens_to_restart_service_of_devstack_based_openstack?lang=en
http://davanum.wordpress.com/2012/10/17/scripts-to-startstop-openstack-environment-built-using-devstack/