![我们是否需要共享 /var/lib/nfs 以进行 NFSv4 恢复过程?](https://linux22.com/image/793309/%E6%88%91%E4%BB%AC%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E5%85%B1%E4%BA%AB%20%2Fvar%2Flib%2Fnfs%20%E4%BB%A5%E8%BF%9B%E8%A1%8C%20NFSv4%20%E6%81%A2%E5%A4%8D%E8%BF%87%E7%A8%8B%EF%BC%9F.png)
正如我从 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
也应该共享。
如果您有只读导出并且不涉及锁定,那么您可能可以忽略它。