1. 程式人生 > >devstack搭建雙節點openstack環境

devstack搭建雙節點openstack環境

1.該教程使用nova-network,而不使用neutron。

2.兩個節點首先要可以無密碼登入,即直接ssh上去。具體方法就是互相將本機的公鑰貼上到對方的~/.ssh/authorized_keys裡面。或者配置rsync也行。

3.controller節點的搭建:

    3.1 這裡主節點安裝全部服務,這樣就可已單獨使用。建立devstack的localrc,如下所示:

    ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-cpu,n-net,n-cond,n-sch,n-novnc,n-xvnc,n-cauth,mysql,rabbit,umbrella,tempest

HOST_IP=192.168.0.16(這個ip換成自己節點的IP,對於有兩個網絡卡或者以上的主機,選擇第一個就行了,我的節點是neutron的雲主機,裡面有三個網絡卡,選擇私有網絡卡)
MULTI_HOST=1(表示多節點)
## Network nova-network ##
FLAT_INTERFACE=eth0
FIXED_RANGE=172.24.128.0/24 (隨意設定,將來你建立虛擬機器時顯示的固定ip就是這裡定了的)
FIXED_NETWORK_SIZE=254
FLOATING_RANGE=192.168.169.128/25(隨意,同上)
## Leaving Default Services Enabled ##
#DISABLED_SERVICES=neutron
## Logs ##
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=False
SCREEN_LOGDIR=/opt/stack/logs


# Set the default Nova APIs to enable
NOVA_ENABLED_APIS=osapi_compute,metadata


# SCREEN_LOGDIR=/opt/stack/log
# OFFLINE=True
LOG_COLOR=False
LOGFILE=/opt/stack/log/stack.log
KEYSTONE_TOKEN_FORMAT=UUID


MYSQL_PASSWORD=ntse
RABBIT_PASSWORD=ntse
SERVICE_TOKEN=ntse
SERVICE_PASSWORD=ntse
ADMIN_PASSWORD=ntse

然後執行./stack.sh一路跑到底就好了。主節點就算完成了。主節點其實就是一臺完整的openstack測試環境,可以單獨使用。

4 compute節點的安裝:

    compute節點只需要安裝nova-api,nova-compute,nova-network,不許要其他任何服務,keystone glance rabbitmq,mysql,nova-scheduler都不要。

    devstack的localrc檔案配置如下:

   SERVICE_HOST=192.168.0.16(這條特別重要,是主節點的IP)
HOST_IP=192.168.0.19(compute節點自己的IP)
MULTI_HOST=1
## Network nova-network ##
FLAT_INTERFACE=eth0
FIXED_RANGE=172.24.128.0/24
FIXED_NETWORK_SIZE=254
FLOATING_RANGE=192.168.169.128/25
## Compute Node Services ##
ENABLED_SERVICES=n-cpu,n-net,n-api(只需要這三個程序)
## API URIs ##
Q_HOST=$SERVICE_HOST
MYSQL_HOST=$SERVICE_HOST(這些服務全部共享主節點的)
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
KEYSTONE_AUTH_HOST=$SERVICE_HOST
KEYSTONE_SERVICE_HOST=$SERVICE_HOST
## Logs ##
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=False
SCREEN_LOGDIR=/opt/stack/logs


# Set the default Nova APIs to enable
NOVA_ENABLED_APIS=osapi_compute,metadata


# SCREEN_LOGDIR=/opt/stack/log
# OFFLINE=True
LOG_COLOR=False
LOGFILE=/opt/stack/log/stack.log
KEYSTONE_TOKEN_FORMAT=UUID


MYSQL_PASSWORD=ntse
RABBIT_PASSWORD=ntse
SERVICE_TOKEN=ntse
SERVICE_PASSWORD=ntse
ADMIN_PASSWORD=ntse

開始跑devstack ./stack.sh就跑完了。

5.這樣雙節點就完成了,可以resize遷移一把,證明雙節點可以工作。

5.1需要注意一點的是從節點有的配置項是空的,不知為什,要是遇到錯誤,建議先看配置項。我的sql配置項就是空的。

5.2 我這裡禁止nova-conductor服務,在配置項加入

[conductor] 
use_local=True

然後重啟所有服務