Atom feed of this document
  

 手动恢复

要恢复一个KVM或libvirt的计算节点,请参阅 “手动恢复”一节。对于所有其它的hypervisor,使用下面步骤:

  1. 在受影响的主机中确认虚拟机,可以使用nova listnova showeuca-describe-instances。例如,此命令展示了关于实例i-000015b9运行在节点 np-rcc54上的信息:

    $ euca-describe-instances
    i-000015b9 at3-ui02 running nectarkey (376, np-rcc54) 0 m1.xxlarge 2012-06-19T00:48:11.000Z 115.146.93.60
  2. 查询计算服务的数据库来检查主机的状态。此例将一个EC2 API的实例ID转换为一个OpenStack ID。如果使用命令nova,你可以直接替换ID(在此例中截取了部分的输出):

    mysql> SELECT * FROM instances WHERE id = CONV('15b9', 16, 10) \G;
    *************************** 1. row ***************************
    created_at: 2012-06-19 00:48:11
    updated_at: 2012-07-03 00:35:11
    deleted_at: NULL
    ...
    id: 5561
    ...
    power_state: 5
    vm_state: shutoff
    ...
    hostname: at3-ui02
    host: np-rcc54
    ...
    uuid: 3f57699a-e773-4650-a443-b4b37eed5a06
    ...
    task_state: NULL
    ...
    [注意]注意

    数据库中的证书可以在/etc/nova.conf中找到。

  3. 决定了受影响的虚拟机应该迁移到哪台计算主机上,然后运行此数据库命令将虚拟机迁移到新的主机节点:

    mysql> UPDATE instances SET host = 'np-rcc46' WHERE uuid = '3f57699a-e773-4650-a443-b4b37eed5a06';
  4. 如果你使用的hypervisor依赖于libvirt(诸如KVM),更新这些更改到libvirt.xml文件(可在 /var/lib/nova/instances/[instance ID]目录中找到):

    • 更改DHCPSERVER的值为新的计算主机的IP地址。

    • 更新 VNC 的IP为 0.0.0.0

  5. 重启虚拟机:

    $ nova reboot 3f57699a-e773-4650-a443-b4b37eed5a06

从一个失效的主机中恢复虚拟机同时需要更新数据库和使用命令nova reboot。然而,如果使用virsh尝试重新创建网络过滤配置还是有问题的话,重启计算服务,或者在数据库中更新 vm_statepower_state

Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page


loading table of contents...