请问 Linux 如何实现从存储 A 目录拷贝文件到存储 B 目录 流量不走客户端本地中转

2022-01-14 15:50:25 +08:00
 hewitt29

目前使用 cp 命令所实现的过程是 文件从 A 目录到客户机,再由客户机上传到 B 目录。。

而 win8 以后的系统对存储目录间的拷贝流量是不过本地中转的

我知道可以使用软链接的方式。。。但是目前的在使用的应用服务对软链接的支持有问题,所以还是想问问有办法像 win 一样的实现方式吗

3627 次点击
所在节点    Linux
14 条回复
ziseyinzi
2022-01-14 15:58:16 +08:00
你是指远程文件夹?同一个挂载点内不会走本机,跨挂载点就不行了。
ungrown
2022-01-14 19:36:15 +08:00
感觉你问题没描述清楚,是针对 CIFS/SMB 远程共享吗
learningman
2022-01-14 21:28:07 +08:00
拷贝是 fread 和 fwrite ,肯定是要过本地的,你得自己写驱动重载对应的 posix 接口,里面做判断是不是服务器端执行然后再传给服务器去执行
est
2022-01-14 22:30:57 +08:00
> 目前使用 cp 命令所实现的过程是 文件从 A 目录到客户机,再由客户机上传到 B 目录。。

你这个 cp 命令不是原装的把。。。
ltkun
2022-01-15 09:14:59 +08:00
既然知道软连接 那不还有硬链接呗
IvanLi127
2022-01-16 17:42:48 +08:00
你的 cp 有点 奇怪
GoodRui
2022-01-16 21:33:20 +08:00
scp 不行吗?
libook
2022-01-17 10:23:56 +08:00
拓扑是啥样的,描述看不大明白。

假设是从计算机 X 连到计算机 Y ,操作计算机 Y 上的 A 目录和 B 目录里的文件,如何才能让文件数据不经过计算机 X ,是这个意思吗?

这样的话,你从 X 上 SSH 到 Y ,然后在 Y 的环境下用 cp 命令就不会走 X 了,就像你在 Y 计算机直接使用 cp 命令一样。
hewitt29
2022-01-18 15:25:54 +08:00
@ziseyinzi 嗯。是的。。我是同一个挂载点。。。但是流量走本地了
hewitt29
2022-01-18 15:29:48 +08:00
@libook 嗯,对的,就是这个意思。。可能是我描述的不清楚

把你理解中的计算机 Y 换成存储 Y
hewitt29
2022-01-18 15:48:24 +08:00
就是由图一的方式变为图二的方式

<img src="https://ablum.vercel.app/3.png" >


<img src="https://ablum.vercel.app/4.png" >
hewitt29
2022-01-18 15:54:18 +08:00
@ungrown 是的 用的是 cifs 挂载的
yanqiyu
2022-01-19 10:27:19 +08:00
Server Side Copy
https://wiki.samba.org/index.php/Server-Side_Copy
印象中是默认的啊,你的客户机的 coreutils 和内核版本,主机端服务器版本是多少?以及 samba 的配置文件长啥样?
yanqiyu
2022-01-19 10:29:11 +08:00
客户端:
Linux Kernel support for FSCTL_DUPLICATE_EXTENTS_TO_FILE was added with kernel version 4.2, and can be issued via cp --reflink on supported systems with SMB3+ mounts.
服务器:
Samba's smbd file server supports SMB2 Copy-Chunk requests by default, no additional configuration is required.
看看这些硬性要求有没有被满足

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/828269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX