哪些文件传输协议支持服务器端复制?


9

我想知道Linux上可用的哪些文件传输协议支持服务器端复制(并且不会在内部下载和重新上传文件)。我最简单的用例是将大文件(例如VM)从一个目录复制到同一共享中的另一个目录。

我知道Samba 4.1.0最近在SMB2协议中实现了对FSCTL_SRV_COPYCHUNK的支持,但是据我所知,尚无客户端工具/文件管理器支持此功能(链接)。我也看过AFP,但只有两个用于装载AFP共享的Linux工具gvfs-afpafpfs-ng而且都不是太好。afpfs-ng无需维护,无法与netatalk(segfaults)配合良好,而gvfs-afp在工作时与afpfs-ng相比吞吐量非常低。更新: NFS的下一版本可能也支持此功能。

还有其他协议支持服务器端复制吗?

提前致谢!


1
您很少或经常需要吗?被运营商的用户使用吗?如果很少或经营者,我只是SSH的机器
miniBill

Answers:


5

如您所述,AFP支持服务器端副本。最新的gvfs未发布版本包含对gvfsd-afp的许多改进,使其更可靠,更快捷。在我的测试中,对于1GBE的大型传输,它能够以大约70MB / s的速度传输,并且能够在11秒内复制10000个文件的目录,这还不错。如果服务器端副本很重要,并且您不想登录到终端,则建议使用此功能。

我们还计划很快添加对gvfsd-smb的服务器端复制支持,但是谁知道“很快”何时会出现...

(免责声明,我帮助维护gvfs。)


非常感谢!我将从git编译gvfs并尝试一下。顺便说一句,您知道Samba 4是否支持服务器端复制,还是需要Windows服务器?
2014年

我刚刚从git master(232d6d76029dc1cbc0c76c2459f9db26b7717d28)编译了gvfs ,AFP现在工作得很漂亮。服务器端副本可以工作,吞吐量与gvfs-smb和sftp(通过802.11ac)相当。再次感谢!
安德鲁·甘纳森

太好了:-)是的,Samba 4.1 服务器确实支持服务器端复制afaik。Samba客户端工具没有。我认为已经在cifs内核模块中添加了支持,以进行服务器端复制,但是需要使用特殊的ioctl来使用它,而大多数程序都不会使用它。
罗斯·拉格沃尔

6

如罗斯·拉格沃尔(Ross Lagerwall)所述,Linux CIFS内核客户端(cifs.ko)可以通过CIFS_IOC_COPYCHUNK_FILE ioctl来使用Samba 4.1+ SMB2服务器端复制支持。

fstests附带的Cloner实用程序可用于在cifs.ko SMB2安装点上发布ioctl。smbclient支持方面的工作也在进行中。

Samba服务器端复制实现的一个好处是,它可以在Btrfs文件系统上使用,以执行近乎瞬时的文件数据复制/重复数据删除,如本性能比较所示

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.