有谁可以告诉我如何修改存储在 mongodb 中的 juju bootstrap 节点的公有 IP 和私有 IP?
我有一台全功能 openstack 服务器。本周,我启动了一个名为 的虚拟机juju-core
并在其上安装了软件包juju-core
。通过使用 命令 juju bootstrap
,我成功获得了一个 juju bootstrap 节点,它也是 openstack 上的一个虚拟机,运行良好。现在我遇到了一个问题,不知道如何解决。我创建了 juju bootstrap 虚拟机的快照并将其命名为juju-bootstrap-snapshot
。之后,我juju bootstrap-1
从该快照启动了一个名为 的新实例。
为了连接到juju bootstrap-1
我必须登录juju-core vm
并修改状态服务器的 IP 地址
/home/$user/.juju/environments/openstack.jenv
。
juju status
当我在 上运行命令时juju-core vm
,总是没有响应。所以我登录juju bootstrap-1
试图找出发生了什么;我发现没有进程在监听端口 17070。
> netstat -ntulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:6514 0.0.0.0:* LISTEN 838/rsyslogd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 970/sshd
tcp 0 0 0.0.0.0:37017 0.0.0.0:* LISTEN 932/mongod
tcp 0 0 0.0.0.0:38017 0.0.0.0:* LISTEN 932/mongod
tcp6 0 0 :::6514 :::* LISTEN 838/rsyslogd
tcp6 0 0 :::22 :::* LISTEN 970/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 587/dhclient
udp 0 0 0.0.0.0:15712 0.0.0.0:* 587/dhclient
udp6 0 0 :::52056 :::* 587/dhclient
但 jujud 正在运行
>ps aux | grep juju
root 932 0.6 2.1 3516932 44336 ? Ssl Jan15 7:08 /usr/lib/juju/bin/mongod --auth --dbpath=/var/lib/juju/db --sslOnNormalPorts --sslPEMKeyFile /var/lib/juju/server.pem --sslPEMKeyPassword xxxxxxx --bind_ip 0.0.0.0 --port 37017 --noprealloc --syslog --smallfiles --journal --keyFile /var/lib/juju/shared-secret --replSet juju --oplogSize 817<p>
root 935 0.2 0.6 426096 14032 ? Ssl Jan15 2:37 /var/lib/juju/tools/machine-0/jujud machine --data-dir /var/lib/juju --machine-id 0 --debug
我还修改了vm 上的apiaddresses
;只是为了确保 juju 端点会监听。但仍然没有进程监听。/var/lib/juju/agents/machine-0/agent.conf
juju bootstrap-1
port 17070
port 17070
通过使用另一个工具,juju-dbinspect
我发现原始 juju bootstrap 节点的公共 IP 和私有 IP 都存储在 中mongodb
。因此,我尝试修改 neutron 和 nova 中的相关表,mysql
以openstack
确保新的 juju bootstrap 节点可以获取原始 juju bootstrap 节点的 IP。完成此操作后,juju 端点成功启动,并且port 17070
新的 juju bootstrap 节点上有一个服务列表。一切又恢复正常。
在 openstack 中执行作业时;创建虚拟机的快照,从快照启动虚拟机是非常常见的用法。我不知道为什么 juju bootstrap node vm 在这种情况下无法工作。如果我遗漏了什么,请告诉我。根据我所做的,juju bootstrap-1
如果我可以修改存储在 mongodb 中的原始 juju bootstrap 节点的公共 IP 和私有 IP,新的虚拟机应该可以很好地工作。但我不知道怎么做。任何能告诉我怎么做的人都会非常感激。
谢谢你,杰夫