我在我的实验室 vSphere 中进行了以下设置,以使用 juju 测试 Openstack 部署。
- MAAS 服务器虚拟机有 2 个接口 [一个使用代理访问互联网,另一个内部 192.168 n/w 用于 dhcp 和 dns](raring 发布)
- MAAS 节点在 192.168 n/w 中有一个接口。(量子版本)
- 拥有一个 Quantal 的本地镜像,供 MAAS 节点进行 pxe 启动。
我能够引导我的 juju 环境,并且 MAAS 服务器下的一个节点得到了已分配为此。由于 WOL 在 vSphere vms 中不可用,因此我手动启动了该特定 VM (node3.juju.local)。
pxe启动完成后。
我的观察
无法获得符咒状态在 MAAS 服务器中。卡在这里
2013-10-22 06:18:27 INFO juju.state open.go:68 打开状态;mongo 地址:[“node3.juju.local:37017”];实体“”
所以我登录到node3.juju.local 机器。
最后几行/var/log/cloud-init-output.log
2013-10-21 13:04:56 DEBUG juju.state open.go:88 连接失败,将重试:拨号 tcp 127.0.0.1:37017:连接被拒绝
2013-10-21 13:04:57 DEBUG juju.state open.go:88 连接失败,将重试:拨号 tcp 127.0.0.1:37017:连接被拒绝
2013-10-21 13:04:57 错误 juju.agent agent.go:470 初始化状态失败:没有可访问的服务器
2013-10-21 13:04:57 错误 juju supercommand.go:282 没有可访问的服务器
*2013-10-21 13:04:57,960 - util.py[警告]:无法运行 /var/lib/cloud/instance/scripts/runcmd [1] 2013-10-21 13:04:57,962 - cc_scripts_user.py[警告]:无法运行模块 scripts-user(/var/lib/cloud/instance/scripts 中的脚本)*
2013-10-21 13:04:57,963 - util.py[警告]: 运行 scripts-user() 失败
Cloud-init v. 0.7 于 2013 年 10 月 21 日星期一 13:04:57 +0000 完成。数据源 DataSourceMAAS [http://192.168.124.10/MAAS/metadata/]。耗时 1532.83 秒
Cloud-init v. 0.7 于 2013 年 10 月 21 日星期一 15:53:08 +0000 运行“init-local”。耗时 3.88 秒。
很明显 MongoDB 没有启动,我通过以下方式检查运行命令(cloud-init)脚本和云初始化输出.log
Mongod 版本安装 2.0.6,并且 mongod 没有以下选项 SSL 选项:
--sslOnNormalPorts 在配置的端口上使用 ssl
--sslPEMKeyFile 参数 SSL 的 PEM 文件
--sslPEMKeyPassword arg PEM 文件密码
其中提到运行命令脚本(cloud-init)
*exec /usr/bin/mongod --auth --dbpath=/var/lib/juju/db --sslOnNormalPorts --sslPEMKeyFile '/var/lib/juju/server.pem' --sslPEMKeyPassword 忽略 --bind_ip 0.0.0.0 --port 37017 --noprealloc --syslog --smallfiles*
- 可能是什么问题?MAAS 节点无法访问互联网是否是问题所在?
我的 juju+LXC 设置运行良好,因此我将所需的 mongo 二进制文件从该机器复制到node3.juju.local机器并重新启动服务器,这次 mongod 启动了,但是 juju 状态没有给出以下错误(DNS,nslookup 都正确)
2013-10-22 06:18:27 INFO juju.state open.go:68 打开状态;mongo 地址:[“node3.juju.local:37017”];实体“”
2013-10-22 06:28:27 错误 juju supercommand.go:282 无法连接到环境“maas”。
请检查您的凭据或使用“juju bootstrap”来创建新的环境。
错误详情:
没有可访问的服务器
答案1
我在非常相似的环境中遇到了同样的问题(在 VSphere 中运行 Juju 和 MAAS)。一开始我也认为问题出在 MongoDB 上,所以我更新了引导节点上的版本。但解决问题的方法是,在运行 juju-core 的节点上设置正确的 DNS 设置,因为它在连接到节点时使用 FQDN。因此,请确保您可以使用 FQDN ping 引导节点。
答案2
就像 isein 所说,您的问题可能与您的 MAAS 服务器上未发生此特定域的 DNS 解析有关。
为了测试这一点,您可以在 /etc/hosts 文件的第一行添加一行:
nameserver <IP address you are using for managing DHCP/DNS on MAAS>
我通过这种方式成功解决了和你相同的问题。要使此修改永久生效,你可以在“/etc/resolvconf/resolv.conf.d/head”中添加此行
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver <IP>
resolvconf 将在启动时使用该文件来构建您的 /etc/hosts 文件。