我正在构建一个有点简约的系统,它收集串行端口数据并将其推送到 NFS 挂载上的日志文件中。
为了在一定程度上减少系统,我决定禁用 RPC,因为我看不到它的用途,这导致了以下警告:
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified
NFS 中涉及 RPC 并不奇怪,所以我的下一步是删除警告。我可以选择重新启用 RPC,或者-o nolock
按照建议使用。
那么问题来了,远程锁定到底是做什么的?在这种特殊情况下,NFS 挂载仅由相关机器写入,不存在诸如多个进程写入同一个文件等冲突的可能性。(虽然,有几个进程写入各自的日志文件)
运行 debian buster,内核 4.19
编辑:我试过-o nolock
了,一切似乎都很好,所以乍一看,没有副作用。
答案就在 rpc.statd 的老手册页中:
所以基本上,在 NFS 服务器上运行的 rpc.statd 会阻止在其他 NFS 客户端上运行的进程访问您从客户端计算机锁定的文件。只要只有一个客户端,本地锁就可以了。但通常 NFS 都是关于共享的。