正如我从 NFSv4 恢复过程中所读到的,客户端也保存了状态,并且可以在 NFS 服务器崩溃的情况下帮助重建 NFS 状态。我正在尝试使用 drbd 构建主动-被动 NFS HA。我是否仍需要在 NFS 服务器之间共享 drbd 上的 /var/lib/nfs/ 文件夹?
我尝试了一个简单的设置。一个 NFS 客户端和两个 NFS 服务器。即使没有共享文件夹,NFS 客户端也能够启动恢复过程,宽限期结束后,NFS 服务器和 NFS 客户端都能够执行 IO。
答案1
NFS 服务器使用/var/lib/nfs
目录来保存服务器重新启动或崩溃后使用的恢复信息。当服务器恢复时,如果恢复目录不为空,它将进入GRACE PERIOD
,这将允许先前记录的客户端重新获得其打开状态和锁定。
https://datatracker.ietf.org/doc/html/rfc5661#section-5.8.1.14
如果你想对 nfs 客户端友好一点,允许他们在其他客户端锁定之前回收打开的文件和锁定,那么你应该共享/var/lib/nfs
也应该共享。
如果您有只读导出并且不涉及锁定,那么您可能可以忽略它。