使用 vSphere 中的 Juju/MAAS 测试 OpenStack

使用 vSphere 中的 Juju/MAAS 测试 OpenStack

我在我的实验室 vSphere 中进行了以下设置,以使用 juju 测试 Openstack 部署。

  1. MAAS 服务器虚拟机有 2 个接口 [一个使用代理访问互联网,另一个内部 192.168 n/w 用于 dhcp 和 dns](raring 发布)
  2. MAAS 节点在 192.168 n/w 中有一个接口。(量子版本)
  3. 拥有一个 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*


  1. 可能是什么问题?MAAS 节点无法访问互联网是否是问题所在?
  2. 我的 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 文件。

相关内容