15.7. 清空实例


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

撤离过程会破坏原始实例,并使用原始镜像、实例名称、UUID、网络地址以及原始实例分配的任何其他资源在另一个 Compute 节点上重建它。

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

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

15.7.1. 清空实例

要撤离主机上的所有实例,您必须一次撤离它们。

流程

  1. 从您的工作站访问 OpenStackClient pod 的远程 shell:

    $ oc rsh -n openstack openstackclient
  2. 确认实例没有运行:

     $ openstack server list --host <node> --all-projects
    • <node > 替换为托管实例的 Compute 节点的名称或 UUID。
  3. 检查实例任务状态:

    $ openstack server show <instance>
    +----------------------+--------------------------------------+
    | Field                | Value                                |
    +----------------------+--------------------------------------+
    | ...                  | ...                                  |
    | status               | NONE                            |
    | ...                  | ...                                  |
    +----------------------+--------------------------------------+
    • 将 & lt;instance > 替换为您要撤离的实例的名称或 UUID。
    注意

    如果实例任务状态不是 "NONE",则撤离可能会失败。

  4. 确认主机 Compute 节点已被隔离或关闭:

    $ openstack baremetal node show <node>
    • <node > 替换为托管要撤离实例的 Compute 节点的名称或 UUID。要执行撤离,Compute 节点必须处于 downforced-down 状态。
  5. 禁用 Compute 节点:

    $ openstack compute service set \
     <node> nova-compute --disable --disable-reason <disable_host_reason>
    • <node > 替换为要撤离实例的 Compute 节点的名称。
    • <disable_host_reason > 替换为您为什么禁用 Compute 节点的详情。
  6. 撤离实例:

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

      $ openstack hypervisor list
    • 可选:将 <password > 替换为访问 evacuated 实例所需的管理密码。如果没有指定密码,则生成随机密码并在撤离完成后输出。

      注意

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

    • <instance > 替换为要撤离的实例的名称或 ID。
    注意

    如果撤离失败,且实例的任务状态不是"NONE",请联系红帽支持以帮助恢复实例。

  7. 可选:在恢复时启用 Compute 节点:

    $ openstack compute service set \
     <node> nova-compute --enable
    • <node > 替换为要启用的 Compute 节点的名称。
  8. 退出 OpenStackClient pod:

    $ exit
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部