15.7. 清空实例
如果要将实例从失败或关闭的 Compute 节点移动到同一环境中的新主机,您可以撤离它。
撤离过程会销毁原始实例,并使用原始镜像、实例名称、UUID、网络地址以及原始实例已分配给它的任何其他资源重建原始实例。
如果实例使用共享存储,则在撤离过程中不会重建实例根磁盘,因为目标 Compute 节点仍可访问磁盘。如果实例不使用共享存储,则在目标 Compute 节点上也重新构建实例根磁盘。
-
您只能在 Compute 节点被隔离时执行撤离,API 会报告 Compute 节点的状态为 "down" 或 "forced-down"。如果 Compute 节点没有报告为"down"或"forced-down",则
evacuate
命令会失败。 - 要执行撤离,您必须是云管理员。
15.7.1. 清空实例 复制链接链接已复制到粘贴板!
要撤离主机上的所有实例,您必须一次撤离它们。
流程
确认实例没有运行:
openstack server list --host <node> --all-projects
(overcloud)$ openstack server list --host <node> --all-projects
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node
> 替换为托管实例的 Compute 节点的名称或 UUID。
-
将
检查实例任务状态:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 &
lt;instance
> 替换为您要撤离的实例的名称或 UUID。
注意如果实例任务状态不是 "NONE",则撤离可能会失败。
-
将 &
确认主机 Compute 节点已被隔离或关闭:
openstack baremetal node show <node>
(overcloud)$ openstack baremetal node show <node>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node
> 替换为托管要撤离的 Compute 节点的名称或 UUID。要执行撤离,Compute 节点必须处于down
或forced-down
状态。
-
将
禁用 Compute 节点:
openstack compute service set \ <node> nova-compute --disable --disable-reason <disable_host_reason>
(overcloud)$ openstack compute service set \ <node> nova-compute --disable --disable-reason <disable_host_reason>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node
> 替换为要从中撤离实例的 Compute 节点的名称。 -
将
<disable_host_reason
> 替换为您禁用 Compute 节点的详情。
-
将
撤离实例:
openstack server evacuate [--host <dest>] \ [--password <password>] <instance>
(overcloud)$ openstack server evacuate [--host <dest>] \ [--password <password>] <instance>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:将 &
lt;dest
> 替换为要撤离实例的 Compute 节点的名称。如果没有指定目标 Compute 节点,则计算调度程序会为您选择一个。您可以使用以下命令查找可能的 Compute 节点:openstack hypervisor list
(overcloud)[stack@director ~]$ openstack hypervisor list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:将
<password
> 替换为访问 evacuated 实例所需的管理密码。如果没有指定密码,则会生成一个随机密码,并在 evacuation 完成后输出。注意只有在临时实例磁盘存储在本地虚拟机监控程序磁盘上时,才会更改密码。如果实例托管在共享存储上,或者实例附加了 Block Storage 卷,且没有显示错误消息来告知您密码没有改变,则不会更改密码。
-
将
<instance
> 替换为要撤离的实例的名称或 ID。
注意如果撤离失败,且实例的任务状态不是"NONE",请联系红帽支持以帮助恢复实例。
可选:在恢复时启用 Compute 节点:
openstack compute service set \ <node> nova-compute --enable
(overcloud)$ openstack compute service set \ <node> nova-compute --enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node
> 替换为要启用的 Compute 节点的名称。
-
将