推荐用于网络服务器的网络文件系统?

推荐用于网络服务器的网络文件系统?

如果我有两个网络服务器,保持它们的文件同步的最佳方法是什么?

不幸的是,网站本身不能进行重大更改。大多数网站都是基于 Wordpress 的,但网站数量超过 200 个。还有一些自定义网站。

此设置从 Web 服务器 + DB 服务器变为 Varnish 负载均衡器 + 2 个 Web 服务器 + DB 服务器。由于 Varnish 可以随时向任一服务器发送请求,因此任何延迟超过 10 秒左右的 rsync 之类的东西都是不可能的。所有服务器都可使用专用的私有交换机。

我正在考虑反对 NFS,因为出于性能和容错方面的考虑,NFS 只有一个文件主副本。我希望能够毫无问题地让任何服务器脱机。

我之前曾尝试过 ChironFS,这是一个 FUSE 文件系统,可在文件级别执行 RAID 1。它在网络方面与 NFS 并驾齐驱。优点是速度快,可以轻松扩展到少量服务器。缺点是它有点难以操作,因为您还需要使用 NFS。

我也听说过 Unison,但我从未尝试过。它是用户级别的,所以我不确定它有多强大,也不知道会有什么样的同步延迟。

还有其他我还没看到的选择吗?

答案1

集群文件系统? 您将拥有两个作为 gluster 服务器的 Web 服务器(例如,导出 /srv/export),以及充当 gluster 客户端,安装相同的导出卷(例如,安装 /srv/share)。文件操作将在 /srv/share 上进行,并将传播到集群中的所有框。

答案2

嗯,unison 只是带有可选差异的 rsync,所以这不行。我自己会坚持使用 NFS —— 它和其他选项一样强大和可靠,而且至少它经过了大量“管道”知识的考验,如果您需要可靠性,您可以让它具有 HA。共享文件系统的所有其他选项要么非常“小众”,要么非常不可靠,要么性能极差,要么三者兼而有之。

答案3

还有其他我还没看到的选择吗?

您可以使用集群文件系统,例如OCFS2。例如,Web 节点可以使用 iSCSI 安装 OCFS2 文件系统。OCFS2 文件系统位于具有冗余机架的 SAN 上的 LUN 上。

设置起来并不容易,但可以解决您指定的问题。

相关内容