3.4. undercloud 和 overcloud 启动顺序
要启动 Red Hat OpenStack Platform 环境,您必须按照以下顺序启动 undercloud 和 overcloud:
- 启动 undercloud。
- 启动 Controller 节点。
- 启动 Ceph Storage 节点。
- 启动 Compute 节点。
- 启动 overcloud Compute 节点上的实例。
3.4.1. 启动 undercloud
作为启动 Red Hat OpenStack Platform 环境的一部分,启动 undercloud 节点,登录到 undercloud,再检查 undercloud 服务。
先决条件
- undercloud 已关闭。
流程
- 打开 undercloud 并等待 undercloud 引导。
验证
-
以
stack
用户身份登录 undercloud 主机。 查找
stackrc
undercloud 凭证文件:$ source ~/stackrc
检查 undercloud 上的服务:
$ systemctl list-units 'tripleo_*'
验证名为
tripleo-ansible-inventory.yaml
的静态清单文件:$ validation run --group pre-introspection -i <inventory_file>
将
<inventory_file
> 替换为 Ansible 清单文件的名称和位置,如~/tripleo-deploy/undercloud/tripleo-ansible-inventory.yaml
。注意当您运行验证时,输出中的
Reasons
列仅限于 79 个字符。要查看验证结果已满,请查看验证日志文件。
检查所有服务和容器是否活跃且健康:
$ validation run --validation service-status --limit undercloud -i <inventory_file>
其他资源
3.4.2. 启动 Controller 节点
作为启动 Red Hat OpenStack Platform 环境的一部分,打开每个 Controller 节点电源,并检查节点上的非 Pacemaker 服务。
先决条件
- Controller 节点已关机。
流程
- 打开每个 Controller 节点电源。
验证
-
以
root
用户身份登录每个 Controller 节点。 检查 Controller 节点上的服务:
$ systemctl -t service
只有基于非 Pacemaker 的服务正在运行。
等待 Pacemaker 服务启动并检查服务是否已启动:
$ pcs status
注意如果您的环境使用 Instance HA,Pacemaker 资源不会在您启动 Compute 节点或使用
pcs stonith confirm <compute_node> 命令执行手动
unfence 操作前启动。您必须在使用 Instance HA 的每个 Compute 节点上运行此命令。
3.4.3. 启动 Ceph Storage 节点
作为启动 Red Hat OpenStack Platform 环境的一部分,打开 Ceph MON 和 Ceph Storage 节点电源,并启用 Ceph Storage 服务。
先决条件
- 已关闭电源的 Ceph Storage 集群
- Ceph MON 服务在已关闭电源的单机 Ceph MON 节点或已打开电源的 Controller 节点上启用
步骤
- 如果您的环境有单机 Ceph MON 节点,请打开每个 Ceph MON 节点电源。
- 打开每个 Ceph Storage 节点电源。
-
以
root
用户身份登录运行 Ceph MON 服务的节点,如 Controller 节点或单机 Ceph MON 节点。 检查集群节点的状态:在以下示例中,
podman
命令在 Controller 节点上的 Ceph MON 容器中运行状态检查:# sudo podman exec -it ceph-mon-controller-0 ceph status
确保每个节点都已打开电源并连接。
为集群取消设置
noout
、norecover
、norebalance
、nobackfill
、nodown
和pause
标志。在以下示例中,podman
命令通过 Controller 节点上的 Ceph MON 容器取消设置这些标志:# sudo podman exec -it ceph-mon-controller-0 ceph osd unset noout # sudo podman exec -it ceph-mon-controller-0 ceph osd unset norecover # sudo podman exec -it ceph-mon-controller-0 ceph osd unset norebalance # sudo podman exec -it ceph-mon-controller-0 ceph osd unset nobackfill # sudo podman exec -it ceph-mon-controller-0 ceph osd unset nodown # sudo podman exec -it ceph-mon-controller-0 ceph osd unset pause
验证
检查集群的运行状况。在以下示例中,
podman
命令在 Controller 节点上的 Ceph MON 容器中运行状态检查:# sudo podman exec -it ceph-mon-controller-0 ceph status
确保状态为
HEALTH_OK
。
3.4.4. 启动 Compute 节点
作为启动 Red Hat OpenStack Platform 环境的一部分,打开每个 Compute 节点电源并检查节点上的服务。
先决条件
- 关闭 Compute 节点电源
步骤
- 打开每个 Compute 节点电源。
验证
-
以
root
用户身份登录每个 Compute。 检查 Compute 节点上的服务:
$ systemctl -t service
3.4.5. 启动 overcloud Compute 节点上的实例 HA 服务
作为启动 Red Hat OpenStack Platform 环境的一部分,启动 Compute 节点上的所有实例 HA 服务。
前提条件
- 带有运行 Compute 节点的 overcloud
- Compute 节点上启用了实例 HA
流程
-
以
root
用户身份登录运行 Pacemaker 的 overcloud 节点。 为 Compute 节点启用 STONITH 设备:
识别 Compute 节点 STONITH 设备:
# pcs stonith status
清除 Compute 节点的 STONITH 错误:
# pcs stonith confirm <COMPUTE_NODE>
这个命令将节点返回到干净的 STONITH 状态。
启用 Compute 节点 STONITH 设备:
# pcs stonith enable <STONITH_DEVICE>
- 使用 STONITH 为每个 Compute 节点执行这些步骤。
在每个 Compute 节点上启用 Pacemaker 远程资源:
识别 Compute 节点上的 Pacemaker 远程资源:
# pcs resource status
这些资源使用
ocf::pacemaker:remote
代理,通常以 Compute 节点主机格式命名,如overcloud-novacomputeiha-0
。启用每个 Pacemaker 远程资源。以下示例演示了如何为
overcloud-novacomputeiha-0
启用资源:# pcs resource enable overcloud-novacomputeiha-0
- 使用 Pacemaker 远程管理为每个 Compute 节点执行这些步骤。
等待 Pacemaker 服务启动并检查服务是否已启动:
# pcs status
如果任何 Pacemaker 资源在引导过程中无法启动,请重置状态以及资源的失败计数:
# pcs resource cleanup
注意有些服务可能需要更多时间才能启动,如
fence_compute
和fence_kdump
。
3.4.6. 启动 overcloud Compute 节点上的实例
作为启动 Red Hat OpenStack Platform 环境的一部分,启动 Compute 节点上的实例。
先决条件
- 具有活跃节点的活跃 overcloud
步骤
-
以
stack
用户身份登录 undercloud。 提供 overcloud 的凭据文件:
$ source ~/overcloudrc
查看 overcloud 中运行的实例:
$ openstack server list --all-projects
启动 overcloud 中的实例:
$ openstack server start <INSTANCE>