从 NAS 复制时拼接文件时出错

从 NAS 复制时拼接文件时出错

这是绝望的转发这个问题我早在 Ubuntu 论坛上就创建过这个问题,但从未修复过。

我在将文件从 Samba/Cifs NAS 复制到驱动器时​​收到此错误消息。我正在使用 Nemo 4.4.2 运行 Ubuntu 20.10

Error while copying 'filename'
There was an error copying the file into '/destination'
Error splicing file: Input/output error

cp 也会产生错误

cp /media/NAS\ Storage/file .
cp: error reading '/media/NAS Storage/file': Input/output error

我现在可以报告我刚刚安装的第二个磁盘也出现了同样的情况

更多信息和更多怪异之处:

  • 另一台装有 Ubuntu 和 Nautilus 的机器也遇到了同样的问题
  • 但是我的 Windows 机器没有
  • 文件已部分复制,但缺少最后几 MB。
  • 使用适当的程序打开来自我的 NAS 的文件非常方便。
  • FTP 和 rsync 工作正常
  • 这是我的 fstab
# Nas Storage "Volume_1" on 192.168.1.140
//192.168.1.140/Volume_1    /media/NAS\040Storage        cifs    credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777,vers=1.0 0 0

注意:第二台机器挂载点没有空格,依然不行

  • 我可以将文件上传到 NAS,也可以从 NAS 复制到自身
  • 小文件几乎总是可以工作,大文件则很少(>500MB)

从那时起,我浏览了手册中的每个选项,看看是否有更好的安装方法,包括

  • serverino, 不serverino
  • 软硬
  • 诺尼克斯

我该怎么办?我怎样才能至少获得更详细的错误消息?

答案1

以下设置帮我解决了这个问题。我的客户端计算机是 Linux Mint 21(基于 ubuntu 22.04)系统,内核 5.14.21。文件服务器是固件 7.8.1 上的 Apple Time Capsule 第四代。我在 Mint 20.3(基于 ubuntu 20.04),内核 5.4.0.120 中也遇到了这个问题。

sudo mount //tc.local/apdata /mnt/tc/apdata -t cifs -o "cred=/home/ganesh/.apcred,domain=WORKGROUP,ip=10.0.1.1,servern=tc,rw,uid=1000,gid=1000,vers=1.0,sec=ntlm,noposix,cache=strict,rwpidforward,noserverino,nosetuids,actimeo=3"

您可能希望将 actimeo= 选项调整为最多 30 秒。它基本上告诉客户端不要过于频繁地重新加载元数据,这会导致一些复制程序出现问题。

您可能需要检查“man mount.cifs”来了解上述选项。

还要检查客户端机器的 dmesg 输出,以确保源驱动器没有因读取 IO 错误而出现故障。

相关内容