收起左侧

NFS 存在 rename 操作故障 Bug

1
回复
48
查看
[ 复制链接 ]

4

主题

12

回帖

0

牛值

江湖小虾

飞牛从上次内核更新后,至今版本存在NFS故障,表现为其他设备连接到飞牛,可正常上传下载删除等操作,但是不能重命名,重命名报错。

系统版本:X86

设备环境:虚拟机内安装飞牛、局域网访问、系统1.1.3106

出现频率:必现

联系方式:447群-~

问题现象

  • PVE vzdump 备份到 NFS 存储 FN-PVE 时,文件写入成功但 rename 失败
  • ERROR: unable to rename ... .vma.dat to ... .vma.zst

排查过程

  1. 最初以为是 all_squash 导致的 UID 映射问题 → 改为 no_root_squash 后问题依旧
  2. touchdd 写文件成功,stat/ls 能看到文件,但 mv 报 ENOENT
  3. actimeo=0noac 等挂载选项无效
  4. NFSv3 和 NFSv4 均受影响

strace 证据

renameat2(AT_FDCWD, "srcfile", AT_FDCWD, "dstfile", RENAME_NOREPLACE) = -1 EINVAL
renameat(AT_FDCWD, "srcfile", AT_FDCWD, "dstfile") = -1 ENOENT

结论

  • NAS(FN-NAS)的 NFS 服务端存在 rename 操作 bug
  • NFSv3 和 NFSv4 均受影响,问题与 NFS 版本无关
  • os.listdir() 能列到文件,os.path.exists() 返回 True,但 os.rename() 报 FileNotFoundError
  • 客户端 stat/ls 用 LOOKUP/GETATTR 能读到文件,但 RENAME 走不同路径返回 ENOENT

NFS 导出配置

/fs/1000/nfs  *(rw,async,insecure,all_squash,no_subtree_check,insecure_locks,sec=sys,anonuid=1000,anongid=1001,fsid=1000)
收藏
送赞
分享

感谢补充,当前这个 NFS 重命名故障已修复,可能在后续版本添加。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则