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 镜像进行部署。对于存储集群的断开连接环境,您必须使用最新的监控堆栈组件镜像。

表 3.1. 监控堆栈的自定义镜像详情
监控堆栈组件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

流程

  1. 更新 cephadmcephadm-ansible 软件包。

    示例

    [root@admin ~]# dnf update cephadm
    [root@admin ~]# dnf update cephadm-ansible

  2. 运行 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

  3. 登录 cephadm shell:

    示例

    [root@host01 ~]# cephadm shell

  4. 确定所有主机都在线,并且存储集群处于健康状态:

    示例

    [ceph: root@host01 /]# ceph -s

  5. 设置 OSD nooutnoscrub、和 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

  6. 检查服务版本和可用目标容器:

    语法

    ceph orch upgrade check IMAGE_NAME

    示例

    [ceph: root@host01 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8

  7. 升级存储集群:

    语法

    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)
          [............................]

  8. 验证 Ceph 集群的新 IMAGE_IDVERSION

    示例

    [ceph: root@host01 /]# ceph version
    [ceph: root@host01 /]# ceph versions
    [ceph: root@host01 /]# ceph orch ps

  9. 升级完成后,取消设置 nooutnoscrubnodeep-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 logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.