摘要
- RFC 9561 为 pNFS SCSI 布局规定了 NVMe 命名空间标识、预留键、客户端隔离和易失缓存刷新的对应关系。
- NGUID 只命名目标,Preempt 只请求状态转换,Flush 只支撑边界明确的稳定存储声明;它们都不是应用结果。
- 可审计的证据链必须连接 Host Identifier、全部控制器路径、预留状态、隔离后的 I/O、缓存状态、
LAYOUTCOMMIT与后续读回。
元数据服务器已经从 LAYOUTCOMMIT 返回,控制台于是显示绿色。但绿色没有回答三个问题:旧客户端是否在每条路径上都失去访问权,相关字节是否真正离开易失缓存,应用稍后是否读到预期文件状态。RFC 9561 给出共同命令,没有替运营者合并这些证据。
RFC 9561 于 2024 年 4 月作为 IETF 标准轨文档发布。它不改写 RFC 8154 的 SCSI 布局,而是把其中少数 SCSI 概念映射到 NVMe,并允许控制器经 PCIe、RDMA、TCP 或 Fibre Channel 工作。
标识符能定位,不能作证结果
可用的 NVMe 命名空间必须提供 EUI64 或 NGUID。pNFS 卷的二进制 designator 携带其一,XDR 长度以八字节和十六字节区分两者。这让双方知道线上的字节代表什么。
它却不证明设备内容、新鲜度或多路径一致性。NVMe 预留键覆盖同一 Host Identifier 关联的全部控制器。若路径清单或 Host Identifier 发生漂移,文件名没变,预留的真实边界却可能已经改变。
隔离必须落到存储行为
MDS 返回卷之前,要登记自己的键并取得“仅登记者独占访问”预留。对失去响应的客户端,它以 Preempt 或 Preempt and Abort 指定双方预留键。被隔离端可通过 Reservation Conflict 识别该状态。
命令成功仍不是全部。RFC 8154 要求被隔离客户端发出的所有 I/O 都被存储拒绝。因此需要保留前后预留状态,并在每条控制器路径上测试旧键。若库存漏掉一条路径,漂亮的 Preempt 回执仍可能只覆盖一部分现实。
不可重试的 DNR 错误还要求客户端经 MDS 提交相关布局、归还未结布局、忘记设备 ID 并注销键。规范分配了责任,不会远程证明某个客户端完成了全部步骤。
提交成功包含一个有条件的刷新边
当 VWC 与 WCE 表明易失写缓存启用时,MDS 必须先完成 NVMe Flush,再让 LAYOUTCOMMIT 返回。该操作对应 SCSI SYNCHRONIZE CACHE。它能支撑关于某个命名空间和某次排序的稳定存储声明,却不自动证明复制、未来可读、业务事务或用户结果。
安全也分层。NFSv4/RPC 保护到 MDS 的交互,不自动保护更低层的 NVMe I/O。NVMe/TCP 可用 TLS,PCIe 则可能几乎没有额外协议安全。NFS 处理用户与文件,NVMe 处理发起端与卷;客户端必须维持两种权限粒度的对应关系。
陆恒的现实分层方法在这里很直接:名字、配置、执行过的命令、设备状态与应用观察都真实,但彼此不能冒充。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance

