由于 cephs 在 NVME 上的性能不佳,我再次在 DBRD 上尝试使用 OCFS2。
DBRD 最初似乎是围绕着通知应用程序硬件故障的想法构建的,然后应用程序采取适当的步骤将访问权转移到新的主节点。对于我们的情况来说,这不是一个有用的模式。
DRBD 9 提到了一种基于仲裁的方式:
https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-configuring-quorum
如果我理解正确的话,失去法定人数(即当前节点在少数分区)会导致 IO 冻结,直到法定人数重新建立。这是一个令人兴奋的消息,因为我们有使用 ceph 以这种方式恢复而无需干预的良好经验。
DRBD 手册遗憾地在第 12 节中提到
https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#ch-ocfs2
所有集群文件系统都需要隔离 – 不仅通过 DRBD 资源,而且通过 STONITH!必须杀死有故障的成员。
这与先前法定人数文件中所述的内容相反。
我不知道为什么如果仲裁已经阻止少数分区执行写入 I/O,则无论如何都需要隔离。这是因为仲裁实际上不适用于双主吗?