Ceph的版本选择-必看!

Ceph的版本选择-必看!

Deng YongJie's blog 250 2024-08-04

前言

开源软件质量参差不齐,千万别选错了版本,娶错了娇娘。

首先需要强调的一点就是,任何的开源软件很难做到开箱即用,比较各个开源软件,无非是坑多坑少,坑深坑浅的区别。你能力强,别人眼里的大坑,在你这里就是”洒洒水“,能力弱些的,随便几个小坑几分钟就"扶墙而归"。所以选开源软件一个最重要的原则就是”量体裁衣",选个自己能力范围内hold住的,会让你轻松不少。

首先搞清楚要的是文件cephfs、对象rgw、还是块rbd,需要用到哪些功能,把这些要用到的功能点都罗列到一个表格,根据应用场景如kvm虚拟机、k8s容器,网盘等,筛选哪些功能点是刚需必选,哪些是可选。根据罗列的功能点列表,找到哪个大版本是满足你当前需求的(基本上就可以定下Ceph大版本序号),最终根据测试结果再划定真正安全可控的安全区域。

image-20230423161247340

x.0.z - 开发版(给早期测试者和勇士们)

x.1.z - 候选版(用于测试集群、高手们)

x.2.z - 稳定版(给用户们)

通过前面的方法基本已经选定了当前大版本,那么要搞清楚当前选择的大版本处于一个什么样的小版本阶段。以12.2的L版本为例,12.2.0~12.2.5基本上属于前期小白鼠阶段,坑多稳定性稍差,前面说的能力强以及数据丢了不用删库跑路的大哥可以关注下,这趟车一般都是会充满各种新奇冒险故事,可能在哪个不经意的角落你就能发现某个前面还一起飙车的车友已经翻了车(当然这里只是个段子)。12.2.5是个分水岭,基本上这个小版本开始就进入了逐步稳定的阶段,富于冒险和自信动手能力不错的可以上车了,遇上大坑小坑都可以自己修或者反馈给社区,毕竟都是抱着开源这条大腿一起成长。12.2.12版本或者是12.2.13版本以后,基本上12这个大版本的开发维护就已经到了尽头,这个时候的12版本基本已经完成了,不喜欢升级来回折腾的,可以上车了。

很多时候遇上bug或者问题,通过升级Ceph的版本都可以解决,但是任何软件升级都会带来很多未知风险。而且像升(sheng)级割(ge)接一类的工作一般都是选择在夜深人静的时候,所以版本没选好,经常性的夜夜升割,你的小身板挺得住吗?同时数据存储一类的系统不同于网络或者k8s一类的计算调度系统,他们升级不成功大不了回滚和重启,存储要是没升级上去,你就只能……

无论新手还是老司机,每次看到更新了新的版本号,都想跃跃欲试。但是作为老司机,必须提醒无论新版本多么诱惑,升级前一定要模拟线上场景做好和做足故障演练的前戏,不然很可能像武大郎一样蹦跶一晚上还上不金莲妹子的床。如果选错了版本,最终可能会被你选中的"金莲"喊你起床喝药……