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