我目前有两个 CentOS Box,为多个 Web 服务器提供 NFS 服务。
有人可以推荐一个文件系统,可以轻松高效地镜像这两台服务器上的所有文件吗?
我过去曾使用过 DRBD,但它的缺点是每次只能安装在一个系统上。
答案1
据我所知,没有办法使用免费软件让两个主动 NFS 服务器导出整个单个集群文件系统。如果您尝试实现冗余,您可以按照 Red Hat 的配置示例 - NFS Over GFS(另见集群管理)。这为您提供了故障转移,但既不容易,也不高效。如果您将集群视为提高性能的一种方式,那么这将是倒退一步,因为您已经从两个活动 NFS 服务器变为一个活动 NFS 服务器,并且您有集群文件系统的开销。
例如,/gfs 是挂载在 server1 和 server2 上的集群文件系统。所有挂载 /gfs 的 NFS 客户端都使用 server1。如果发生故障,它们将透明地切换到 server2。
另一种方法是使用单个集群文件系统,但每个服务器仅导出其中的一部分。您拥有两个 NFS 资源,而不是单个主动/被动对,每个服务器都对其中一个资源处于活动状态。这不会提高您的性能,但与当前设置相比,性能下降幅度较小,因为它可以让两个 NFS 服务器都处于活动状态。
例如,/gfs 是挂载在 server1 和 server2 上的集群文件系统。它分为两个目录,al 和 mz。server1 被所有挂载 /gfs/al 的 NFS 客户端使用。如果它失败,它们将透明地切换到 server2。server2 被所有挂载 /gfs/mz 的 NFS 客户端使用。如果它失败,它们将透明地切换到 server1。
对上述内容的一个调整是使用两个 DRBD 资源而不是集群文件系统。这可能更容易设置,特别是如果您已经熟悉 DRBD 的话。
答案2
我实际上建议格鲁斯特。它是开源的,文档齐全,RedHat 最近收购了它。它的性能相对较好,而且由于它现在是 RedHat 项目,因此在 CentOS 上得到了很好的支持。还有一个名为 HekaFS 的项目,其目标是通过添加 SSL 和其他功能来扩展 glusters 身份验证和安全功能。它非常简单,设计得非常好。它附带了相当不错的管理实用程序。
答案3
检查 OCFS2:http://oss.oracle.com/projects/ocfs2/
干杯
答案4
我见过 GFS2(http://en.wikipedia.org/wiki/Global_File_System) 在生产环境中运行。您可以相当轻松地让多达 10 台机器访问它,并且只要您没有投入过多的使用量,就可以扩展到更多。