对于Drbd Primary / Primaryconfiguration,我有一个关于裂脑的问题/好奇心。 假设两个节点(主机), host1和host2configuration了Drbd主/主和两个不同共享(NFS,CIFS或iSCSI)的复制区( /drbd )
/drbd/file1.data
/drbd/file2.data
如果一个客户端池只能通过host1共享读取进行访问,而只有file1.data和另一个池只能通过host2共享到file2.data ,那么这种情况应该避免在一个节点出现故障的情况下出现裂脑情况,或者这只是一个猜想?
最终目的是在正常情况下的两个节点之间的负载平衡,并且只有在失败的情况下才折叠到一个节点。
谢谢!
埃迪
只要您在prim / prim模式下有一个 DRBD资源并从不同节点写入, 就会在networking出现故障的情况下产生裂脑。
另外,如果/drbd是一个正常(非群集)文件系统,只有两个子目录在两台主机上共享,即使在正常操作中也会保证数据损坏,因为本地文件系统不知道其他机器正在写入块设备。
创build可靠的HA /负载平衡安装是一个高级主题,高度依赖于您想要实现的目标,但它将包含某种forms的集群pipe理软件,可能是集群文件系统和许多其他组件。
我会说 – 这取决于使用的文件系统。
使用NFS,你不能保证写入到不同的drbd块(所以“丢弃零变化”将无助于从裂脑恢复)。
但是如果你在上面使用一个集群感知文件系统(例如ocfs),那么你的数据不会被破坏的可能性会更高 – 特别是如果你使用不同的目录分支。
但在你的情况下 – 我会使用两个分离的设备在主/辅助模式,使用一个普通的ext3文件系统。