我有在不同的机器上运行nginx和php fpm的vms,因为现在我使用了一种非常愚蠢的手工同步目录的方法,因为集群没有那么大。然而,我有另一个服务器,我想利用它作为共享存储设备。
到目前为止,我知道我可以通过iscsi提供带有ocfs2文件集的存储。困扰我的是,初始设置需要预先指定每个节点,然后添加一个节点,我需要关闭o2cb才能应用更改。
其目标是通过iscsi向nginx和php节点提供共享存储(因此我不必进行复制),但是节点的数量可以根据集群的负载而增加。
想法1:也许我可以通过主机为我的vms提供存储,所以只有主机才能直接处理ocfs2?这样,节点就被知道了。
发布于 2020-08-26 16:44:28
OCFS2是一个集群文件系统,它假定用于复制的每一个块设备都是相同的。它是为与nginx这样的东西非常不同的用例而设计的,在nginx中,数据的锁定和排序在参与的节点之间是非常一致的。
这需要很大的开销,但对于运行多个对同一数据集进行修改的工作人员非常有利。这是一种我们喜欢尝试在存储中避免的模式,尽管有时会变得有用。现在不是那个时候。
此实现将受益于中心NFS或SMB共享,而不是由iSCSI支持的集群FS。这样,每个Nginx工作人员都可以访问相同的目录。最好不要同时写入同一个文件,但是如果您确实需要这样做,可以确保您使用的是NFS >v4.1或SMB >v3.x。两者都比以前的版本更好地处理锁定。
发布于 2020-08-26 20:07:36
您可以简单地将第三台服务器设置为NFS服务器,这比在该用例中使用OCFS2更有意义。OCFS2在快速SAN存储或实时复制存储(如DRBD )上都是一个更好的选择。
https://serverfault.com/questions/1031612
复制相似问题