ESXi服务器上利用Fuel部署Openstack错误解决

来源:互联网 发布:小米手机网络类型选择 编辑:程序博客网 时间:2024/06/17 11:26

    • 登录Fuel Web出错
    • 验证网络连通性出错
      • 错误信息
      • 解决方案
        • Fuel master节点MAC地址问题
        • 网关问题
      • 部署报错
    • -

最近需要部署多节点的Openstack环境,官网上给出的手动部署文档需要输入太多命令,而且试了几次实例的网络都有各种错…
然后采用Fuel这个Openstack的自动部署工具来进行部署,首先在本地部署一遍测试下,发现在Fuel master节点部署完成之后,确实只需要点几个按钮就可以部署Openstack了。
但是毕竟要求是很多节点,本地这配置两节点还好,多了估计跑不起来,所以准备将master节点上载到ESXi服务器上,结果。。。在服务器上利用上载的master重新部署Openstack居然遇到各种错…

登录Fuel Web出错

在登录Fuel Web时报错:

unable log in, keystone service is not avaible

查看fuel master节点的keystone日志,报错:

Is the server running on host "10.20.0.2" and accepting TCP/IP connections on poer 5432?

5432端口,查了下这个端口对应的服务,貌似应该是postges服务没有启动,启动命令:

su - postgrespg_ctl restart

再登录Fuel Web时就不报错了~~

验证网络连通性出错

错误信息

将本地fule master节点上载到服务器上后,在fuel web界面上验证网络连通性时报错:

Verification failed.Node controller discovered DHCP server via ens192 with following parameters: IP: 10.20.0.2, MAC: 00:50:56:95:67:e0. This server will conflict with the installation.Node controller discovered DHCP server via ens192 with following parameters: IP: 192.168.0.1, MAC: ec:6c:9f:26:47:02. This server will conflict with the installation.Node compute-2 discovered DHCP server via ens192 with following parameters: IP: 192.168.0.1, MAC: ec:6c:9f:26:47:02. This server will conflict with the installation.Node compute-2 discovered DHCP server via ens192 with following parameters: IP: 10.20.0.2, MAC: 00:50:56:95:67:e0. This server will conflict with the installation.Node compute-1 discovered DHCP server via ens192 with following parameters: IP: 192.168.0.1, MAC: ec:6c:9f:26:47:02. This server will conflict with the installation.Node compute-1 discovered DHCP server via ens192 with following parameters: IP: 10.20.0.2, MAC: 00:50:56:95:67:e0. This server will conflict with the installation.

这里写图片描述

解决方案

可以看到错误分为两块:
- 10.20.0.2与安装过程冲突
- 192.168.0.1与安装过程冲突
其中10.20.0.2是fuel master的IP,192.168.0.1是服务器网关路由的IP。
第一块错误的原因是:从本地上载master节点到服务器上,导致节点网卡的mac地址不一致。先来解决这一个错。

Fuel master节点MAC地址问题

本地的master节点四块网卡MAC地址为:

"00:0C:29:AA:51:61""00:0C:29:AA:51:6B""00:0C:29:AA:51:75""00:0C:29:AA:51:7F"

因此咱们需要修改服务器master四块网卡的MAC地址,修改步骤如下:

  • 修改master节点对应的vmx文件:

修改前:

ethernet0.virtualDev = "e1000"ethernet0.networkName = "network_lw_3"ethernet0.addressType = "static"ethernet0.present = "TRUE"ethernet1.virtualDev = "e1000"ethernet1.networkName = "network_lw_3"ethernet1.addressType = "static"ethernet1.present = "TRUE"ethernet2.virtualDev = "e1000"ethernet2.networkName = "network_lw_3"ethernet2.addressType = "static"ethernet2.present = "TRUE"ethernet3.virtualDev = "e1000"ethernet3.networkName = "network_lw_3"ethernet3.addressType = "static"uuid.bios = "42 15 69 82 80 27 f6 52-da 5c bb dd e4 b0 0d 1b"ethernet0.address = "00:50:56:34:41:0F"ethernet1.address = "00:0C:29:AA:51:6B"ethernet2.address = "00:0C:29:AA:51:75"ethernet3.address = "00:0C:29:AA:51:7F"

将网卡addressType设置为“generated”:

ethernet0.virtualDev = "e1000"ethernet0.networkName = "network_lw_3"ethernet0.addressType = "generated"ethernet0.present = "TRUE"ethernet1.virtualDev = "e1000"ethernet1.networkName = "network_lw_3"ethernet1.addressType = "generated"ethernet1.present = "TRUE"ethernet2.virtualDev = "e1000"ethernet2.networkName = "network_lw_3"ethernet2.addressType = "generated"ethernet2.present = "TRUE"ethernet3.virtualDev = "e1000"ethernet3.networkName = "network_lw_3"ethernet3.addressType = "generated"

VMware MAC地址的生成是根据uuid.bios生成的,并且始终保证uuid.bios的后三项即为第一块网卡的MAC地址的后三位,因此,我们需要将bios这一项需要将最后三个数字改为AA:51:61,再修改网卡MAC地址:

uuid.bios = "42 15 69 82 80 27 f6 52-da 5c bb dd e4 aa 51 61"ethernet0.address = "00:0C:29:AA:51:61"ethernet1.address = "00:0C:29:AA:51:6B"ethernet2.address = "00:0C:29:AA:51:75"ethernet3.address = "00:0C:29:AA:51:7F"
  • 修改虚拟机设置中四张网卡的mac为上述配置中对应的地址:
    如第一张网卡:

这里写图片描述

  • 修改vsphere,允许该端口组的MAC“地址更改”与“伪传输”

这里写图片描述

  • 再验证网络,结果如下图,可以看到只有10.20.0.2的错误已经解决

这里写图片描述

网关问题

网络连通性报错的是192.168.0.1与安装过程冲突,注意我们在本地利用Fuel安装Openstack时,配置网络时,特意去掉了DHCP:

这里写图片描述

所以我们将192.168.0.1路由的DHCP功能关闭吧先….
关闭之后再重新验证,验证成功~

这里写图片描述

部署报错

成功验证网络连通性,再来部署Openstack,等待半天之后,居然又报错了!!!%>_<%

root@nat:~# cat test 2016-11-09 07:28:31     ERR     (/Stage[main]/Osnailyfacter::Netconfig::Netconfig/Ping_host[172.18.0.1]/ensure) change from down to up failed: Timeout waiting for host '172.18.0.1' status to become 'up' after 60 seconds!2016-11-09 07:28:31     ERR     (/Stage[main]/Osnailyfacter::Netconfig::Netconfig/Ping_host[172.18.0.1]/ensure) change from down to up failed: Timeout waiting for host '172.18.0.1' status to become 'up' after 60 seconds!2016-11-09 07:28:31     ERR     /usr/bin/puppet:8:in `<main>'2016-11-09 07:28:31     ERR     /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:92:in `execute'2016-11-09 07:28:31     ERR     /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:146:in `run'2016-11-09 07:28:31     ERR     /usr/bin/puppet:8:in `<main>'2016-11-09 07:28:31     ERR     /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:92:in `execute'2016-11-09 07:28:31     ERR     /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:146:in `run'2016-11-09 07:28:31     ERR     /usr/lib/ruby/vendor_ruby/puppet/application.rb:381:in `run'2016-11-09 07:28:31     ERR     /usr/lib/ruby/vendor_ruby/puppet/util.rb:496:in `exit_on_fail'2016-11-09 07:28:31     ERR     /usr/lib/ruby/vendor_ruby/puppet/application.rb:381:in `block in run'2016-11-09 07:28:31     ERR     /usr/lib/ruby/vendor_ruby/puppet/application.rb:507:in `plugin_hook'2016-11-09 07:28:31     ERR     /usr/lib/ruby/vendor_ruby/puppet/application.rb:381:in `block (2 levels) in run'root@nat:~# 

这里写图片描述

看错误貌似说的是172.18.0.1无响应。172.18.0.1是Fuel用到的其中一张网卡对应的网关,然而…服务器上这个网是直接配置静态IP的,根本没有网关。。。

。。

———-

更新:
最后遇到的问题是网关不通,如果是在本机上使用的VMware的话,是只需要关闭本机防火墙就可以了(因为主机本身即是这几个网段的网关)。如果是在ESXi服务器上,可能需要另外创建一台虚拟机用作NAT转换

(最后加上NAT转换测试后,虽然成功部署了Openstack,但是好像无法访问horizon……)

0 0
原创粉丝点击