容错 NFS?

Pet*_* G. 9 linux nfs fault-tolerance

可能是常见问题解答,但经过一段时间的搜索,我没有找到任何有用的信息:

我是否可以设置 NFS,以便在不需要立即干预的情况下屏蔽每个错误(例如服务器 CPU、硬盘、高清控制器、网络适配器、网线、电源)?

我只有部分问题的答案:RAID、冗余电源、冗余网络适配器

如何解决 NFS 服务器的 CPU 故障,以便客户端透明地进行故障转移?

Jam*_*ale 9

您可以购买一个可以容忍 CPU 故障的系统,或者您可以实现多个服务器。您可以在 Linux 上相当轻松地创建 NFS 故障转移集群(我相信 Sun 等人也有一个机制)。

一个相当受支持/常见的方法是使用心跳(我在谷歌上找到的第一个链接,搜索 NFS 和心跳)来管理集群,然后在服务器之间共享存储。使用 NFS 以确保透明故障转移的重要事情是还共享通常位于 /var/lib/nfs 中的 NFS 状态信息。您可以通过将其放在共享存储上来做到这一点。

编辑:还在每台服务器上的 NFS 导出上将 fsid 选项设置为相同的值将防止您在集群故障转移时获得陈旧的文件句柄。

  • Howtoforge 也有关于设置的教程:http://www.howtoforge.com/high_availability_nfs_drbd_heartbeat (3认同)
  • Pacemaker + Heartbeat(或现在的 Corosync)+ DRBD + NFS 对我有用。 (2认同)