一次版本升级引发的文件服务下线

将试验集群从16.2.5版本升级到16.2.6。升级的步骤比较粗暴:
1、直接安装了ceph相关的最新包;
2、逐步重启了ceph相关的服务。

重启MDS服务之后,文件系统服务全部处于standby的状态,没有active。文件系统直接降级不可用。如图所示:

集群显示文件系统降级

问题解决

通过查找邮件列表,发现有该问题的讨论:和升级之后mdsmap的版本兼容性有关系。当前mds版本兼容性中不支持7 "mds uses inline data"。要在mdsmap中明确不支持,这样可以和升级之后的mds匹配。否则,由于mdsmap的不一致,mds将不会标记成active的状态。
ceph fs dump查看到mdsmap不兼容的内容,其中少了7 “mds uses inline data”

ceph fs status

设置mdsmap的incompat,集群恢复正常。

ceph fs compat add_incompat 7 "mds uses inline data"

附:规范的升级之路

官方说明MDS服务升级应该遵循的步骤:

  • 1、设置standby不进行回放;
  • 2、关闭standby的MDS服务;
  • 3、缩减max_mds至1,避免多MDS版本不同造成通信问题;
  • 4、在只有rank0的情况下,升级和重启其他mds服务;
  • 5、在全部升级之后,重新调整max_mds的值,放开standby允许回放。
    不多赘述,详见
    Upgrading the MDS Cluster — Ceph Documentation

你可能感兴趣的:(一次版本升级引发的文件服务下线)