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