pNFS 上的锁定机制

pNFS 上的锁定机制

据我所知,在并行 NFS 中,从元数据服务器获取布局后,客户端直接与数据服务器通信。我想知道如果多个客户端同时读取或写入数据服务器的同一区域会发生什么。pNFS 中是否有任何锁定机制。

答案1

按照 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。如果
存储设备在存在强制字节范围锁定的情况下无法提供此检查
,则元数据服务器不得同时
授予布局和强制字节范围锁定。

相关内容