學習OpenStack之 (1):安裝devstack


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代碼倉庫
 
3. 配置
 
從2013/10起OpenStack引入新的配置方式即使用配置文件 local.conf。從官方網站看這個文件應該存在於devstack目錄中,找了后發現在samples目錄中。 創建 local.conf包含下面內容:
[[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 
 
4. 以非root用戶運行以下命令
cd devstack
./stack.sh
 
注意:
1. 不可以使用root用戶運行該命令,可使用 /devstack/tools/create-stack-user.sh命令創建一個用戶,比如stack
2. 保證該用戶下sudo可以免密碼運行,否則腳本執行過程中會出現權限問題

方法:修改/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中的執行順序:

  1. 支持OS類型包括Ubuntu 12.04或以上;Fedora F18或以上
  2. 禁止使用root運行
  3. 讀取local.conf
  4. 檢查stackrc文件是否存在
  5. 檢查Devstack是不是已經在運行。如果在運行,則退出
  6. 配置目標安裝目錄,包括創建目錄,設置權限
  7. 配置hostname,logging等
  8. 讀取各組件的安裝和啟動script
  9. 如果沒有配置密碼,則需要用戶輸入各密碼
  10. 配置數據庫
  11. 配置Keystone
  12. 安裝各pre-condition包
  13. 安裝client包
  14. 安裝和配置keystone,swift,glance,cinder,neutron,nova,horizon,ceilometer,heat,CA
  15. 配置數據庫
  16. 配置screen
  17. 創建個組件使用的賬號
  18. 初始化和啟動horizon
  19. 啟動swift,glance,
  20. 安裝images
  21. 啟動swift,nova_api,neutron,nova,cinder,ceilometer,heat
 
5. 在瀏覽器中輸入 http://9.*.236.90/  打開dashboard, 用admin和1111登錄
 
 
6. 重啟機器后重新run OpenStack: 執行rejoin_stack.sh

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

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM