错误类似:26 slow ops, oldest one blocked for 48 sec, daemons [osd.15,osd.17,osd.18,osd.5,osd.6,osd.7] have slow ops.

如果只是集群中极少部分的OSD出现该问题,可以通过:

systemctl status ceph-osd@{num}

查看OSD日志找到问题并处理,常见的有磁盘故障等,根据错误网络搜索很多解决方案。


如果是集群中所有osd,或者过半数的osd出现这个问题呢?检查了磁盘、网络、mon都正常。其实还有一种可能,想一下是否近期升级过ceph,有升级不完整osd版本问题造成。

首先要处理该错误,可以关闭所有用ceph的vm或其他项目,然后停止所有client请求,逐个重启osd,等待osd恢复正常。

目前已知Rook、ceph-deploy升级到比较高版本时候有未完成步骤,而通过以下命令

ceph tell mon.* version
ceph tell osd.* version

检查mon、osd或clinet版本都是没有问题的指示版本正确,但实际升级还未完成。官方文档说明了这点:http://docs.ceph.com/docs/master/releases/nautilus/#upgrading-from-mimic-or-luminous

在升级的最后,当状态正常后,需要手动执行 ceph osd require-osd-release {版本号如nautilus}

版本的不一致会导致该问题,而且可能只看日志很难找到这个问题,因为它并不明显。

标签: Ceph

添加新评论