1.3. 在断开连接的环境中升级 Red Hat Ceph Storage 集群
您可以使用 --image
标签在断开连接的环境中升级存储集群。
您可以使用 ceph orch upgrade
命令升级 Red Hat Ceph Storage 集群。
先决条件
- 运行 Red Hat Ceph Storage 集群的最新版本。
- 所有节点的根级别访问权限。
-
具有 sudo 的 Ansible 用户,对存储集群中所有节点的
ssh
访问和免密码访问。 - 存储集群中至少有两个 Ceph 管理器节点:一个活跃节点和一个备用节点。
- 将节点注册到 CDN 并附加订阅。
- 在断开连接的环境中检查客户容器镜像,并根据需要更改配置。如需了解更多详细信息,请参阅 Red Hat Ceph Storage 安装指南中的 为断开连接的安装更改自定义容器镜像的配置。
默认情况下,监控堆栈组件根据主 Ceph 镜像进行部署。对于存储集群的断开连接环境,您必须使用最新的监控堆栈组件镜像。
监控堆栈组件 | Red Hat Ceph Storage 7.0 的镜像详情 | Red Hat Ceph Storage 7.1 的镜像详情 |
---|---|---|
Prometheus | registry.redhat.io/openshift4/ose-prometheus:v4.12 | registry.redhat.io/openshift4/ose-prometheus:v4.15 |
Grafana | registry.redhat.io/rhceph/grafana-rhel9:latest | registry.redhat.io/rhceph/grafana-rhel9:latest |
Node-exporter | registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.12 | registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.15 |
AlertManager | registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.12 | registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.15 |
HAProxy | registry.redhat.io/rhceph/rhceph-haproxy-rhel9:latest | registry.redhat.io/rhceph/rhceph-haproxy-rhel9:latest |
Keepalived | registry.redhat.io/rhceph/keepalived-rhel9:latest | registry.redhat.io/rhceph/keepalived-rhel9:latest |
SNMP Gateway | registry.redhat.io/rhceph/snmp-notifier-rhel9:latest | registry.redhat.io/rhceph/snmp-notifier-rhel9:latest |
Loki | registry.redhat.io/openshift-logging/logging-loki-rhel8:v2.6.1 | registry.redhat.io/openshift-logging/logging-loki-rhel8:v2.6.1 |
Promtail | registry.redhat.io/rhceph/rhceph-promtail-rhel9:v2.4.0 | registry.redhat.io/rhceph/rhceph-promtail-rhel9:v2.4.0 |
在 Red Hat Ecosystem Catalog 上查找最新可用支持的容器镜像。
流程
在 Ansible 管理节点上启用 Ceph Ansible 存储库:
Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-7-tools-for-rhel-9-x86_64-rpms
更新
cephadm
和cephadm-ansible
软件包。示例
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansible
进入 /usr/share/cephadm-ansible/ 目录:
示例
[root@admin ~]# cd /usr/share/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@node0 ~]# cephadm shell
确定所有主机都在线,并且存储集群处于健康状态:
示例
[ceph: root@node0 /]# 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@node0 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-7-rhel9
升级存储集群:
语法
ceph orch upgrade start IMAGE_NAME
示例
[ceph: root@node0 /]# ceph orch upgrade start LOCAL_NODE_FQDN:5000/rhceph/rhceph-7-rhel9
在升级过程中,
ceph status
输出中会出现一个进度条。示例
[ceph: root@node0 /]# ceph status [...] progress: Upgrade to 18.2.0-128.el9cp (1s) [............................]
验证 Ceph 集群的新 IMAGE_ID 和 VERSION :
示例
[ceph: root@node0 /]# ceph version [ceph: root@node0 /]# ceph versions [ceph: root@node0 /]# 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 部分。