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

最近需要部署多节点的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 - postgres
pg_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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值