第 11 章 重新引导节点
某些情况要求在 undercloud 和 overcloud 中重新引导节点。以下流程介绍了重新引导不同节点类型的方法。请注意以下几点:
- 如果重新引导一个角色中的所有节点,建议单独重新引导各节点。这有助于在重新引导期间保持该角色的服务。
- 如果在您的 OpenStack Platform 环境中重新引导所有节点,请按照以下列表给出的顺序进行重新引导:
建议的节点重新引导顺序
- 重新引导 director
- 重新引导 Controller 节点
- 重新引导 Ceph Storage 节点
- 重新引导 Compute 节点
- 重新引导 Object Storage 节点
11.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
11.2. 重新引导 Controller 节点
要重新引导 Controller 节点,请遵循此流程:
选择要重新引导的节点。登录到该节点,并重新引导:
[heat-admin@overcloud-controller-0 ~]$ sudo reboot
集群中剩余的 Controller 节点在重新引导期间保持高可用性服务。
- 稍等片刻,直到节点启动。
登录到节点,并检查集群的状态:
[heat-admin@overcloud-controller-0 ~]$ sudo pcs status
该节点重新加入到集群中。
注意重新引导之后,如果有服务失败,请运行 sudo
pcs resource cleanup清除错误,并将各资源的状态设置为Started。如果错误继续存在,请联系红帽获取指导和帮助。确认 Controller 节点上的所有容器都已激活:
[heat-admin@overcloud-controller-0 ~]$ sudo docker ps
- 注销节点,选择下一个要重新引导的 Controller 节点,然后重复此流程,直至您已重新引导所有 Controller 节点。
11.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
11.4. 重新引导 Compute 节点
单独重新引导各 Compute 节点,确保您的 OpenStack Platform 环境中实例出现停机的时间为零。此操作涉及以下工作流:
- 选择要重新引导的 Compute 节点
- 将其实例迁移到另一个 Compute 节点中
- 重新引导空白 Compute 节点
列出所有的 Compute 节点及其 UUID:
$ source ~/stackrc (undercloud) $ openstack server list --name compute
选择要重新引导的 Compute 节点,然后先按照以下流程迁移其实例:
从 undercloud 中选择要重新引导的 Compute 节点,然后将其禁用:
$ source ~/overcloudrc (overcloud) $ openstack compute service list (overcloud) $ openstack compute service set [hostname] nova-compute --disable
列出 Compute 节点上的所有实例:
(overcloud) $ openstack server list --host [hostname] --all-projects
使用以下命令之一迁移实例:
将实例迁移至您选择的特定主机:
(overcloud) $ openstack server migrate [instance-id] --live [target-host]--wait
让
nova-scheduler自动选择目标主机:(overcloud) $ nova live-migration [instance-id]
一次性实时迁移所有实例:
$ nova host-evacuate-live [hostname]
注意nova命令可能会引发一些弃用警告,这些警告信息可以被安全忽略。
- 稍等片刻,直至迁移完成。
确认迁移成功完成:
(overcloud) $ openstack server list --host [hostname] --all-projects
- 继续迁移实例,直到所选 Compute 节点中不剩任何实例。
有关配置和迁移实例的完整说明,请参阅???。
按照以下流程,重新引导 Compute 节点
登录到 Compute 节点并重新引导该节点:
[heat-admin@overcloud-compute-0 ~]$ sudo reboot
- 稍等片刻,直到节点启动。
重新启用 Compute 节点:
$ source ~/overcloudrc (overcloud) $ openstack compute service set [hostname] nova-compute --enable
确认是否已启用 Compute 节点:
(overcloud) $ openstack compute service list
11.5. 重新引导 Object Storage 节点
要重新引导 Object Storage 节点,请遵循此流程:
选择要重新引导的 Object Storage 节点。登录到节点,然后重新引导:
[heat-admin@overcloud-objectstorage-0 ~]$ sudo reboot
- 稍等片刻,直到节点启动。
登录到节点并检查容器的状态:
[heat-admin@overcloud-objectstorage-0 ~]$ sudo docker ps
- 从节点中登出,然后对下一个 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.