第 3 章 重新引导 Compute 节点
在完成次要更新后,您可以随时重新引导 Compute 节点。您首先检查哪些更新的节点需要重新引导,然后在 OpenStackDatPlaneDeployment
自定义资源(CR)中指定它们来启动重启。在重新引导后,您的环境仍然使用旧的内核和 Open vSwitch (OVS)进行数据平面开发套件(DPDK)实施。
为确保 OpenShift (RHOSO)环境中的 Red Hat OpenStack Services 中实例的停机时间最少,您应该将实例从需要重新引导的 Compute 节点迁移。
如果您在一组 Compute 节点上启用了内核实时补丁(kpatch
),则不需要重启这些节点。有关启用 kpatch
的更多信息,请参阅在 Compute 节点上启用内核实时补丁。
先决条件
您已决定在开始重启前是否将实例迁移到另一个 Compute 节点。
注意- 如果您有多 RHEL 环境,并且您想要将虚拟机从运行 RHEL 9.4 的 Compute 节点迁移到运行 RHEL 9.2 的 Compute 节点,则只支持冷迁移。
-
如果无法迁移实例,您可以设置
shutdown_timeout
配置选项,以在 Compute 节点重启后控制实例的状态。此选项决定了等待实例执行干净关闭的秒数。默认值为60
。
流程
确认哪些更新的节点需要重新引导:
oc logs jobs/reboot-os-<deployment_name>-<nodeSet_name>
$ oc logs jobs/reboot-os-<deployment_name>-<nodeSet_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<deployment_name
> 替换为包含 Compute 节点的部署名称。 将
<nodeSet_name
> 替换为您需要检查的节点集的名称。如果需要重启,命令会显示以下输出:
Reboot 是必需的,但没有启动。Edpm_reboot_strategy 设置为 never,或者已部署了机器。必须计划重新启动。要启动 reboot,将 edpm_reboot_strategy 设置为 force
。
-
将
打开与
OpenStackClient
pod 的远程 shell 连接:oc rsh -n openstack openstackclient
$ oc rsh -n openstack openstackclient
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检索 Compute 节点列表,以识别需要重启的节点的主机名:
openstack compute service list
$ openstack compute service list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在需要重新引导的 Compute 节点上禁用 Compute 服务:
openstack compute service set <hostname> nova-compute --disable
$ openstack compute service set <hostname> nova-compute --disable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 &
lt;hostname
> 替换为您要禁用该服务的 Compute 节点的主机名。
-
将 &
- 如果 Red Hat Ceph Storage 也托管在 Compute 节点上,请在 Red Hat Ceph Storage Administration Guide 中的使用 Ceph Orchestrator 的步骤执行 1 到 14 步。不要像管理指南中指示来重新引导集群。稍后,集群会在此流程中重启。
列出 Compute 节点上的所有实例:
openstack server list --host <hostname> --all-projects
$ openstack server list --host <hostname> --all-projects
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果您决定将实例迁移到另一个 Compute 节点,例如,如果您计划重新引导包含运行工作负载的节点,请运行以下命令:
openstack server migrate --live-migration --host <target_host> --wait <instance_id>
$ openstack server migrate --live-migration --host <target_host> --wait <instance_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<instance_id&
gt; 替换为您的实例 ID。 将
<target_host
> 替换为您要将实例迁移到的主机。- 稍等片刻,直至迁移完成。
确认迁移成功完成:
openstack server list --host <hostname> --all-projects
$ openstack server list --host <hostname> --all-projects
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 继续迁移实例,直到 Compute 节点上没有剩余的实例。
-
将
退出
OpenStackClient
pod:exit
$ exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
OpenStackDataPlaneDeployment
CR 以重新引导节点:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证
openstack-edpm-ipam-reboot
部署已完成:oc get openstackdataplanedeployment
$ oc get openstackdataplanedeployment NAME STATUS MESSAGE openstack-edpm-deployment-ipam-reboot True Setup complete
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果部署失败,请参阅在 OpenShift 上部署 Red Hat OpenStack Services 指南中的对 data plane 创建和部署进行故障排除。
重新启用 Compute 节点:
oc rsh openstackclient -n openstack openstack compute service set <hostname> nova-compute --enable
$ oc rsh openstackclient -n openstack $ openstack compute service set <hostname> nova-compute --enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果 Red Hat Ceph Storage 也托管在 Compute 节点上,请在 Red Hat Ceph Storage Administration Guide 中的使用 Ceph Orchestrator 的步骤执行 1 到 7 步。
确认是否已启用 Compute 节点:
openstack compute service list
$ openstack compute service list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow