使用DevStack執(zhí)行OpenStack Juno多節(jié)點(diǎn)安裝過程總結(jié)
目前安裝 OpenStack 常見的方案有 Redhat 的 RDO 和社區(qū)的 DevStack。
當(dāng)然,也可以手動(dòng)安裝,可以參考:github.com/ChaimaGhribi/OpenStack-Juno-Installation/blob/master/OpenStack-Juno-Installation.rst
其中,RDO 功能比較強(qiáng)大,運(yùn)行也穩(wěn)定,可以在一個(gè)節(jié)點(diǎn)上通過一個(gè) answer 文件直接部署多個(gè)節(jié)點(diǎn),搭建一套 OpenStack 環(huán)境。但是可惜,在 Ubuntu 上還不支持。
DevStack 支持 Ubuntu、Fedora 等環(huán)境,需要在每個(gè)節(jié)點(diǎn)上單獨(dú)執(zhí)行,適合進(jìn)行實(shí)驗(yàn)。目前常見的教程一般都是講解 DevStack 單節(jié)點(diǎn)安裝。本文講解最新的 Juno 版本在多節(jié)點(diǎn)上的安裝過程。
網(wǎng)絡(luò)環(huán)境
兩臺(tái)機(jī)器,分為控制節(jié)點(diǎn)(同時(shí)也作為網(wǎng)絡(luò)節(jié)點(diǎn))和計(jì)算節(jié)點(diǎn)。
控制節(jié)點(diǎn)
eth0: 9.186.100.77/24 作為管理網(wǎng)絡(luò)(同時(shí)也是公共網(wǎng)絡(luò))。 eth1: 10.0.100.77/24 作為內(nèi)部網(wǎng)絡(luò)接口。
計(jì)算節(jié)點(diǎn)
eth0: 9.186.100.88/24 作為管理網(wǎng)絡(luò)(同時(shí)也是公共網(wǎng)絡(luò))。 eth1: 10.0.100.88/24 作為內(nèi)部網(wǎng)絡(luò)接口。
配置 stack 用戶
創(chuàng)建 stack 用戶
- sudo groupadd stack
- sudo useradd -g stack -s /bin/bash -d /opt/stack -m stack
添加 stack 用戶權(quán)限。
- sudo echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
切換到 stack 用戶
- sudo su - stack
下載代碼
下載 devstack 代碼,并切換到 stable/juno 分支。
- sudo apt-get install git -y
- git clone https://git.openstack.org/openstack-dev/devstack -b stable/juno
編寫運(yùn)行配置文件
在 devstack 根目錄下,編寫 local.conf。
控制節(jié)點(diǎn)的 local.conf
- [[local|localrc]]
- HOST_IP=9.186.100.77 # management network
- PUBLIC_INTERFACE=eth0 #public network
- FIXED_RANGE=10.0.100.0/24
- #FIXED_NETWORK_SIZE=4096
- FLOATING_RANGE=9.186.100.0/24
- PUBLIC_NETWORK_GATEWAY=9.186.100.1
- MULTI_HOST=1
- 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-vxlan
- disable_service n-net
- enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,q-metering,q-lbaas,neutron,tempest,heat
- # OFFLINE=True
計(jì)算節(jié)點(diǎn)的 local.conf
- [[local|localrc]]
- HOST_IP=9.186.100.88 # management IP
- FIXED_RANGE=10.0.100.0/24
- #FIXED_NETWORK_SIZE=4096
- FLOATING_RANGE=9.186.100.0/24
- MULTI_HOST=1
- LOGFILE=/opt/stack/logs/stack.sh.log
- # Credentials
- ADMIN_PASSWORD=admin
- MYSQL_PASSWORD=secret
- RABBIT_PASSWORD=secret
- SERVICE_PASSWORD=secret
- SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
- # Service information
- SERVICE_HOST=9.186.100.77
- MYSQL_HOST=9.186.100.77
- RABBIT_HOST=9.186.100.77
- GLANCE_HOSTPORT=9.186.100.77:9292
- Q_HOST=9.186.100.77
- KEYSTONE_AUTH_HOST=9.186.100.77
- KEYSTONE_SERVICE_HOST=9.186.100.77
- CEILOMETER_BACKEND=mongodb
- DATABASE_TYPE=mysql
- ENABLED_SERVICES=n-cpu,n-net,n-api,c-sch,c-api,c-vol
- # vnc config
- NOVA_VNC_ENABLED=True
- NOVNCPROXY_URL="http://9.186.100.77:6080/vnc_auto.html"
- VNCSERVER_LISTEN=$HOST_IP
- VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
- # OFFLINE=True
執(zhí)行配置
執(zhí)行命令
- ./stack.sh
會(huì)輸出各項(xiàng)操作的結(jié)果。日志會(huì)寫到 stack.sh.log 文件。
其它事項(xiàng)
停止 OpenStack 的各個(gè)服務(wù)(DevStack 默認(rèn)每個(gè)服務(wù)都在一個(gè) screen 中以進(jìn)程方式運(yùn)行,可以通過 screen -x stack 進(jìn)入查看)。
- ./unstack.sh
清除安裝。
- ./clean.sh
有時(shí)候有些文件可能清除不干凈,手動(dòng)執(zhí)行
- sudo rm -rf /etc/libvirt/qemu/inst*
- sudo virsh list | grep inst | awk '{print $1}' | xargs -n1 virsh destroy
安裝過程中可能會(huì)報(bào)某些包版本不滿足的問題,手動(dòng)安裝后。
例如報(bào) six 包版本過低。
- sudo pip install six --upgrade
重新安裝,執(zhí)行如下命令即可。
- ./unstack.sh
- ./stack.sh
博文出處:http://blog.csdn.net/yeasy/article/details/44100489