Waveter Asked: 2016-06-11 03:00:11 +0800 CST2016-06-11 03:00:11 +0800 CST 2016-06-11 03:00:11 +0800 CST pNFS 上的锁定机制 772 据我所知,在并行 NFS 中,从元数据服务器获取布局后,客户端直接与数据服务器通信。我想知道如果多个客户端同时读取或写入数据服务器的同一区域会发生什么。是否有任何机制可以锁定 pNFS。 linux nfs nfs4 1 个回答 Voted Best Answer Dani_l 2016-06-14T05:40:00+08:002016-06-14T05:40:00+08:00 根据 RFC 5661(nfs 4.1,包括 pnfs) https://www.rfc-editor.org/rfc/rfc5661#section-12.5.1 NFSv4.1 要求所有用户访问权限必须 通过适当的 OPEN、LOCK 和 ACCESS 操作获得,不会随着布局的存在而修改。布局提供给 NFSv4.1 客户端,用户访问仍然遵循 协议规则,就好像它们不存在一样。要求 客户端访问存储设备,必须由 客户端持有布局。 在同一部分进一步向下: 请注意,客户端仍然需要执行上述适当的 OPEN、LOCK 和 ACCESS 操作。客户可以规避这些操作的程度以及这样做的后果必须由各个布局类型规范明确规定。此外,这些规范必须明确服务器执行检查的要求和非要求。 在存在 pNFS 功能的情况下,强制字节范围锁的 行为必须与没有 pNFS 时的行为相同。因此,如果同时提供强制文件锁和布局,存储设备 必须能够强制强制字节范围锁。例如,如果一个客户端获得了强制字节范围锁,而第二个客户端访问了存储设备,则存储设备必须适当地 限制强制字节范围锁的范围内的 I/O。如果 存储设备在存在 强制字节范围锁的情况下无法提供此检查,则元数据服务器不得 同时授予布局和强制字节范围锁。
根据 RFC 5661(nfs 4.1,包括 pnfs)
https://www.rfc-editor.org/rfc/rfc5661#section-12.5.1
在同一部分进一步向下: