5.2. 升级到 Red Hat Ceph Storage 5
将 Red Hat Ceph Storage 节点从版本 4 升级到 5 版本。
流程
-
以
stack
用户身份登录 undercloud 主机。 查找
stackrc
undercloud 凭证文件:$ source ~/stackrc
使用
ceph
标签运行 Red Hat Ceph Storage 外部升级过程:$ openstack overcloud external-upgrade run \ --skip-tags "ceph_health,opendev-validation, ceph_ansible_remote_tmp" \ --stack <stack> \ --tags ceph,facts 2>&1
-
将
<stack>
替换为您的堆栈的名称。
-
将
创建 ceph-admin 用户并分发适当的密钥环:
ANSIBLE_LOG_PATH=/home/stack/cephadm_enable_user_key.log \ ANSIBLE_HOST_KEY_CHECKING=false \ ansible-playbook -i /home/stack/overcloud-deploy/<stack>/config-download/<stack>/tripleo-ansible-inventory.yaml \ -b -e ansible_python_interpreter=/usr/libexec/platform-python /usr/share/ansible/tripleo-playbooks/ceph-admin-user-playbook.yml \ -e tripleo_admin_user=ceph-admin \ -e distribute_private_key=true \ --limit ceph_osd,ceph_mon,Undercloud
更新 Red Hat Ceph Storage 节点上的软件包:
$ openstack overcloud upgrade run \ --stack <stack> \ --skip-tags ceph_health,opendev-validation,ceph_ansible_remote_tmp \ --tags setup_packages --limit ceph_osd,ceph_mon,Undercloud \ --playbook /home/stack/overcloud-deploy/<stack>/config-download/<stack>/upgrade_steps_playbook.yaml 2>&1
注意Ceph 监控服务(CephMon)在 Controller 节点上运行。此命令包含
ceph_mon
标签,它也会更新 Controller 节点上的软件包。配置 Red Hat Ceph Storage 节点以使用
cephadm
:$ openstack overcloud external-upgrade run \ --skip-tags ceph_health,opendev-validation,ceph_ansible_remote_tmp \ --stack <stack> \ --tags cephadm_adopt 2>&1
修改
overcloud_upgrade_prepare.sh
文件,将ceph-ansible
文件替换为cephadm
heat 环境文件。#!/bin/bash openstack overcloud upgrade prepare --yes \ --timeout 460 \ --templates /usr/share/openstack-tripleo-heat-templates \ --ntp-server 192.168.24.1 \ --stack <stack> \ -r /home/stack/roles_data.yaml \ -e /home/stack/templates/internal.yaml \ … -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm-rbd-only.yaml \ -e ~/containers-prepare-parameter.yaml
注意本例使用
environments/cephadm/cephadm-rbd-only.yaml
文件,因为没有部署 RGW。如果您计划部署 RGW,请在升级 RHOSP 环境后使用environments/cephadm/cephadm.yaml
,然后运行堆栈更新。如果您之前在运行 overcloud 升级准备时添加了
overcloud_upgrade_prepare.sh
文件,请修改 overcloud_upgrade_prepare.sh 文件,以删除以下环境文件:-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/manila-cephfsganesha-config.yaml
- 保存该文件。
运行 upgrade preparation 命令:
$ source stackrc $ chmod 755 /home/stack/overcloud_upgrade_prepare.sh sh /home/stack/overcloud_upgrade_prepare.sh
Red Hat Ceph Storage 集群现在升级到版本 5。这会产生以下影响:
-
您不再使用
ceph-ansible
管理 Red Hat Ceph Storage。相反,Ceph 编排器管理 Red Hat Ceph Storage 集群。有关 Ceph 编排器的更多信息,请参阅 Ceph 操作指南。 - 在大多数情况下,您不再需要执行堆栈更新来更改 Red Hat Ceph Storage 集群。相反,您可以直接在集群上运行第 2 天的 Red Hat Ceph Storage 操作,如 Ceph 操作指南中所述。您还可以扩展 Red Hat Ceph Storage 集群节点,如部署 Red Hat Ceph Storage 和 Red Hat OpenStack Platform 中的扩展 Ceph Storage 集群中所述。
- 检查 Red Hat Ceph Storage 集群的健康状态。如需有关监控集群健康状况的更多信息,请参阅部署 Red Hat Ceph Storage 和 Red Hat OpenStack Platform 中的监控 Red Hat Ceph Storage 节点。
不要在 openstack deployment 命令(如
openstack overcloud deploy
)中包含环境文件,如environments/ceph-ansible/ceph-ansible.yaml
。如果您的部署包含ceph-ansible
环境文件,请将它们替换为以下选项之一:Red Hat Ceph Storage 部署 原始 ceph-ansible
文件Cephadm
文件替换仅限 Ceph RADOS 块设备(RBD)
任何
ceph-ansible
环境文件environments/cephadm/cephadm-rbd-only.yaml
RBD 和 Ceph 对象网关(RGW)
任何
ceph-ansible
环境文件environments/cephadm/cephadm.yaml
Ceph 仪表板
environments/ceph-ansible/ceph-dashboard.yaml
environments/cephadm/
中的相应文件Ceph MDS
environments/ceph-ansible/ceph-mds.yaml
environments/cephadm/
中的相应文件
-
您不再使用