抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

记录使用 ServerSide Copy实现快速文件拷贝。

前置条件

NAS 设置 SMB 共享,不同盘挂载为主机电脑的不同文件夹。

问题

远程操作 NAS 时,在不同硬盘间复制或移动文件,经常发现会占用本机网络。

假如我的网络目前为千兆,数据通过电脑中转的话下载上传各占满带宽一半,导致移动文件的速度只有 50MB/s 左右非常慢。数据都是要经过我的电脑中转的,无法直接在 NAS 内部通过硬盘传送。

那么是否可以实现直接在 NAS 跨磁盘传输数据呢?

解决

SMB 协议有个功能特性为 ServerSide Copy (服务器端复制操作),顾名思义,可以直接在 NAS 跨磁盘传输数据。

Samba 4.1.0 是第一个通过 SMB2 FSCTL_SRV_COPYCHUNK 请求支持服务器端复制操作的版本。

对于 NFS,2016 年 11 月发布的 NFSv4.2 规范支持 ServerSide Copy

方法一:在 NAS 本机传输

(熟悉命令行也可以使用命令行传输文件,但是并不是太好用)。

推荐在 NAS 安装具备 WebUI 的文件管理器 APP(如 Filebrowser),在文件管理器中进行文件操作。

方法二:使用 Windows

使用支持 SMB ServerSide Copy 特性的 SMB 客户端进行文件操作,操作系统如 Windows 8+ 的 文件资源管理器即可支持。

但是对于 macOS Finder,需要服务器 Sambasmb.conf 中包含 vfs_fruit 模块和 fruit:copyfile = yes

对于 macOS,Finder 及第三方文件管理器,均无法支持 SMB 的ServerSide Copy

参考

-EOF

查看最新版,请访问本文链接:https://blog.onehat.cn/p/fc3d.html

原创作品,转载请保留出处。

评论