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