如何在openstack中重启后恢复实例

时间:2014-04-18 08:15:43

标签: openstack devstack

成功安装devstack并启动实例后,但一旦重启机器,需要重新启动并丢失当时启动的所有实例。我尝试重新加入堆栈但没有工作,我怎样才能获得实例重启后回来?

4 个答案:

答案 0 :(得分:1)

您可以在nova.conf中设置resume_guests_state_on_host_boot = True。该文件应位于/etc/nova/nova.conf

答案 1 :(得分:0)

我发现了一些陈旧的讨论http://www.gossamer-threads.com/lists/openstack/dev/8772

AFAIK目前OpenStack(Icehouse)仍未完全了解其中的环境,因此重启后无法完全恢复。实例将在那里(virsh域),但即使你手动启动它们或使用nova标志,我也不确定其他设施是否能正确处理(例如,中子将根据DB记录正确配置所有L3规则等。)老实说,我很确定他们不会......

答案取决于你需要达到的目标:

  1. 如果您需要模板环境(例如,每次重启后都有类似的实例和网络集),您可以编写所有脚本。换句话说,只需创建一个bash脚本创建所需的一切,并在每次stack.sh之后运行它。确保您从干净的环境开始,因为OpenStack DB状态保持在./unstack - ./stack.sh或./rejoin-stack.sh之间(您可能只是尝试清理DB或删除它.clip.sh将建立它。)

  2. 如果您需要一个持久的环境(例如,您不想在重新启动后丢失VM和整个基础架构状态),我不知道如何使用OpenStack执行此操作。 F.E.中子代理(他们配置iptables,dhcp等)不保存状态并由Neutron服务的事件驱动。重启后它们不会恢复,因此网络将会死机。如果有人分享一种方法来进行这种恢复,我会很高兴。

  3. 总的来说,我认为OpenStack并没有专注于此,也不会在最近的发布周期内关注。常见的方法是建立多节点环境,每个节点都可以替换。

    请参阅http://docs.openstack.org/high-availability-guide/content/ch-intro.html以获取参考资料

答案 2 :(得分:-1)

devstack是一个短暂的环境。它不应该在重启后存活下来。这不是受支持的行为。

据说你可能会通过运行

来重新初始化环境
./unstack.sh

跟随者

./stack.sh

一次。

再一次,devstack是一个短暂的环境。现有的主要目的是为openstack的CI基础架构运行门测试。

答案 3 :(得分:-2)

或尝试./rejoin-stack.sh重新加入之前的屏幕。