15.5. 重新引导 Compute 节点
完成以下步骤以重新引导 Compute 节点。为确保 OpenStack Platform 环境中实例的停机时间最少,此步骤还包括有关从您要重新引导的 Compute 节点迁移实例的说明。其中会涉及以下工作流:
- 决定是否在重新引导节点前将实例迁移到另一个 Compute 节点
- 选择并禁用您要重新引导的 Compute 节点,使其不置备新实例
- 将实例迁移到另一个 Compute 节点中
- 重新引导空的 Compute 节点
- 启用空的 Compute 节点
先决条件
重新引导 Compute 节点之前,必须决定是否在节点重新引导过程中将实例迁移到另一个 Compute 节点。
如果出于某种原因,您无法或不想迁移实例,则可设置以下核心模板参数以在 Compute 节点重新引导后控制实例的状态:
NovaResumeGuestsStateOnHostBoot
-
确定重新引导后是否将实例返回 Compute 节点上的相同状态。设为
False
时,实例将保持关闭,必须手动启动。默认值为:False
NovaResumeGuestsShutdownTimeout
-
重启前等待实例被关闭的时间(以秒为单位)。建议不要将此值设置为
0
。默认值为:300
有关 overcloud 参数及其用法的一般信息,请参见 Overcloud 参数。
步骤
-
以
stack
用户的身份登录 undercloud。 列出所有的 Compute 节点及其 UUID:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow source ~/stackrc
$ source ~/stackrc (undercloud) $ openstack server list --name compute
识别您要重新引导的 Compute 节点的 UUID。
从 undercloud 中,选择 Compute 节点。禁用该节点:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow source ~/overcloudrc
$ source ~/overcloudrc (overcloud) $ openstack compute service list (overcloud) $ openstack compute service set [hostname] nova-compute --disable
列出 Compute 节点上的所有实例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (overcloud) $ openstack server list --host [hostname] --all-projects
(overcloud) $ openstack server list --host [hostname] --all-projects
- 如果您决定不迁移实例,则跳至此步骤。
如果您决定将实例迁移至另一个 Compute 节点,则使用以下命令之一:
将实例迁移至其他主机:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (overcloud) $ openstack server migrate [instance-id] --live [target-host]--wait
(overcloud) $ openstack server migrate [instance-id] --live [target-host]--wait
让
nova-scheduler
自动选择目标主机:Copy to Clipboard Copied! Toggle word wrap Toggle overflow (overcloud) $ nova live-migration [instance-id]
(overcloud) $ nova live-migration [instance-id]
一次性实时迁移所有实例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nova host-evacuate-live [hostname]
$ nova host-evacuate-live [hostname]
注意nova
命令可能会引发一些弃用警告,这些警告信息可以被安全忽略。
- 稍等片刻,直至迁移完成。
确认迁移成功完成:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (overcloud) $ openstack server list --host [hostname] --all-projects
(overcloud) $ openstack server list --host [hostname] --all-projects
- 继续迁移实例,直到所选 Compute 节点中不剩任何实例。
登录 Compute 节点。重新引导节点:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo reboot
[heat-admin@overcloud-compute-0 ~]$ sudo reboot
- 稍等片刻,直到节点启动。
重新启用 Compute 节点:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow source ~/overcloudrc
$ source ~/overcloudrc (overcloud) $ openstack compute service set [hostname] nova-compute --enable
确认是否已启用 Compute 节点:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (overcloud) $ openstack compute service list
(overcloud) $ openstack compute service list