我正在通过两个节点上的DRBDconfiguration。 DRBD已经configuration,但是我想启用双主模式function。
在drbd站点上,我已经看到它需要使用一个共享集群文件系统,它使用了像GFS和OCFS2这样的分布式锁pipe理器。
ext3文件系统有可能吗?
提前致谢。
不,这是不可能的。 非群集文件系统一次只能由一台机器使用,如果您在多台机器上以双主模式使用它,文件系统损坏将得到保证!
原因是使用这个文件系统的两台机器不会知道对方做了哪些修改,很快就会出现冲突。
简单的回答:这是可能的,但不好的build议。
较长的回答:ext2,ext3和ext4文件系统不提供处理文件系统被多个主机写入的情况所需的locking或协调。 这些文件系统被devise为仅由一个主机写入。 如果多个主机试图写入同一个文件系统,则没有任何文件系统会有精确的映射,最终会覆盖来自另一个主机的数据。
可以将卷只读挂载到其他主机上,但请记住host1无法告诉host2数据已更改。
集群文件系统使用的分布式锁pipe理器和其他通信通道的原因是为了让主机相互通知正在进行的写操作,并防止上述行为。
好运,Rik
在双主模式下运行DRBD与从两个服务器节点访问SAN存储非常相似。 对SAN有效的所有预防措施对双主DRBD均有效。 简短的回答是,你可以做到这一点,但你也应该注意SwenW的警告 – 不要同时从两个节点安装文件系统。
在我的公司,我们实际上是使用双主服务器(ext4或ext3文件系统),但是它带有一个价格。
为了给您一些现实生活的背景,我们曾经有过基于SAN的集群,在这种情况下,您总是可以从双方看到块设备(类似于双主节点中DRBD的工作原理)。 我们还使用HP Serviceguard来pipe理群集。 Serviceguard使用LVM标记( vgchange --addtag
和vgchange --deltag
)进行磁盘locking,并且还进行了非常广泛的testing,以保护您免于裂脑情况。 简而言之,如果让Serviceguardpipe理这些磁盘,则不会出现错误,因此您可以使用所需的任何文件系统(在本例中为ext3,最近甚至是ext4)。 它还要求磁盘在两个节点都可见(它是集群validation的一部分 – 确保设备在所有节点上都可用)。
在我们退休了昂贵的硬件(SAN)之后,我们花费了昂贵的软件(Serviceguard),所以我们不得不使用类似DRBD的设置,在所有节点上都可以看到块设备 – 即双主设备。
当然,没有任何东西可以阻止你错误地安装错误的磁盘,然后你是敬酒。 但是,当您从多个节点访问SAN磁盘时,这是一个有效的警告。