比如机器 A 、B 的/data 挂载了同一个 nfs 挂载点,A 机器/data 目录下有一个文件夹 a 下有 10000 个文件,我把/data/a 移动到/data/b ,对于机器 B 而言,如果节点 A 上已经看到 move 完成了,那么节点 B 上由于 nfs 异步延迟的存储,可能前几秒看不到这个移动的操作,过几秒之后可以看到/data/a 变成了/data/b ,那么存不存在一个中间状态,我能看到/data/b ,但是/data/b 下只有比如 2000 个文件
1
silverwzw 4 天前
我的理解是,nfs 的 rename 应该是原子的。因为 RFC 1813 (即 NFS v3 标准)的 3.3.14 节( Procedure 14: RENAME - Rename a File or Directory ) DESCRIPTION 部分是这么说的 "The operation is required to be atomic to the client."
|