OCFS2 添加节点

OCFS2 添加节点

我有在不同的机器上运行 nginx 和 php fpm 的虚拟机,目前我使用了一种非常愚蠢的手动同步目录的方法,因为集群不是那么大。但是我还有另一台服务器,我想将其用作共享存储设备。

到目前为止,我了解到我可以通过 ocfs2 文件系统通过 iscsi 提供存储。让我困扰的是,初始设置需要提前指定每个节点,然后要添加节点,我需要关闭 o2cb 以应用更改。

目标是通过 iscsi 为 nginx 和 php-fpm 节点提供共享存储(所以我不必进行复制),但是节点数量可以根据集群的负载而增加。

想法 #1:也许我可以通过主机以某种方式为我的虚拟机提供存储,这样只有主机直接处理 ocfs2?这样就可以知道节点了。

答案1

OCFS2 是一种集群文件系统,它假设用于副本的每个块设备都是相同的。它针对的用例与 nginx 等非常不同,在 nginx 中,参与节点之间的数据锁定和排序非常紧密。

这需要大量的开销,但对于运行对同一数据集进行修改的多个工作器来说非常有益。这是我们在存储中尽量避免的模式,尽管有时会很有用。但这不是那个时候。

此实现将受益于中央 NFS 或 SMB 共享,而不是由 iSCSI 支持的集群 FS。这样,每个 Nginx 工作器都可以访问相同的目录。最好不要尝试同时写入同一个文件,但如果确实需要这样做,您可以确保使用 NFS >v4.1 或 SMB >v3.x。两者处理锁定的能力都比以前的版本更好。

答案2

您可以简单地将第三台服务器设置为 NFS 服务器,这比在该用例中使用 OCFS2 更有意义。OCFS2 无论是在快速 SAN 存储之上,还是在实时复制的存储(如 DRBD)之上,都是更好的选择。

相关内容