可能是常见问题解答,但我搜索了一段时间后没有找到任何有用的东西:
我是否可以设置 NFS 以屏蔽每个错误(例如服务器 CPU、硬盘、高清控制器、网络适配器、网线、电源)而无需立即干预?
我只对部分问题有答案:RAID、冗余电源、冗余网络适配器
如何解决 NFS 服务器的 CPU 故障以便客户端透明地进行故障转移?
答案1
您可以购买一个可以容忍 CPU 故障的系统,或者可以实施多台服务器。您可以在 Linux 上相当轻松地创建 NFS 故障转移群集(我相信 Sun 等也都有这样的机制)。
一种得到广泛支持/常见的方法是使用心跳,(我在 Google 上找到的第一个链接是搜索 NFS 和心跳) 来管理集群,然后在服务器之间共享存储。使用 NFS 确保透明故障转移的重要一点是共享 NFS 状态信息,该信息通常位于 /var/lib/nfs 中。您可以通过将其放在共享存储上来实现这一点。
编辑:此外,在每台服务器上的 NFS 导出中将 fsid 选项设置为相同的值将阻止您在集群故障转移时获取过时的文件句柄。
答案2
nfs 4.1 支持集群的 pNFS。http://www.pnfs.com/
答案3
据我所知,在主动/主动配置中 Nfs 标准服务器是不可能的,但可以实现主动/被动集群(使用 hearthbeat+nfs3 测试)。这里有一个很好的使用方法,快速而简单 设置高可用性 NFS 服务器 | howtoforge.com
还可以使用 glusterfs+haproxy+keepalived+ganesha-nfs 设置主动/主动 nfs4 集群。
答案4
Nexenta Systems 的合作伙伴提供集群解决方案,这些解决方案非常适合实现高可用性 NFS,同时充分利用 ZFS 的所有可用功能。典型模型要求使用 2 节点集群,并配置为 JBOD 的共享存储单元。NexentaStor 用于配置 NFS、CIFS 等。在您的情况下,它可能只是 NFS。我们的集群框架允许提供高可用性解决方案,这可能正是您正在寻找的。