部署 DevStack


本節按照以下步驟部署 DevStack 實驗環境,包括控制節點和計算節點

創建虛擬機

按照物理資源需求創建 devstack-controller 和 devstak-compute 虛擬機

安裝操作系統

安裝 Ubuntu 14.04,並配置 eth0 的 IP devstack-controller  192.168.104.10 devstak-compute    192.168.104.11

下載代碼

下載 devstack 代碼,並切換到 stable/liberty 分支

apt-get install git -y
git clone https://git.openstack.org/openstack-dev/devstack -b stable/liberty

配置 stack 用戶

創建 stack 用戶

devstack/tools/create-stack-user.sh

為方便起見,將devstack目錄放到/opt/stack下,並設置權限

mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack

切換到 stack 用戶

su – stack
cd devstack

編寫運行配置文件

在 /opt/stack/devstack 目錄下,創建 local.conf。

devstack-controller

[[local|localrc]]

MULTI_HOST=true
HOST_IP=192.168.104.10 # management & api network
LOGFILE=/opt/stack/logs/stack.sh.log

# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

# enable neutron-ml2-vlan
disable_service n-net
enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-vpn
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default

LOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen

devstack-compute

[[local|localrc]]

MULTI_HOST=true
HOST_IP=192.168.104.11 # management & api network

# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

# Service information
SERVICE_HOST=192.168.104.10
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
Q_HOST=$SERVICE_HOST
KEYSTONE_AUTH_HOST=$SERVICE_HOST
KEYSTONE_SERVICE_HOST=$SERVICE_HOST

CEILOMETER_BACKEND=mongodb
DATABASE_TYPE=mysql

ENABLED_SERVICES=n-cpu,q-agt,neutron
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default

# vnc config
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN

LOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen

另外,為了加快安裝速度,還可以加上下面的配置使用國內的 devstack 鏡像站點

# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git

開始部署

分別在 devstack-controller 和 devstak-compute 上執行命令

./stack.sh

會輸出各項操作的結果。 日志會寫到 stack.sh.log 文件。
整個過程需要連接Internet,網速慢可能會花較長時間,成功后最后會打印出相關信息。

devstack-controlle 上的輸出

devstack-compute 上的輸出

驗證 OpenStack

下面驗證 OpenStack 已經正常運行 瀏覽器訪問 http://192.168.104.10/(devstack-controller 的 IP) admin/admin 登錄

點擊 System->System Information,確保各個服務的狀態正常

這里 cinder-volume 的狀態是 “Down”,這是因為我們還沒有配置 cinder,后面會讓它 Up 起來。

啟動 OpenStack

如果重啟了系統,OpenStack 不會自動啟動,可以運行下面命令

cd devstack ./rejoin-stack.sh

運行成功后,OpenStack 的每個服務都在一個 screen 中以進程方式運行。 使用 screen 有幾個好處:

  1. 可以方便的在不同服務之間切換和查看日志。 因為OpenStack的服務很多,每個服務都有自己的日志文件。 查找日志是一件非常麻煩的事情,screen可以幫我們提高效率。

  2. 當我們修改了某個服務的配置文件需要重啟服務時,只需在該服務的 screen 窗口 Ctrl+C,然后在命令行中找到上一個命令(Up鍵)執行就行,這個命令就是啟動服務的命令。

下面是 screen 常用命令
在 screen 中執行
Ctrl+a+n 切換到下一個窗口
Ctrl+a+p 切換到前一個窗口(與 Ctrl+a+n 相對)
Ctrl+a+0..9 切換到窗口 0..9
Ctrl+a+d 暫時斷開(detach)當前 screen 會話,但不中斷 screen 窗口中程序的運行

在 shell 中執行
screen -ls  列出當前所有的 session
screen -r stack  回到 devstack 這個 session

刪除自動創建的網絡

Devstack 在部署時可能會創建幾個測試網絡,為了得到一個干凈的環境需將其刪除

刪除 Router Admin->System->Routers

刪除 Network Admin->System->Networks

至此,我們得到了一個干凈的 OpenStack 環境。 后面會在這個環境中實踐各個模塊。

 


免責聲明!

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



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