NFS 导出真的需要 FSID 吗?

NFS 导出真的需要 FSID 吗?

参考:

来自上面的 Earlruby 链接:

如果您不使用 FSID,则当您重新启动 NFS 服务器时,服务器识别卷的方式可能会在重新启动之间发生变化,并且您的 NFS 客户端将因“过时文件句柄”错误而挂起。我说“机会”是因为这取决于您的服务器如何存储卷、它运行的 NFS 版本以及它是否是容错/高可用性服务器、HA 功能是如何实现的。使用唯一的 FSID 可确保服务器提供的卷始终以相同的方式进行标识,并且使 NFS 客户端在 NFS 服务器重新启动后更容易重新连接并恢复操作。

在阅读手册页和其他资源时,我不明白fsid=<some number>/etc/exports.有人可以向我解释一下,在 RHEL 8.9 或更高版本中,NFS vers=4.2 中,您何时以及为什么会做这样的事情,特别是当我个人从未明确使用过fsid=并且从未遇到过问题时。

fsid=<some number>当中明确指出时/etc/exports,如何选择该标识符?你如何确保它是独一无二的?

如果我只是 nfs 导出本地挂载的文件夹,例如/dev/sdb1/dev/sdc1我通过 UUID 将它们挂载在 my 中/etc/fstab,并且它们是 XFS 文件系统,这基本上可以保证我不必fsid=在 中使用吗/etc/exports?如果这些本地安装的文件系统中有一个是 NTFS-3g 怎么办?

根据 nfs 手册页的描述,哪些文件系统有问题? 并非所有文件系统都不存储在设备上... 这是什么意思*?

答案1

我认为其中的描述非常清楚。

fsid 是一项可选功能。如果没有它,其他因素可以帮助识别文件系统。然而(如上所述),这些“其他因素”是不稳定的并且可能会发生变化。使用 fsid 来识别文件系统将提高可靠性、重新启动时的稳定性以及版本兼容性。

与大多数用户指定的可选参数一样,fsid 由您选择,并且您决定如何选择它。最好以某种方式使其在导出的文件系统之间唯一。

fsid 是一个相对较新的选项(我认为是 NFSv4 中的新选项),因此它可能会触发错误。对于简单配置和当前版本可能没有必要。多年来它一直没有必要,并且对于大多数配置来说可能仍然是可选的。

但是,如果您在重新启动或升级后遇到别名或过时的 nfs 安装问题,您可能会发现这是必要的......

相关内容