网络与分布式文件系统
1. 共性
网络文件系统把 VFS 操作转换为远端协议:
1 | VFS path/file/inode ops |
本地 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;
- 网络文件系统不可用时业务降级。
正在加载留言…