3.2. 在断开连接的环境中升级 Red Hat Ceph Storage 集群
您可以使用 --image 标签在断开连接的环境中升级存储集群。
您可以使用 ceph orch upgrade 命令升级 Red Hat Ceph Storage 5 集群。
Red Hat Enterprise Linux 9 及更新的版本不支持 cephadm-ansible playbook。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群 5。
- Red Hat Enterprise Linux 8.4 EUS 或更高版本。
- 所有节点的根级别访问权限。
-
具有 sudo 的 Ansible 用户,对存储集群中所有节点的
ssh访问和免密码访问。 - 存储集群中至少有两个 Ceph 管理器节点:一个活跃节点和一个备用节点。
- 将节点注册到 CDN 并附加订阅。
- 在断开连接的环境中检查客户容器镜像,并根据需要更改配置。如需了解更多详细信息,请参阅 Red Hat Ceph Storage 安装指南中的为断开连接的安装更改自定义容器镜像的配置。
默认情况下,监控堆栈组件根据主 Ceph 镜像进行部署。对于存储集群的断开连接环境,您必须使用最新的监控堆栈组件镜像。
| 监控堆栈组件 | Red Hat Ceph Storage 版本 | 镜像详情 |
|---|---|---|
| Prometheus | Red Hat Ceph Storage 5.0 和 5.1 | registry.redhat.io/openshift4/ose-prometheus:v4.6 |
| Red Hat Ceph Storage 5.2 开始 | registry.redhat.io/openshift4/ose-prometheus:v4.10 | |
| Grafana | 所有 Red Hat Ceph Storage 5 版本 | registry.redhat.io/rhceph/rhceph-5-dashboard-rhel8:latest |
| Node-exporter | Red Hat Ceph Storage 5.0 | registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.5 |
| Red Hat Ceph Storage 5.0z1 and 5.1 | registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 | |
| Red Hat Ceph Storage 5.2 开始 | registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.10 | |
| AlertManager | Red Hat Ceph Storage 5.0 | registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.5 |
| Red Hat Ceph Storage 5.0z1 and 5.1 | registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6 | |
| Red Hat Ceph Storage 5.2 开始 | registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.10 | |
| HAProxy | Red Hat Ceph Storage 5.1 以后 | registry.redhat.io/rhceph/rhceph-haproxy-rhel8:latest |
| Keepalived | Red Hat Ceph Storage 5.1 以后 | registry.redhat.io/rhceph/keepalived-rhel8:latest |
| SNMP Gateway | Red Hat Ceph Storage 5.0 以后 | registry.redhat.io/rhceph/snmp-notifier-rhel8:latest |
流程
更新
cephadm和cephadm-ansible软件包。示例
dnf update cephadm dnf update cephadm-ansible
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行 preflight playbook,将
upgrade_ceph_packages参数设置为true,在存储集群中 bootstrapped 主机上将ceph_origin参数设置为custom:语法
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"
[ceph-admin@admin ~]$ ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此软件包升级所有节点上的
cephadm。登录
cephadmshell:示例
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确定所有主机都在线,并且存储集群处于健康状态:
示例
[ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 设置 OSD
noout、noscrub、和nodeep-scrub标记,以防止 OSD 在升级过程中被标记为 out,并避免对集群造成不必要的负载:示例
[ceph: root@host01 /]# ceph osd set noout [ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrub
[ceph: root@host01 /]# ceph osd set noout [ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查服务版本和可用目标容器:
语法
ceph orch upgrade check IMAGE_NAME
ceph orch upgrade check IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
[ceph: root@host01 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8Copy to Clipboard Copied! Toggle word wrap Toggle overflow 升级存储集群:
语法
ceph orch upgrade start IMAGE_NAME
ceph orch upgrade start IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch upgrade start LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
[ceph: root@host01 /]# ceph orch upgrade start LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在升级过程中,
ceph status输出中会出现一个进度条。示例
[ceph: root@host01 /]# ceph status [...] progress: Upgrade to 16.2.0-115.el8cp (1s) [............................][ceph: root@host01 /]# ceph status [...] progress: Upgrade to 16.2.0-115.el8cp (1s) [............................]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Ceph 集群的新 IMAGE_ID 和 VERSION :
示例
[ceph: root@host01 /]# ceph version [ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
[ceph: root@host01 /]# ceph version [ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch psCopy to Clipboard Copied! Toggle word wrap Toggle overflow 升级完成后,取消设置
noout、noscrub和nodeep-scrub标记:示例
[ceph: root@host01 /]# ceph osd unset noout [ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrub
[ceph: root@host01 /]# ceph osd unset noout [ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow