1.2. 升级 Red Hat Ceph Storage 集群
您可以使用 ceph orch upgrade 命令升级 Red Hat Ceph Storage 集群。
先决条件
- 最新版本的运行 Red Hat Ceph Storage 集群。
- 所有节点的根级别访问权限。
-
具有 sudo 的 Ansible 用户,对存储集群中所有节点的
ssh访问和免密码访问。 - 存储集群中至少有两个 Ceph 管理器节点:一个活跃节点和一个备用节点。
流程
注册该节点,并在提示时输入您的红帽客户门户网站凭证:
语法
subscription-manager register从 CDN 拉取最新的订阅数据:
语法
subscription-manager refresh注意红帽客户现在使用简单内容访问(SCA),因此不再需要向系统附加订阅。注册系统并启用所需的软件仓库就足够了。如需更多信息,请参阅红帽客户门户网站中的 如何使用 Red Hat Subscription-Manager 在红帽客户门户网站中 注册和订阅 RHEL 系统?
更新系统以接收 Red Hat Enterprise Linux 的最新软件包:
语法
dnf update在 Ansible 管理节点上启用 Ceph Ansible 存储库:
Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-8-tools-for-rhel-9-x86_64-rpms更新
cephadm、cephadm-ansible和crun软件包:示例
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansible [root@admin ~]# dnf update crun进入
/usr/share/cephadm-ansible/目录:示例
[root@admin ~]# cd /usr/share/cephadm-ansible在存储集群的 bootstrap 主机上,运行 preflight playbook,并将
upgrade_ceph_packages参数设置为true:语法
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"示例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"此软件包升级所有节点上的
cephadm。登录
cephadmshell:示例
[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 registry.redhat.io/rhceph/rhceph-8-rhel9:latest注意镜像名称适用于 Red Hat Enterprise Linux 8 和 Red Hat Enterprise Linux 9。
升级存储集群:
语法
ceph orch upgrade start IMAGE_NAME示例
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-8-rhel9:latest注意要执行交错升级,请参阅 执行交错升级。
在升级过程中,
ceph status输出中会出现一个进度条。示例
[ceph: root@host01 /]# ceph status [...] progress: Upgrade to 18.2.0-128.el9cp (1s) [............................]验证 Ceph 集群的新 IMAGE_ID 和 VERSION :
示例
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps注意在升级 Ceph 集群后如果不使用
cephadm-ansibleplaybook,则必须升级客户端节点上的ceph-common软件包和客户端库。示例
[root@client01 ~] dnf update ceph-common验证您是否具有最新版本:
示例
[root@client01 ~] ceph --version升级完成后,取消设置
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