搜索

15.7. 清空实例

download PDF

如果要将实例从死机或关闭的 Compute 节点移动到同一环境中的新主机,您可以撤离它。

撤离过程会销毁原始实例,并使用原始镜像、实例名称、UUID、网络地址以及原始实例已分配给它的任何其他资源重建原始实例。

如果实例使用共享存储,则在撤离过程中不会重建实例根磁盘,因为目标 Compute 节点仍可访问磁盘。如果实例不使用共享存储,则在目标 Compute 节点上也重新构建实例根磁盘。

注意
  • 您只能在 Compute 节点被隔离时执行撤离,API 会报告 Compute 节点的状态为 "down" 或 "forced-down"。如果 Compute 节点没有报告为"down"或"forced-down",则 evacuate 命令会失败。
  • 要执行撤离,您必须是云管理员。

15.7.1. 清空一个实例

您可以一次撤离实例。

流程

  1. 确认实例没有运行:

    (overcloud)$ openstack server list --host <node> --all-projects
    • <node > 替换为托管实例的 Compute 节点的名称或 UUID。
  2. 确认主机 Compute 节点已被隔离或关闭:

    (overcloud)[stack@director ~]$ openstack baremetal node show <node>
    • <node > 替换为托管要撤离的 Compute 节点的名称或 UUID。要执行撤离,Compute 节点必须处于 downforced-down 状态。
  3. 禁用 Compute 节点:

    (overcloud)[stack@director ~]$ openstack compute service set \
     <node> nova-compute --disable --disable-reason <disable_host_reason>
    • <node > 替换为要从中撤离实例的 Compute 节点的名称。
    • <disable_host_reason > 替换为您禁用 Compute 节点的详情。
  4. 撤离实例:

    (overcloud)[stack@director ~]$ nova evacuate [--password <pass>] <instance> [<dest>]
    • 可选:将 <pass > 替换为访问撤离实例所需的管理密码。如果没有指定密码,则会生成一个随机密码,并在 evacuation 完成后输出。

      注意

      只有在临时实例磁盘存储在本地虚拟机监控程序磁盘上时,才会更改密码。如果实例托管在共享存储上,或者实例附加了 Block Storage 卷,且没有显示错误消息来告知您密码没有改变,则不会更改密码。

    • <instance > 替换为要撤离的实例的名称或 ID。
    • 可选:将 & lt;dest > 替换为要撤离实例的 Compute 节点的名称。如果没有指定目标 Compute 节点,则计算调度程序会为您选择一个。您可以使用以下命令查找可能的 Compute 节点:

      (overcloud)[stack@director ~]$ openstack hypervisor list
  5. 可选:在恢复时启用 Compute 节点:

    (overcloud)[stack@director ~]$ openstack compute service set \
     <node> nova-compute --enable
    • <node > 替换为要启用的 Compute 节点的名称。

15.7.2. 清空主机上的所有实例

您可以撤离指定 Compute 节点上的所有实例。

流程

  1. 确认要撤离的实例没有运行:

    (overcloud)$ openstack server list --host <node> --all-projects
    • <node > 替换为托管要撤离的 Compute 节点的名称或 UUID。
  2. 确认主机 Compute 节点已被隔离或关闭:

    (overcloud)[stack@director ~]$ openstack baremetal node show <node>
    • <node > 替换为托管要撤离的 Compute 节点的名称或 UUID。要执行撤离,Compute 节点必须处于 downforced-down 状态。
  3. 禁用 Compute 节点:

    (overcloud)[stack@director ~]$ openstack compute service set \
     <node> nova-compute --disable --disable-reason <disable_host_reason>
    • <node > 替换为要从中撤离实例的 Compute 节点的名称。
    • <disable_host_reason > 替换为您禁用 Compute 节点的详情。
  4. 撤离指定 Compute 节点上的所有实例:

    (overcloud)[stack@director ~]$ nova host-evacuate [--target_host <dest>] <node>
    • 可选:将 <dest > 替换为目标 Compute 节点的名称,以撤离实例。如果没有指定目的地,Compute 调度程序会为您选择一个。您可以使用以下命令查找可能的 Compute 节点:

      (overcloud)[stack@director ~]$ openstack hypervisor list
    • <node > 替换为要从中撤离实例的 Compute 节点的名称。
  5. 可选:在恢复时启用 Compute 节点:

    (overcloud)[stack@director ~]$ openstack compute service set \
     <node> nova-compute --enable
    • <node > 替换为要启用的 Compute 节点的名称。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.