达到池配额时的Ceph行为

时间:2017-02-20 10:30:25

标签: ceph

根据来自http://docs.ceph.com/docs/master/release-notes/的信息,来自Infernalis发布,ceph在达到池配额时更改了默认行为(当达到池配额时,librados操作现在无限期地阻塞,就像它们在群集填充时一样up。(以前它们会返回-ENOSPC。)默认情况下,完整的集群或池现在将被阻止。如果你的librados应用程序可以正常处理ENOSPC或EDQUOT错误,你可以通过使用新的librados OPERATION_FULL_TRY标志来获得错误返回。)

有没有人知道,有没有办法在达到池配额时将此行为改回来返回ENOSPC?

谢谢!

1 个答案:

答案 0 :(得分:0)

看看这个:https://github.com/ceph/ceph/pull/13615 如果您浏览源代码, 在PrimaryLogPG.cc prepare_transaction()函数中, 你可以忽略CEPH_OSD_FLAG_FULL_TRY标志的检查, 一旦设置了池FULL标志,就返回ENOSPC。