第 3 章 在启用了扩展模式的将 RHCS 5 升级到 RHCS 7 到 RHEL 9 升级
您可以执行从 Red Hat Ceph Storage 5 升级到 Red Hat Ceph Storage 7,涉及 Red Hat Enterprise Linux 8 到启用了扩展模式的 Red Hat Enterprise Linux 9。
在升级到最新版本的 Red Hat Ceph Storage 7 之前,升级到 Red Hat Ceph Storage 5 的最新版本。
先决条件
- Red Hat Ceph Storage 5 on Red Hat Enterprise Linux 8,在启用了扩展模式的情况下运行了必要的主机和守护进程。
-
Ceph 二进制文件备份(
/usr/sbin/cephadm
)、ceph.pub (/etc/ceph
)和来自管理节点的 Ceph 集群的公共 SSH 密钥。
流程
登录到 Cephadm shell:
示例
[ceph: root@host01 /]# cephadm shell
在重新置备 admin 节点时,将第二个节点标记为 admin 以管理集群。
语法
ceph orch host label add HOSTNAME _admin
示例
[ceph: root@host01 /]# ceph orch host label add host02_admin
设置
noout
标志。示例
[ceph: root@host01 /]# ceph osd set noout
排空主机中的所有守护进程:
语法
ceph orch host drain HOSTNAME --force
示例
[ceph: root@host01 /]# ceph orch host drain host02 --force
_no_schedule
标签自动应用到阻止部署的主机。检查所有守护进程是否已从存储集群中移除:
语法
ceph orch ps HOSTNAME
示例
[ceph: root@host01 /]# ceph orch ps host02
zap 设备,以便在主机排空时有 OSD,则它们可用于在主机重新添加时重新部署 OSD。
语法
ceph orch device zap HOSTNAME DISK --force
示例
[ceph: root@host01 /]# ceph orch device zap ceph-host02 /dev/vdb --force zap successful for /dev/vdb on ceph-host02
检查移除 OSD 的状态:
示例
[ceph: root@host01 /]# ceph orch osd rm status
当 OSD 上没有剩余的放置组(PG)时,该 OSD 会停用并从存储集群中移除。
从集群中删除主机:
语法
ceph orch host rm HOSTNAME --force
示例
[ceph: root@host01 /]# ceph orch host rm host02 --force
- 将相应的主机从 RHEL 8 重新置备到 RHEL 9,如 从 RHEL 8 升级到 RHEL 9 所述。
使用
--limit
选项运行 preflight playbook:语法
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --limit NEWHOST_NAME
示例
[ceph: root@host01 /]# ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin={storage-product}" --limit host02
preflight playbook 在新主机上安装
podman
、lvm2
、chronyd
和cephadm
。安装完成后,cephadm
驻留在/usr/sbin/
目录中。将集群的公共 SSH 密钥提取到文件夹:
语法
ceph cephadm get-pub-key ~/PATH
示例
[ceph: root@host01 /]# ceph cephadm get-pub-key ~/ceph.pub
将 Ceph 集群的公共 SSH 密钥复制到重新置备的节点:
语法
ssh-copy-id -f -i ~/PATH root@HOST_NAME_2
示例
[ceph: root@host01 /]# ssh-copy-id -f -i ~/ceph.pub root@host02
可选:如果移除的主机有一个 monitor 守护进程,则在将主机添加到集群前,请添加
--unmanaged
标志来监控部署。语法
ceph orch apply mon PLACEMENT --unmanaged
再次将主机添加到集群中,并添加之前存在的标签:
语法
ceph orch host add HOSTNAME IP_ADDRESS --labels=LABELS
可选:如果移除的主机最初部署了一个监控器守护进程,则需要使用 location 属性手动添加 monitor 守护进程,如将 tiebreaker 替换为新的监控器 中所述。
语法
ceph mon add HOSTNAME IP LOCATION
示例
[ceph: root@host01 /]# ceph mon add ceph-host02 10.0.211.62 datacenter=DC2
语法
ceph orch daemon add mon HOSTNAME
示例
[ceph: root@host01 /]# ceph orch daemon add mon ceph-host02
验证 re-provisioned 主机上的守护进程使用相同的 ceph 版本成功运行:
语法
ceph orch ps
将 monitor 守护进程放置重新设置为
managed
。语法
ceph orch apply mon PLACEMENT
对所有主机重复上述步骤。
- .arbiter monitor 无法排空或从主机中删除。因此,需要将仲裁 mon 重新置备到另一个 tie-breaker 节点,然后从主机排空或删除,如将 tiebreaker 替换为新的监控器 中所述。
- 按照相同的方法重新置备 admin 节点,并使用第二个管理节点管理集群。
- 再次将备份文件添加到节点。
-
.再次使用第二个管理节点将 admin 节点添加到集群中。将
mon
部署设置为unmanaged
。 - 遵循将 tiebreaker 替换为新 monitor,以重新添加旧的仲裁 mon 并删除之前创建的临时 mon。
取消设置
noout
标志。语法
ceph osd unset noout
- 验证 Ceph 版本和集群状态,以确保所有 demons 在 Red Hat Enterprise Linux 升级后按预期工作。
- 按照 使用 cephadm 升级 Red Hat Ceph Storage 集群 来执行 Red Hat Ceph Storage 5 到 Red Hat Ceph Storage 7 升级。