21.2. 升级基于 Pacemaker 的节点
将托管 Pacemaker 服务的所有节点升级到 OpenStack Platform 16.1。以下角色包括基于 Pacemaker 的服务:
- Controller
- 数据库(MySQL、Galera)
- 消息传递(RabbitMQ)
- 负载均衡(HAProxy)
包含以下服务的任何其他角色:
-
OS::TripleO::Services::Pacemaker
-
OS::TripleO::Services::PacemakerRemote
-
此过程涉及升级从 bootstrap 节点开始的每个节点。
如果您不使用默认的堆栈名称(overcloud
),使用 --stack STACK NAME选项设置堆栈名称
,将 STACK NAME
替换为堆栈的名称。
流程
Source
stackrc
文件:source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过在 undercloud 节点上运行以下命令来识别 bootstrap 节点:
tripleo-ansible-inventory --list --stack overcloud |jq .overcloud_Controller.hosts[0]
$ tripleo-ansible-inventory --list --stack overcloud |jq .overcloud_Controller.hosts[0]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 升级 bootstrap 节点:
如果节点包含 Ceph Storage 容器,请使用
ceph_systemd
标签运行外部升级命令:openstack overcloud external-upgrade run --stack <stack_name> --tags ceph_systemd -e ceph_ansible_limit=overcloud-controller-0
$ openstack overcloud external-upgrade run --stack <stack_name> --tags ceph_systemd -e ceph_ansible_limit=overcloud-controller-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<stack_name
> 替换为您的堆栈的名称。这个命令执行以下功能:
- 更改控制 Ceph Storage 容器的 systemd 单元以使用 Podman 管理。
-
使用
ceph_ansible_limit
变量将操作限制为所选节点。
此步骤是为
leapp
升级准备 Ceph Storage 服务的主要措施。使用
system_upgrade
标签运行 upgrade 命令:openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-controller-0
$ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-controller-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个命令执行以下操作:
- 对操作系统执行 Leapp 升级。
- 作为 Leapp 升级的一部分执行重启。
使用
system_upgrade_transfer_data
标签运行外部升级命令:openstack overcloud external-upgrade run --stack STACK NAME --tags system_upgrade_transfer_data
$ openstack overcloud external-upgrade run --stack STACK NAME --tags system_upgrade_transfer_data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令将现有节点中的数据库的最新版本复制到 bootstrap 节点。
使用
nova_hybrid_state
标签运行 upgrade 命令,仅运行upgrade_steps_playbook.yaml
playbook:openstack overcloud upgrade run --stack STACK NAME --playbook upgrade_steps_playbook.yaml --tags nova_hybrid_state --limit all
$ openstack overcloud upgrade run --stack STACK NAME --playbook upgrade_steps_playbook.yaml --tags nova_hybrid_state --limit all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个命令会在 Compute 节点上启动临时 16.1 容器,以便在稍后的步骤升级 Compute 节点时协助工作负载迁移。
运行没有标签的 upgrade 命令:
openstack overcloud upgrade run --stack STACK NAME --limit overcloud-controller-0
$ openstack overcloud upgrade run --stack STACK NAME --limit overcloud-controller-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令执行 Red Hat OpenStack Platform 升级。
升级每个基于 Pacemaker 的节点:
如果节点包含 Ceph Storage 容器,请使用
ceph_systemd
标签运行外部升级命令:openstack overcloud external-upgrade run --stack STACK NAME --tags ceph_systemd -e ceph_ansible_limit=overcloud-database-0
$ openstack overcloud external-upgrade run --stack STACK NAME --tags ceph_systemd -e ceph_ansible_limit=overcloud-database-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个命令执行以下功能:
- 更改控制 Ceph Storage 容器的 systemd 单元以使用 Podman 管理。
-
使用
ceph_ansible_limit
变量将操作限制为所选节点。
此步骤是为
leapp
升级准备 Ceph Storage 服务的主要措施。在下一个节点上运行带有
system_upgrade
标签的 upgrade 命令:openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-database-0
$ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-database-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个命令执行以下操作:
- 对操作系统执行 Leapp 升级。
- 作为 Leapp 升级的一部分执行重启。
运行没有标签的 upgrade 命令:
openstack overcloud upgrade run --stack STACK NAME --limit overcloud-controller-0,overcloud-database-0
$ openstack overcloud upgrade run --stack STACK NAME --limit overcloud-controller-0,overcloud-database-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令执行 Red Hat OpenStack Platform 升级。除了此节点外,在
--limit
选项中包含任何之前升级的节点。
- 在每个基于 Pacemaker 的节点上重复升级过程,直到您升级了所有基于 Pacemaker 的节点。