使用DevStack执行OpenStack Juno多节点安装过程总结
创始人
2025-01-11 02:30:30
0次

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

当然,也可以手动安装,可以参考:github.com/ChaimaGhribi/OpenStack-Juno-Installation/blob/master/OpenStack-Juno-Installation.rst

其中,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 用户

  1. sudo groupadd stack 
  2. sudo useradd -g stack -s /bin/bash -d /opt/stack -m stack 

添加 stack 用户权限。

  1. sudo echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers 

切换到 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

  1. [[local|localrc]] 
  2.  
  3. HOST_IP=9.186.100.77 # management network 
  4. PUBLIC_INTERFACE=eth0 #public network 
  5.  
  6. FIXED_RANGE=10.0.100.0/24 
  7. #FIXED_NETWORK_SIZE=4096 
  8. FLOATING_RANGE=9.186.100.0/24 
  9. PUBLIC_NETWORK_GATEWAY=9.186.100.1 
  10.  
  11. MULTI_HOST=1 
  12. LOGFILE=/opt/stack/logs/stack.sh.log 
  13.  
  14. # Credentials 
  15. ADMIN_PASSWORD=admin 
  16. MYSQL_PASSWORD=secret 
  17. RABBIT_PASSWORD=secret 
  18. SERVICE_PASSWORD=secret 
  19. SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz 
  20.  
  21. # enable neutron-ml2-vxlan 
  22. disable_service n-net 
  23. enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,q-metering,q-lbaas,neutron,tempest,heat 
  24.  
  25. # OFFLINE=True 

计算节点的 local.conf

  1. [[local|localrc]] 
  2. HOST_IP=9.186.100.88 # management IP 
  3. FIXED_RANGE=10.0.100.0/24 
  4. #FIXED_NETWORK_SIZE=4096 
  5. FLOATING_RANGE=9.186.100.0/24 
  6.  
  7. MULTI_HOST=1 
  8. LOGFILE=/opt/stack/logs/stack.sh.log 
  9.  
  10. # Credentials 
  11. ADMIN_PASSWORD=admin 
  12. MYSQL_PASSWORD=secret 
  13. RABBIT_PASSWORD=secret 
  14. SERVICE_PASSWORD=secret 
  15. SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz 
  16.  
  17. # Service information 
  18. SERVICE_HOST=9.186.100.77 
  19. MYSQL_HOST=9.186.100.77 
  20. RABBIT_HOST=9.186.100.77 
  21. GLANCE_HOSTPORT=9.186.100.77:9292 
  22. Q_HOST=9.186.100.77 
  23. KEYSTONE_AUTH_HOST=9.186.100.77 
  24. KEYSTONE_SERVICE_HOST=9.186.100.77 
  25.  
  26. CEILOMETER_BACKEND=mongodb 
  27.  
  28. DATABASE_TYPE=mysql 
  29. ENABLED_SERVICES=n-cpu,n-net,n-api,c-sch,c-api,c-vol 
  30.  
  31. # vnc config 
  32. NOVA_VNC_ENABLED=True 
  33. NOVNCPROXY_URL="http://9.186.100.77:6080/vnc_auto.html" 
  34. VNCSERVER_LISTEN=$HOST_IP 
  35. VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN 
  36.  
  37. # OFFLINE=True  

执行配置

执行命令

  1. ./stack.sh 

会输出各项操作的结果。日志会写到 stack.sh.log 文件。

其它事项

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

  1. ./unstack.sh 

清除安装。

  1. ./clean.sh 

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

  1. sudo rm -rf /etc/libvirt/qemu/inst* 
  2. sudo virsh list | grep inst | awk '{print $1}' | xargs -n1 virsh destroy 

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

例如报 six 包版本过低。

  1. sudo pip install six --upgrade 

重新安装,执行如下命令即可。

  1. ./unstack.sh 
  2. ./stack.sh 

博文出处:http://blog.csdn.net/yeasy/article/details/44100489

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...