附:安装配置

DevStack 安装 OpenStack 多节点(Juno+Neutron+ML2+VXLAN)

目前安装 OpenStack 常见的方案有 Redhat 的 和社区的 DevStack

当然,也可以手动安装,可以参考:

其中,RDO 功能比较强大,运行也稳定,可以在一个节点上通过一个 answer 文件直接部署多个节点,搭建一套 OpenStack 环境。但是可惜,在 Ubuntu 上还不支持。

DevStack 支持 Ubuntu、Fedora 等环境,需要在每个节点上单独执行,适合进行实验。目前常见的教程一般都是讲解 DevStack 单节点安装。本文讲解最新的 Juno 版本在多节点上的安装过程。

网络环境

两台机器,分为控制节点(同时也作为网络节点)和计算节点。

eth0: 9.186.100.77/24 作为管理网络(同时也是公共网络)。
eth1: 10.0.100.77/24 作为内部网络接口。

计算节点

eth0: 9.186.100.88/24 作为管理网络(同时也是公共网络)。
eth1: 10.0.100.88/24 作为内部网络接口。

配置 stack 用户

添加 stack 用户权限。

切换到 stack 用户

  1. sudo su - stack

下载代码

下载 devstack 代码,并切换到 stable/juno 分支。

  1. sudo apt-get install git -y
  2. git clone https://git.openstack.org/openstack-dev/devstack -b stable/juno

编写运行配置文件

在 devstack 根目录下,编写 local.conf。

控制节点的 local.conf

计算节点的 local.conf

  1. [[local|localrc]]
  2. MULTI_HOST=true
  3. HOST_IP=9.186.100.88 # management network
  4. NETWORK_GATEWAY=10.0.0.1
  5. #FIXED_NETWORK_SIZE=4096
  6. TUNNEL_ENDPOINT_IP=10.0.100.88 # data network endpoint for vxlan
  7. # Credentials
  8. ADMIN_PASSWORD=admin
  9. MYSQL_PASSWORD=secret
  10. RABBIT_PASSWORD=secret
  11. SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
  12. # Service information
  13. SERVICE_HOST=9.186.100.77
  14. MYSQL_HOST=$SERVICE_HOST
  15. RABBIT_HOST=$SERVICE_HOST
  16. GLANCE_HOSTPORT=$SERVICE_HOST:9292
  17. Q_HOST=$SERVICE_HOST
  18. KEYSTONE_AUTH_HOST=$SERVICE_HOST
  19. KEYSTONE_SERVICE_HOST=$SERVICE_HOST
  20. CEILOMETER_BACKEND=mongodb
  21. DATABASE_TYPE=mysql
  22. ENABLED_SERVICES=n-cpu,q-agt,neutron
  23. # vnc config
  24. NOVA_VNC_ENABLED=True
  25. VNCSERVER_LISTEN=$HOST_IP
  26. VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
  27. #OFFLINE=True
  28. LOG_COLOR=False
  29. LOGDIR=$DEST/logs
  30. SCREEN_LOGDIR=$LOGDIR/screen
  31. #LOGFILE=/opt/stack/logs/stack.sh.log

执行配置

执行命令。

  1. ./stack.sh

控制节点上

  1. Horizon is now available at http://9.186.100.77/
  2. Keystone is serving at http://9.186.100.77:5000/v2.0/
  3. Examples on using novaclient command line is in exercise.sh
  4. The default users are: admin and demo
  5. The password: admin
  6. This is your host ip: 9.186.100.77

执行成功后,在控制节点上,将物理网卡 eth0 绑定到 br-ex 网桥上。

其它事项

停止 OpenStack 的各个服务(DevStack 默认每个服务都在一个 screen 中以进程方式运行,可以通过 screen -x stack 进入查看)。

  1. ./unstack.sh

清除安装。

  1. ./clean.sh

有时候有些文件可能清除不干净,手动执行

  1. sudo virsh list | grep inst | awk '{print $1}' | xargs -n1 virsh destroy

依赖版本

安装过程中可能会报某些包版本不满足的问题,手动安装后。

例如报 six 包版本过低。

ctrl+a+” 显示 session 列表。
ctrl+a+d 挂起到后台。