网络与分布式文件系统

网络与分布式文件系统

1. 共性

网络文件系统把 VFS 操作转换为远端协议:

1
2
3
4
VFS path/file/inode ops
-> client cache + consistency policy
-> RPC/message transport
-> remote server/storage

本地 dentry/inode/page cache 与远端权威状态之间必须 revalidate。

2. NFS

nfs/ + net/sunrpc/

  • NFSv2/v3/v4;
  • RPC transport;
  • attribute/data cache;
  • open/lock/stateid;
  • delegation;
  • pNFS;
  • idmapping/security flavor;
  • fscache。

NFSv4 是 stateful,server reboot 需要 lease/grace recovery。

3. SMB/CIFS

smb/client/

  • SMB2/3 session/tree/file;
  • credits;
  • lease/oplock;
  • signing/encryption;
  • multichannel(按配置);
  • durable handle;
  • DFS;
  • fscache。

smb/server/ 为 ksmbd server。client 与 server 代码和安全边界不同。

4. CephFS

fs/ceph/ 实现:

  • MDS client/session;
  • inode/dentry/cap/lease;
  • metadata request;
  • snapshots/quotas;
  • page cache/writeback。

公共 MON/OSD/messenger/CRUSH 位于 net/ceph/。CephFS metadata 走 MDS,file data 主要走 OSD。

5. 9P/AFS/其他

  • 9P:常用于 virtio/container/VM host sharing;
  • AFS:cell/volume/callback;
  • Coda/OrangeFS:各自分布式模型。

具体缓存、一致性和断线语义不可互换。

6. FSCACHE/CacheFiles

netfs/fscache/ 为支持的网络文件系统提供本地缓存编排,cachefiles/ 用本地目录作为后端。缓存可减少重复下载,但不会把网络 fs 变成本地强一致文件系统。

7. 错误语义

网络故障可能产生:

  • timeout/retransmit;
  • stale file handle;
  • lease/delegation recall;
  • session reconnect;
  • server not responding;
  • permission/id mapping mismatch;
  • uncertain completion。

应用需区分可重试读与非幂等元数据操作。

8. 性能

  • RTT 主导小文件 metadata;
  • 大文件受带宽、request size、并发和服务端存储限制;
  • attribute cache 降低 RTT 但增加陈旧窗口;
  • page cache/writeback 可能延迟错误;
  • 网络丢包会放大尾延迟;
  • fscache 受本地盘性能影响。

9. RK3588

边缘设备优先确认:

  • 稳定时间同步和 DNS;
  • MTU/丢包/TCP;
  • credential/keyring;
  • 断网恢复;
  • shutdown 时 writeback;
  • memcg 下 page cache;
  • 网络文件系统不可用时业务降级。

文章互动

阅读 --

留言

0 条留言

正在加载留言…