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
软件包。示例
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansible
运行 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"
示例
[ceph-admin@admin ~]$ ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"
此软件包升级所有节点上的
cephadm
。登录
cephadm
shell:示例
[root@host01 ~]# cephadm shell
确定所有主机都在线,并且存储集群处于健康状态:
示例
[ceph: root@host01 /]# ceph -s
设置 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 orch upgrade check IMAGE_NAME
示例
[ceph: root@host01 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
升级存储集群:
语法
ceph orch upgrade start IMAGE_NAME
示例
[ceph: root@host01 /]# ceph orch upgrade start LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
在升级过程中,
ceph status
输出中会出现一个进度条。示例
[ceph: root@host01 /]# ceph status [...] progress: Upgrade to 16.2.0-115.el8cp (1s) [............................]
验证 Ceph 集群的新 IMAGE_ID 和 VERSION :
示例
[ceph: root@host01 /]# ceph version [ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
升级完成后,取消设置
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
其它资源
- 请参阅 Red Hat Ceph Storage 安装指南中的将 Red Hat Ceph Storage 节点注册到 CDN 并附加订阅部分。
- 请参阅 Red Hat Ceph Storage 安装指南中的为断开连接的安装配置私有 registry 一节。