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/