同事调整公司网络,造成OpenStack的控制节点和计算节点间的网络暂时中断,网络恢复后,在控制台看到所有的实例都处于shutoff状态,控制台重启实例后也无法ping通,但是新建的实例却是正常的,查看原实例日志发现错误:
cloud-init start running: Mon, 06 May 2013 06:48:47 +0000. up 5.09 seconds
2013-05-06 06:51:37,431 - util.py[WARNING]: 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [50/120s]: url error [timed out]
2013-05-06 06:52:28,485 - util.py[WARNING]: 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [101/120s]: url error [timed out]
2013-05-06 06:52:46,506 - util.py[WARNING]: 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [119/120s]: url error [timed out]
2013-05-06 06:52:47,509 - DataSourceEc2.py[CRITICAL]: giving up on md after 120 seconds
确认控制节点、计算节点的iptables规则没有问题:
root@controller:~# iptables -t nat -L -v | grep -n3 169.254.169.254
63-
64-Chain nova-network-PREROUTING (1 references)
65- pkts bytes target prot opt in out source destination
66: 23 1380 REDIRECT tcp -- any any anywhere 169.254.169.254 tcp dpt:http redir ports 8775
67- 1 84 DNAT all -- any any anywhere 10.68.19.155 to:50.50.0.16
68-
69-Chain nova-network-float-snat (1 references)
root@controller:~#
解决办法:通过OpenStack控制台的实例VNC Console进行实例软重启,如果有账号密码的可以通过VNC Console登陆后使用命令reboot -h now重启,如果是通过key登陆的,可以直接点击VNC控制台上的Ctrl+alt+del键重启。
总结:OpenStack控制台的重启实例不等同于操作系统的重启,感觉并不是将操作系统彻底重启,所以实例操作系统中部分中断的服务没有重启,如网络服务network,所以无法ping通