1. 系統准備
ubuntu 12.04 server 虛擬機。 2G內存。
依次運行以下命令來安裝git:
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get install git
2. 下載安裝包
$git clone https:
//github
.com
/openstack-dev/devstack
.git
#克隆devstack的Git代碼倉庫
[[local|localrc]] ADMIN_PASSWORD=secrete #Admin密碼 DATABASE_PASSWORD=$ADMIN_PASSWORD //預設密碼,這樣在運行stack.sh的時候就不會要求輸入密碼 RABBIT_PASSWORD=$ADMIN_PASSWORD //同上 SERVICE_PASSWORD=$ADMIN_PASSWORD //同上
SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50
其他可使用配置項:
安裝路徑:
默認: DEST=/opt/stack
示例:DEST=/opt/mystack
屏幕輸出目錄:
默認只是console輸出:SCREEN_LOGDIR=”“
示例:SCREEN_LOGDIR=$DEST/logs/screen #輸出到文件,每個screen輸出用時間戳命名的一個文件
日志:
默認: ``LOGFILE=”” LOGDAYS=7 LOG_COLOR=True`` //日志相關。默認日志僅在console輸出
示例local.conf文件:
[[local|localrc]] LOGDAYS=1 LOGFILE=$DEST/logs/stack.sh.log SCREEN_LOGDIR=$DEST/logs/screen ADMIN_PASSWORD=1111 DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50
方法:修改/etc/sudoers, 在行 root ALL=(ALL:ALL) ALL 后添加 stack ALL=(ALL) ALL 然后保存文件
遇到的一些問題及解決辦法:
1. 網速太慢,git clone失敗
要么用網速快的機器;要么找一個已經裝好devstack的機器,將/opt/stack所有文件拷貝到你的環境中,必要的話將git clone全部注釋掉,再運行stack.sh
2. 一些依賴的包沒有安裝,比如下面的mysql-server-5.5:在ubuntu上裝上這些包重新運行stack.sh即可
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
mysql-server : Depends: mysql-server-5.5 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
成功:
Horizon is now available at http://9.*.236.90/
Keystone is serving at http://9.*.236.90:5000/v2.0/
Examples on using novaclient command line is in exercise.sh
The default users are: admin and demo
The password: 1111
This is your host ip: 9.*.236.90
stack.sh中的執行順序:
- 支持OS類型包括Ubuntu 12.04或以上;Fedora F18或以上
- 禁止使用root運行
- 讀取local.conf
- 檢查stackrc文件是否存在
- 檢查Devstack是不是已經在運行。如果在運行,則退出
- 配置目標安裝目錄,包括創建目錄,設置權限
- 配置hostname,logging等
- 讀取各組件的安裝和啟動script
- 如果沒有配置密碼,則需要用戶輸入各密碼
- 配置數據庫
- 配置Keystone
- 安裝各pre-condition包
- 安裝client包
- 安裝和配置keystone,swift,glance,cinder,neutron,nova,horizon,ceilometer,heat,CA
- 配置數據庫
- 配置screen
- 創建個組件使用的賬號
- 初始化和啟動horizon
- 啟動swift,glance,
- 安裝images
- 啟動swift,nova_api,neutron,nova,cinder,ceilometer,heat
screen語法,執行完rejoin_stack.sh后,需要使用screen語法來控制openstack的進程
幫助 ctrl+a+?
查看screen導航 ctrl+a+" 注需要使用shift鍵
退出screen,有兩種方法:
方法1:attach screen ctrl+a+d
方法2:exit screen ctrl+a+K
查看下一個screen ctrl+a+n
查看上一個screen ctrl+a+p
保存screen的日志到文件 ctrl+a+H,再按一次停止保存。
查看screen
[root@cheeliang ~]# screen -ls
There is a screen on:
2678.stack (Attached)
1 Socket in /var/run/screen/S-root.
重連接Re-attach screen screen -r 2678