我正在管理一个运行NFS v4的服务器,它使用Pac怪人/OpenAIS。NFS被配置为使用TCP。当我将NFS服务器迁移到Pacemaker集群中的另一个节点时,即使元数据是持久化的,客户端的连接“挂起”,并最终在90秒后超时。在那90秒之后,旧的挂载点变得“陈旧”,并且挂载的文件不能再被访问。
90秒宽限期似乎是服务器配置的一部分,而不是客户端配置。我在服务器上看到这条消息:
内核: NFSD:从90秒宽限期开始
如果在迁移后重新启动客户机节点上的NFS客户端(卸载然后重新挂载共享),那么我不会遇到这个问题,但是连接和文件传输仍然中断。
三个问题:
发布于 2009-06-07 04:38:53
NFS在服务器上存储大量客户端的状态。起搏器/OpenAIS无法弥补NFS在这方面的不足。服务器和客户端恢复状态的宽限期是存在的。这是协议的一部分。
无论如何,您似乎没有完全移动客户端状态(比如/var/lib/nfs内容)。有关想法和需要同步的服务器端状态信息,请参见这。
发布于 2009-07-16 18:04:51
使用NfSv3,您可以为挂载指定UDP传输,以实现即时故障转移,而客户机/服务器不会更明智,而NFSv4则使其更加棘手。最重要的是,TCP是唯一可用的传输,TCP本质上不允许将连接从脚下撕开,然后像正常一样继续进行下去。
你可以缩短转机时间。特别是如果您遵循关于公共服务器状态目录和维护FSID的建议。在停止NFS之前尝试提取侦听接口,并确保挂载不被收回(exportfs -ua)。但它永远不会是绝对的瞬间。
您还应该记住,从一个服务器切换,然后再直接返回是一个不-不。前一台服务器仍然可以在TIME_WAIT状态下保存以前的连接,并将拒绝新连接最多20分钟。
关于这个心跳维基页面的很多细节都有点老套,但仍然很中肯。
发布于 2009-07-08 22:54:58
物理磁盘是否在各单元之间共享(如SAN光盘)?
是否使用常量fsid导出磁盘?
/share *(rw,同步,fsid=6667)
否则:
为NFS服务的设备的inode号、IP号、次要号和主号必须相同,才能保持相同的NFS文件句柄。因此,在设备上使用lvm,保持lvm的小/专业同步。
https://serverfault.com/questions/20465
复制相似问题