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的列表:
输入相应的数字就可以进入单个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/