1.2. 升级 Red Hat Ceph Storage 集群


您可以使用 ceph orch upgrade 命令升级 Red Hat Ceph Storage 集群。

先决条件

  • 最新版本的运行 Red Hat Ceph Storage 集群。
  • 所有节点的根级别访问权限。
  • 具有 sudo 的 Ansible 用户,对存储集群中所有节点的 ssh 访问和免密码访问。
  • 存储集群中至少有两个 Ceph 管理器节点:一个活跃节点和一个备用节点。

流程

  1. 注册该节点,并在提示时输入您的红帽客户门户网站凭证:

    语法

    subscription-manager register
    Copy to Clipboard Toggle word wrap

  2. 从 CDN 拉取最新的订阅数据:

    语法

    subscription-manager refresh
    Copy to Clipboard Toggle word wrap

    注意

    红帽客户现在使用简单内容访问(SCA),因此不再需要向系统附加订阅。注册系统并启用所需的软件仓库就足够了。如需更多信息,请参阅红帽客户门户网站中的 如何使用 Red Hat Subscription-Manager 在红帽客户门户网站中 注册和订阅 RHEL 系统?

  3. 更新系统以接收 Red Hat Enterprise Linux 的最新软件包:

    语法

    dnf update
    Copy to Clipboard Toggle word wrap

  4. 在 Ansible 管理节点上启用 Ceph Ansible 存储库:

    Red Hat Enterprise Linux 9

    subscription-manager repos --enable=rhceph-8-tools-for-rhel-9-x86_64-rpms
    Copy to Clipboard Toggle word wrap

  5. 更新 cephadmcephadm-ansiblecrun 软件包:

    示例

    [root@admin ~]# dnf update cephadm
    [root@admin ~]# dnf update cephadm-ansible
    [root@admin ~]# dnf update crun
    Copy to Clipboard Toggle word wrap

  6. 进入 /usr/share/cephadm-ansible/ 目录:

    示例

    [root@admin ~]# cd /usr/share/cephadm-ansible
    Copy to Clipboard Toggle word wrap

  7. 在存储集群的 bootstrap 主机上,运行 preflight playbook,并将 upgrade_ceph_packages 参数设置为 true

    语法

    ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"
    Copy to Clipboard Toggle word wrap

    示例

    [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"
    Copy to Clipboard Toggle word wrap

    此软件包升级所有节点上的 cephadm

  8. 登录 cephadm shell:

    示例

    [root@host01 ~]# cephadm shell
    Copy to Clipboard Toggle word wrap

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

    示例

    [ceph: root@host01 /]# ceph -s
    Copy to Clipboard Toggle word wrap

  10. 设置 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
    Copy to Clipboard Toggle word wrap

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

    语法

    ceph orch upgrade check IMAGE_NAME
    Copy to Clipboard Toggle word wrap

    示例

    [ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-8-rhel9:latest
    Copy to Clipboard Toggle word wrap

    注意

    镜像名称适用于 Red Hat Enterprise Linux 8 和 Red Hat Enterprise Linux 9。

  12. 升级存储集群:

    语法

    ceph orch upgrade start IMAGE_NAME
    Copy to Clipboard Toggle word wrap

    示例

    [ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-8-rhel9:latest
    Copy to Clipboard Toggle word wrap

    注意

    要执行交错升级,请参阅 执行交错升级

    在升级过程中,ceph status 输出中会出现一个进度条。

    示例

    [ceph: root@host01 /]# ceph status
    [...]
    progress:
        Upgrade to 18.2.0-128.el9cp (1s)
          [............................]
    Copy to Clipboard Toggle word wrap

  13. 验证 Ceph 集群的新 IMAGE_IDVERSION

    示例

    [ceph: root@host01 /]# ceph versions
    [ceph: root@host01 /]# ceph orch ps
    Copy to Clipboard Toggle word wrap

    注意

    在升级 Ceph 集群后如果不使用 cephadm-ansible playbook,则必须升级客户端节点上的 ceph-common 软件包和客户端库。

    示例

    [root@client01 ~] dnf update ceph-common
    Copy to Clipboard Toggle word wrap

    验证您是否具有最新版本:

    示例

    [root@client01 ~] ceph --version
    Copy to Clipboard Toggle word wrap

  14. 升级完成后,取消设置 nooutnoscrubnodeep-scrub 标记:

    示例

    [ceph: root@host01 /]# ceph osd unset noout
    [ceph: root@host01 /]# ceph osd unset noscrub
    [ceph: root@host01 /]# ceph osd unset nodeep-scrub
    Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat