3.2. undercloud 和 overcloud 关闭顺序
要关闭 Red Hat OpenStack Platform 环境,您必须按照以下顺序关闭 overcloud 和 undercloud:
- 关闭 overcloud Compute 节点上的实例
- 关闭 Compute 节点
- 停止 Controller 节点上的所有高可用性和 OpenStack Platform 服务
- 关闭 Ceph Storage 节点
- 关闭 Controller 节点
- 关闭 undercloud
3.2.1. 关闭 overcloud Compute 节点上的实例
作为关闭 Red Hat OpenStack Platform 环境的一部分,在关闭 Compute 节点之前关闭 Compute 节点上的所有实例。
先决条件
- 具有活跃 Compute 服务的 overcloud
步骤
-
以
stack
用户身份登录 undercloud。 提供 overcloud 的凭据文件:
$ source ~/overcloudrc
查看 overcloud 中运行的实例:
$ openstack server list --all-projects
停止 overcloud 中的每个实例:
$ openstack server stop <INSTANCE>
对每个实例重复这一步,直到停止 overcloud 中的所有实例。
3.2.2. 停止 overcloud Compute 节点上的实例 HA 服务
作为关闭 Red Hat OpenStack Platform 环境的一部分,您必须先关闭 Compute 节点上运行的所有实例 HA 服务,然后停止实例并关闭 Compute 节点。
前提条件
- 具有活跃 Compute 服务的 overcloud
- Compute 节点上启用了实例 HA
流程
-
以
root
用户身份登录运行 Pacemaker 的 overcloud 节点。 在每个 Compute 节点上禁用 Pacemaker 远程资源:
识别 Compute 节点上的 Pacemaker 远程资源:
# pcs resource status
这些资源使用
ocf::pacemaker:remote
代理,通常以 Compute 节点主机格式命名,如overcloud-novacomputeiha-0
。禁用每个 Pacemaker 远程资源。以下示例演示了如何禁用
overcloud-novacomputeiha-0
的资源:# pcs resource disable overcloud-novacomputeiha-0
禁用 Compute 节点 STONITH 设备:
识别 Compute 节点 STONITH 设备:
# pcs stonith status
禁用每个 Compute 节点 STONITH 设备:
# pcs stonith disable <STONITH_DEVICE>
3.2.3. 关闭 Compute 节点
作为关闭 Red Hat OpenStack Platform 环境的一部分,登录并关闭每个 Compute 节点。
先决条件
- 关闭 Compute 节点上的所有实例:
步骤
-
以
root
用户身份登录 Compute 节点。 关闭该节点:
# shutdown -h now
- 对每个 Compute 节点执行这些步骤,直到关闭所有 Compute 节点。
3.2.4. 停止 Controller 节点上的服务
作为关闭 Red Hat OpenStack Platform 环境的一部分,在关闭 Controller 节点前停止节点上的服务。这包括 Pacemaker 和 systemd 服务。
先决条件
- 具有活跃 Pacemaker 服务的 overcloud
步骤
-
以
root
用户身份登录 Controller 节点。 停止 Pacemaker 集群。
# pcs cluster stop --all
此命令停止所有节点上的集群。
等待 Pacemaker 服务停止并检查服务是否已停止。
检查 Pacemaker 状态:
# pcs status
检查 Podman 中没有 Pacemaker 服务在运行:
# podman ps --filter "name=.*-bundle.*"
停止 Red Hat OpenStack Platform 服务:
# systemctl stop 'tripleo_*'
等待服务停止,检查 Podman 中服务不再运行:
# podman ps
3.2.5. 关闭 Ceph Storage 节点
作为关闭 Red Hat OpenStack Platform 环境的一部分,禁用 Ceph Storage 服务,然后登录并关闭每个 Ceph Storage 节点。
先决条件
- 正常运行的 Ceph Storage 集群
- Ceph MON 服务在单机 Ceph MON 节点或 Controller 节点上运行
步骤
-
以
root
用户身份登录运行 Ceph MON 服务的节点,如 Controller 节点或单机 Ceph MON 节点。 检查集群的运行状况。在以下示例中,
podman
命令在 Controller 节点上的 Ceph MON 容器中运行状态检查:# sudo podman exec -it ceph-mon-controller-0 ceph status
确保状态为
HEALTH_OK
。为集群设置
noout
、norecover
、norebalance
、nobackfill
、nodown
和pause
标志。在以下示例中,podman
命令通过 Controller 节点上的 Ceph MON 容器设置这些标志:# sudo podman exec -it ceph-mon-controller-0 ceph osd set noout # sudo podman exec -it ceph-mon-controller-0 ceph osd set norecover # sudo podman exec -it ceph-mon-controller-0 ceph osd set norebalance # sudo podman exec -it ceph-mon-controller-0 ceph osd set nobackfill # sudo podman exec -it ceph-mon-controller-0 ceph osd set nodown # sudo podman exec -it ceph-mon-controller-0 ceph osd set pause
关闭每个 Ceph Storage 节点:
-
以
root
用户身份登录 Ceph Storage 节点。 关闭该节点:
# shutdown -h now
- 对每个 Ceph Storage 节点执行这些步骤,直到关闭所有 Ceph Storage 节点。
-
以
关闭任何单机 Ceph MON 节点:
-
以
root
用户身份登录单机 Ceph MON 节点。 关闭该节点:
# shutdown -h now
- 对每个单机 Ceph MON 节点执行这些步骤,直到关闭所有单机 Ceph MON 节点。
-
以
3.2.6. 关闭 Controller 节点
作为关闭 Red Hat OpenStack Platform 环境的一部分,登录并关闭每个 Controller 节点。
先决条件
- 停止 Pacemaker 集群
- 停止 Controller 节点上的所有 Red Hat OpenStack Platform 服务
步骤
-
以
root
用户身份登录 Controller 节点。 关闭该节点:
# shutdown -h now
- 对每个 Controller 节点执行这些步骤,直到关闭所有 Controller 节点。
3.2.7. 关闭 undercloud
作为关闭 Red Hat OpenStack Platform 环境的一部分,登录到 undercloud 节点并关闭 undercloud。
先决条件
- 正在运行的 undercloud
步骤
-
以
stack
用户身份登录 undercloud。 关闭 undercloud:
$ sudo shutdown -h now