第 3 章 将 RHCS 5 升级到 RHCS 7,涉及启用了扩展模式的 RHEL 8 升级到 RHEL 9
您可以在启用了扩展模式的情况下从 Red Hat Ceph Storage 5 升级到 Red Hat Ceph Storage 8,包括 Red Hat Enterprise Linux 8 到 Red Hat Enterprise Linux 9。
在升级到最新版本的 Red Hat Ceph Storage 8 之前,升级到 Red Hat Ceph Storage 5 的最新版本。
先决条件
- Red Hat Enterprise Linux 8 上的 Red Hat Ceph Storage 5 在启用了扩展模式的情况下运行所需的主机和守护进程。
-
备份 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
可选:如果删除的主机最初部署了 monitor 守护进程,则需要使用 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
验证重新置备主机上的守护进程使用相同的 ceph 版本成功运行:
语法
ceph orch ps
将 monitor 守护进程放置重新设置为
managed
。语法
ceph orch apply mon PLACEMENT
对所有主机重复上述步骤。
- .arbiter monitor 无法排空或从主机中删除。因此,需要重新置备仲裁 mon 到另一个 tie-breaker 节点,然后排空或从主机中删除,如 使用新监控器替换 tiebreaker 中所述。
- 按照相同的方法重新置备管理节点,并使用第二个 admin 节点来管理集群。
- 将备份文件重新添加到节点。
-
.使用第二个 admin 节点,再次将 admin 节点添加到集群。将
mon
部署设置为非受管
。 - 按照 使用新监控器替换 tiebreaker,以重新添加旧的仲裁程序 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 8 升级。