第 10 章 重新引导节点
某些情况要求在 undercloud 和 overcloud 中重新引导节点。以下流程介绍了重新引导不同节点类型的方法。请注意以下几点:
- 如果重新引导一个角色中的所有节点,建议单独重新引导各节点。这有助于在重新引导期间保持该角色的服务。
- 如果在您的 OpenStack Platform 环境中重新引导所有节点,请按照以下列表给出的顺序进行重新引导:
建议的节点重新引导顺序
- 重新引导 director
- 重新引导 Controller 节点
- 重新引导 Ceph Storage 节点
- 重新引导 Compute 节点
- 重新引导 Object Storage 节点
10.1. 重新引导 Director
要重新引导 director 节点,请遵循此流程:
重新引导节点:
$ sudo reboot
- 稍等片刻,直到节点启动。
节点启动时,检查所有服务的状态:
$ sudo systemctl list-units "openstack*" "neutron*" "openvswitch*"
重新引导之后,openstack-nova-compute 可能大约需要 10 分钟的时间才能生效。
确认 overcloud 及其节点是否存在:
$ source ~/stackrc $ openstack server list $ openstack baremetal node list $ openstack stack list
10.2. 重新引导 Controller 节点
要重新引导 Controller 节点,请遵循此流程:
选择要重新引导的节点。登录到该节点,并重新引导:
$ sudo reboot
集群中剩余的 Controller 节点在重新引导期间保持高可用性服务。
- 稍等片刻,直到节点启动。
登录到节点,并检查集群的状态:
$ sudo pcs status
该节点重新加入到集群中。
注意重新引导之后,如果有服务失败,请运行 sudo
pcs resource cleanup清除错误,并将各资源的状态设置为Started。如果错误继续存在,请联系红帽获取指导和帮助。确认 Controller 节点上的所有
systemd服务都有效:$ sudo systemctl list-units "openstack*" "neutron*" "openvswitch*"
- 注销节点,选择下一个要重新引导的 Controller 节点,然后重复此流程,直至您已重新引导所有 Controller 节点。
10.3. 重新引导 Ceph Storage 节点
要重新引导 Ceph Storage 节点,请遵循此流程:
登录到 Ceph MON 或 Controller 节点,然后暂时禁用 Ceph 存储集群重新平衡:
$ sudo ceph osd set noout $ sudo ceph osd set norebalance
- 选择要重新引导的首个 Ceph Storage 节点,然后登录该节点。
重新引导节点:
$ sudo reboot
- 稍等片刻,直到节点启动。
登录到节点,并检查集群的状态:
$ sudo ceph -s
确认
pgmap报告的所有pgs的状态是否都正常 (active+clean)。- 注销节点,重新引导下一个节点,并检查其状态。重复此流程,直到您已重新引导所有 Ceph 存储节点。
完成之后,登录 Ceph MON 或 Controller 节点,然后重新启用集群重新平衡:
$ sudo ceph osd unset noout $ sudo ceph osd unset norebalance
执行最后的状态检查,确认集群报告
HEALTH_OK:$ sudo ceph status
10.4. 重新引导 Compute 节点
单独重新引导各 Compute 节点,确保您的 OpenStack Platform 环境中实例出现停机的时间为零。此操作涉及以下工作流:
- 选择要重新引导的 Compute 节点
- 将其实例迁移到另一个 Compute 节点中
- 重新引导空白 Compute 节点
列出所有的 Compute 节点及其 UUID:
$ nova list | grep "compute"
选择要重新引导的 Compute 节点,然后先按照以下流程迁移其实例:
从 undercloud 中选择要重新引导的 Compute 节点,然后将其禁用:
$ source ~/overcloudrc $ openstack compute service list $ openstack compute service set [hostname] nova-compute --disable
列出 Compute 节点上的所有实例:
$ openstack server list --host [hostname] --all-projects
从禁用的主机上迁移每个实例。使用以下任意一个命令:
将实例迁移至您选择的特定主机:
$ openstack server migrate [instance-id] --live [target-host]--wait
让
nova-scheduler自动选择目标主机:$ nova live-migration [instance-id]
注意nova命令可能会引发一些弃用警告,这些警告信息可以被安全忽略。
- 稍等片刻,直至迁移完成。
确认实例已从 Compute 节点被迁移:
$ openstack server list --host [hostname] --all-projects
- 重复此步骤,直至从 Compute 节点迁移完所有实例:
有关配置和迁移实例的完整说明,请参阅???。
按照以下流程,重新引导 Compute 节点
登录到 Compute 节点并重新引导该节点:
$ sudo reboot
- 稍等片刻,直到节点启动。
重新启用 Compute 节点:
$ source ~/overcloudrc $ openstack compute service set [hostname] nova-compute --enable
确认是否已启用 Compute 节点:
$ openstack compute service list
10.5. 重新引导 Object Storage 节点
要重新引导 Object Storage 节点,请遵循此流程:
选择要重新引导的 Object Storage 节点。登录到节点,然后重新引导:
$ sudo reboot
- 稍等片刻,直到节点启动。
登录到节点并检查其状态:
$ sudo systemctl list-units "openstack-swift*"
- 从节点中登出,然后对下一个 Object Storage 节点重复此流程。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.