在 openstack 下,重新启动compute,实例不会自动恢复,解决办法:
修改 /etc/nova.conf,添加两个选项:
start_guests_on_host_boot = True
resume_guests_state_on_host_boot =True
注意的是,如果使用了nova-volume,则自动启动还是有问题的。这时,需要自己写脚本,进行启动。
这两个选项在文档中没有说明,大家可以参见代码:
nova/compute/manager.py:
if ((expect_running and FLAGS.resume_guests_state_on_host_boot) or
FLAGS.start_guests_on_host_boot):
LOG.info(_(‘Rebooting instance after nova-compute restart.’),
locals(), instance=instance)
self.reboot_instance(context, instance[‘uuid’])
elif drv_state == power_state.RUNNING:
# Hyper-V and VMWareAPI drivers will raise an exception
try:
net_info = self._get_instance_nw_info(context, instance)
self.driver.ensure_filtering_rules_for_instance(instance,
self._legacy_nw_info(net_info))
except NotImplementedError:
LOG.warning(_(‘Hypervisor driver does not support ‘
‘firewall rules’))