前言

我开动啦!

准备工作

首先我们需要检查集群的健康状态,确保集群健康才可以开始升级任务,否则可能出现意外的错误

ceph -s

屏幕截图(72).png

然后我们需要检查当前系统中正在运行的 Ceph 版本,否则后续升级会出现意外事故(后续会讲,这是一个血与泪的教训),我们这里目前运行的是 Ceph 15,这里是个伏笔,后续会用到。

docker ps -a | grep ceph
# 或者使用如下命令来查看
cephadm version

屏幕截图(73).png

接着我们前往官方镜像查看可用的镜像版本,并选择我们需要的镜像,截止 2023年09月28日,最新可用的版本是 v18.2.0,请注意,我们这里需要选择 x.y.z 这样格式的版本,否则 cephadm 将会因为无法拆分版本号导致产生数组越界错误

https://quay.io/ceph/ceph

image.png

我在这里直接选择了最新版 v18.2.0,然后执行了如下命令进行了系统的升级

ceph orch upgrade start --ceph-version 18.2.0

屏幕截图(74).png

!!!请注意!!! 这是一个完全错误的操作, 版本升级不可以跨越两个大版本进行升级。即 v15 最多可更新到 v17,而我这里直接升级到了 v18,由于 v15 时 cephadm 设计的缺陷,并没有对这个错误进行提示,mgr 组件更新到 v18 时才产生报错 ceph UPGRADE_BAD_TARGET_VERSION: Upgrade: cannot upgrade/downgrade to 18.2.0,导致集群进入 HEALTH_WARN 状态

接下来我们可以使用这些命令观察更新进度

# 获取更新信息
ceph orch upgrade status
# 查看更新进度
watch ceph -s
# 查看详细日志
ceph -W cephadm

屏幕截图(75).png

屏幕截图(77).png

这个时候可能提醒你 Telemetry 协议更新,需要重新签署,输入如下命令执行即可

ceph telemetry on --license sharing-1-0
ceph telemetry enable channel perf

屏幕截图(78).png

接下来就是极其惊险的故障了,这个适合 mgr 已经升级成功了一个,keepalived 也已经切换到目标节点,开始出现报错

屏幕截图(79).png

在我们的预案中并没有设计出这种情况,网络上也查不到相关的报错,ChatGPT 什么都说了但什么也没说,我们的心一下子悬到了嗓子眼

但是遇事不要慌,这个时候的当务之急肯定是要停止掉升级升级进程,于是我们输入了

ceph orch upgrade stop

停止了更新进程,并尝试回滚到旧版本

ceph orch apply alertmanager 2
ceph orch recofig alertmanager.172-18-88-1
ceph orch apply alertmanager 1

ceph-ci/src/pybind/mgr/cephadm/serve.py at f9d812a56231a14fafcdfb339f87d3d9a9e6e55f · ceph/ceph-ci (github.com)

cephadm rm-daemon --name cephadm.7dcbd4aab60af3e83970c60d4a8a2cc6ea7b997ecc2f4de0a47eeacbb88dde46 --force

ceph orch daemon rm cephadm.7dcbd4aab60af3e83970c60d4a8a2cc6ea7b997ecc2f4de0a47eeacbb88dde46 --force

11.2. 暂停或禁用 cephadm Red Hat Ceph Storage 5 | Red Hat Customer Portal

vim /usr/share/ceph/mgr/cephadm/module.py

/var/lib/ceph/711a797a-47c7-11ed-802d-0b3cd85e5eb7/cephadm.7dcbd4aab60af3e83970c60d4a8a2cc6ea7b997ecc2f4de0a47eeacbb88dde46

ceph config-key get

ceph config-key rm config/global/container_image

image.png

image.png

screenshot20230930.png

image.png

image.png

最后修改:2023 年 10 月 08 日
如果觉得我的文章对你有用,请随意赞赏