多节点devstack配置

本文继续上一篇devstack 安装教程,介绍如何用devstack配置多节点openstack环境。

安装环境ubuntu12.04+OpenStack(havana)

由于现在neutron比较混乱,在这里我用nova-network做网络服务,并且安装了heat。但没有安装tempest和ceilometer。可以按需增删注释。

控制节点

下面是controller节点的配置文件。这里配置了private和public两个网络。

vi devstack/local.conf
[[local|localrc]]

DATABASE_PASSWORD=password
ADMIN_PASSWORD=password
SERVICE_PASSWORD=password
SERVICE_TOKEN=password
RABBIT_PASSWORD=password

enable_service heat h-api h-api-cfn h-api-cw h-eng
#enable_service tempest
#enable_service ceilometer-acompute ceilometer-acentral ceilometer-anotification ceilometer-collector ceilometer-api

DEST=/home/stack
LOGFILE=/home/stack/logs/stack.sh.log
#VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/home/stack/logs

FLOATING_RANGE=192.168.1.0/24
FIXED_RANGE=192.168.2.0/24

计算节点

下面是compute节点的配置文件。启用了nova-compute, nova-network这两个模块。

vi devstack/local.conf
[[local|localrc]]

DATABASE_PASSWORD=password
ADMIN_PASSWORD=password
SERVICE_PASSWORD=password
SERVICE_TOKEN=password
RABBIT_PASSWORD=password

DEST=/home/stack
LOGFILE=/home/stack/logs/stack.sh.log
#VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/home/stack/logs

FLOATING_RANGE=192.168.1.0/24
FIXED_RANGE=192.168.2.0/24

ENABLED_SERVICES=n-cpu,rabbit,n-xvnc,n-novnc,n-net,n-api
SERVICE_HOST=9.186.106.16
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
Q_HOST=$SERVICE_HOST
MATCHMAKER_REDIS_HOST=$SERVICE_HOST

SCHEDULER=nova.scheduler.simple.SimpleScheduler

[[post-config|$NOVA_CONF]]
[DEFAULT]
novnc_enabled=true
novncproxy_base_url=http://9.186.106.16:6080/vnc_auto.html
novncproxy_port=6080
vncserver_proxyclient_address=9.186.106.17
vncserver_listen=0.0.0.0

几点说明:

  1. controller node IP:9.186.106.16, compute node IP: 9.186.106.17
  2. 一定要打开novnc服务,另外在计算节点配置nova.conf文件(也就是在local.conf里面加上[[post-config|$NOVA_CONF]]后面那段)。否则dashboard里面的Console会有问题。
  3. 我的配置里还加入了SimpleScheduler,这个其实加不加无所谓,可以改成自己需要的调度器。
  4. 比较令人费解的是ENABLED_SERVICES里面包含了rabbit,这也就意味着在计算节点上要安装rabbitmq。但是自己动手装过openstack的朋友都知道,rabbitmq只需要在控制节点上安装即可。这也许是因为qpid等其他消息队列服务是需要安装在计算节点的,所以devstack把它统一设置了。

Some Tips:

当机器重启后可以运行rejoin-stack.sh重启服务,可能会用到的两个命令是

script /dev/null
screen -r

如果运行stack.sh则会把所有数据擦去重建。如果想更改配置,比如想把neutron换成nova-network,unstack.sh可以帮助重新搭建OpenStack。如果之前安装有问题,可以试试clean.sh

安装完成后可以运行以下两个命令,获得权限:

source openrc admin admin
source openrc demo demo

参考资料: 1. devstack的github 2. devstack Multi-Node Lab

Published: February 25 2014

blog comments powered by Disqus
Copyright ©2014 XiaoYong Yuan, All Rights Reserved.