背景信息:
Fuel:为9.0版本
安装的Openstack有两个节点,一个controller节点,一个computer节点。
故障现象:
上述截图来自于Fuel 控制台的日志,该日志属于master节点。可以看出,原因是NTP检查失败了,导致Openstack的controller节点安装失败,而computer节点也退出安装。
解决方法:
原理:在安装openstack的过程中,笔者在学习过程中从一个教程中了解的是,将Controller节点作为NTP服务器,并让其它节点从Controller节点进行时间同步。不过在使用Fuel安装时,可以把Fuel master节点作为NTP server,让Openstack的所有节点都与该节点进行时间同步。由于不知道ntp_checp.pp脚本在哪里以及如何修改,最简单的方法就是直接修改欲安装openstack的各节点的/etc/hosts文件,直接将上述几个域名指向Fuel master节点。如下所示:
上述截图中最后三行是添加的内容。
10.20.0.2 0.fuel.pool.ntp.org
10.20.0.2 1.fuel.pool.ntp.org
10.20.0.2 2.fuel.pool.ntp.org
同样修改其它节点,修改后重新执行部署任务,执行成功,如下所示:
遇到过的问题:
笔者在第一次遇到上述错误时,首先是检查了各节点的/etc/ntp.conf 文件,发现Fuel master节点的该文件中存在如下配置:
server 0.fuel.pool.ntp.org iburst minpoll 3 maxpoll 9
server 1.fuel.pool.ntp.org iburst minpoll 3 maxpoll 9
server 2.fuel.pool.ntp.org iburst minpoll 3 maxpoll 9
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server 127.127.1.0
fudge 127.127.1.0 stratum 10
restrict 127.127.1.0
笔者直接将上述内容中最上面三行注释掉了,然后进行部署,发现还是失败了,分析了下原因,不管Fuel master节点是否可以ping通这三个地址,但是实际上是controller节点要去这里同步时间,肯定会失败,因为两个节点都是用的host-only模式,按说是上不了外网的,而且也确实ping不通。
重新部署一次,又多花了一个多小时,漫长的等待啊。