当前版本 | 目标版本 |
---|---|
15.2.17(octopus) | 16.2.11(pacific) |
1. 准备工作
1.1 备份配置信息及文件
备份ceph目录下的文件
mkdir ~/ceph_back && cp -r /etc/ceph ~/ceph_back/
备份monmap
ceph mon getmap -o ./ceph_back/monmap
1.2 更新ceph源
更新源文件ceph版本名称
sudo sed -i 's/octopus/pacific/' /etc/apt/sources.list && sudo apt update
确认可更新版本是否是目标版本
apt list ceph --upgradable
1.3. 检查集群健康状态
检查集群健康状态,推荐升级时集群没有任何osd和pg异常集群: health_ok
2. 升级步骤
2.1 集群设置
1. 集群设置noout
ceph osd set noout
2.修改配置:
- 升级16.2.6版本bug(当前版本可不配置)
ceph config get osd bluestore_fsck_quick_fix_on_mount
ceph config set osd bluestore_fsck_quick_fix_on_mount false
- 关闭mds健康检查
ceph config set mon mon_mds_skip_sanity true
Note:
ceph config get mon mon_mds_skip_sanity
获取值
- 禁用standby_replay
ceph fs set <fs_name> allow_standby_replay false
重要信息: 每个fs都要设置一下
ceph fs get myfs |grep replay
如果没有输出即是false,有输出则修改失败如果已经存在replay的mds,需要执行命令
ceph mds fail cargo-cluster-xx
: cargo-cluster-xx 即对应的replay的mds服务
- 修改fs的max_mds为1
ceph fs set <fs_name> max_mds 1
重要信息: 每个fs都要设置
ceph fs status
检查每个fs是否只有一个rank0的mds是active状态
等待集群的定期健康检查停用队列里非0的mds服务ceph status
2.2 升级ceph包
-
- 升级当前节点全部ceph包
sudo apt --only-upgrade install ceph
升级ceph任何一个包当前节点的其他ceph包也会一起被作为依赖升级,所以直接写ceph
-
- 重启当前节点ceph各服务
sudo systemctl restart ceph.target
-
- 恢复配置
ceph fs set <fs_name> max_mds <original_max_mds>
ceph config rm mon mon_mds_skip_sanity
-
- 恢复配置bluestore_fsck_quick_fix_on_mount
ceph config set osd bluestore_fsck_quick_fix_on_mount true
-
- 取消osd设置
ceph osd unset noout
Note: 等待集群恢复健康
ceph status
2.3 完成升级
升级步骤完成之后, 任意集群节点内执行命令ceph versions
,如图:
查看版本确认版本都升级到16.2.11后执行命令如下,不再兼容旧版本osd服务
ceph osd require-osd-release pacific
标签:fs,ceph,版本升级,set,mon,mds,osd
From: https://www.cnblogs.com/ishmaelwanglin/p/17095314.html