本次升级是由于L版集群操作副本从3调整到1时,触发版本bug,必须升级版本进行解决,且必须升级到图片中的版本
触发bug详细描述:https://github.com/ceph/ceph/pull/24432(luminous: OSDMapMapping does not handle active.size() > pool size),
从v12.2.10 Luminous
升级到v14.2.10 Nautilus
,操作系统为ubuntu16.04
注意
- 将mon节点从Luminous升级到Nautilus后,Luminous 将无法创建新的osd进程.不要在升级过程中添加或替换任何OSD。
- 不要在升级过程中创建存储池。
备份旧版本数据
官方没有相关说明,为了保险所有操作都进行备份,官方建议升级之前做过完整的scrub
cp -r /var/lib/ceph/ /var/lib/ceph-l/
准备升级源
root@demo:/home/demouser# vi /etc/apt/sources.list.d/ceph.list
deb http://mirrors.yyuap.com/ceph/debian-nautilus xenial main #使用内部源
root@demo:/home/demouser# apt-get update
...
Fetched 18.7 kB in 11s (1,587 B/s)
Reading package lists... Done
执行升级
ceph osd set noout
apt install ceph
确认升级
重启mon
systemctl restart ceph-mon@$(hostname -s)
查看mon版本
ceph mon dump | grep min_mon_release
查看osd版本
ceph osd versions
参考文档:https://docs.ceph.com/en/nautilus/releases/nautilus/#upgrading-from-mimic-or-luminous