如何通过网络复制大数据?

如何通过网络复制大数据?

我有一台带有 Centos 7 的 HP Microserver gen 8,湾区只有一个硬盘,2 TB,安装为 NTFS。

我正在尝试通过网络从本地复制文件(一次大约 100GB)。

我尝试过以下方法:

  • 通过Samba
  • 通过SCP
  • 通过Rsync

此方法的常见问题通常是以下错误消息:

  • 系统是只读的,有 I\O 错误(我已经更换了硬盘,因为更有可能是它导致了这个问题,但不确定)
  • 磁盘已满(这是刚刚看到的,我正在使用Samba),磁盘 92% 是空的。
  • mkstemp 失败操作不允许

所以我在想也许有更好的方法来复制大数据,有吗?

另外,我只是尝试这样做:

rsync -rvz -e "ssh" * [email protected]:/folder

我得到了这个错误:

rsync: writefd_unbuffered failed to write 16385 bytes [sender]: Broken pipe (32)
rsync: write failed on "/folder/movie.mkv": Input/output error (5)
rsync error: error in file IO (code 11) at receiver.c(322) [receiver=3.0.9]
rsync: connection unexpectedly closed (490 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/io.c(453) [sender=2.6.9]

Torrent 答案不可能是复制这么多数据的唯一有效方法;我需要一个基于 Linux 的解决方案,没有 torrent。

--

更新:

在 @zeppelin 建议尝试使用一个大文件而不是许多 4-5GB 文件之后,我使用以下方法制作了一个大存档:tar -zcvf movies.tar.gz *

一旦我有了档案:

ls -alh movies.tar.gz 
-rw-r--r--  1 Abude  staff    77G Nov 11 13:54 movies.tar.gz

我做了rsync并得到以下问题:

rsync -avz -e 'ssh' --progress movies.tar.gz [email protected]:/nas/media
/etc/profile.d/lang.sh: line 19: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
building file list ... 
1 file to consider
movies.tar.gz
 82671089587 100%   25.36MB/s    0:51:49 (xfer#1, to-check=0/1)
rsync: mkstemp "/nas/media/.movies.tar.gz.ezRUOM" failed: Operation not permitted (1)

sent 82698841857 bytes  received 42 bytes  26586993.06 bytes/sec
total size is 82671089587  speedup is 1.00
rsync error: some files could not be transferred (code 23) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/main.c(992) [sender=2.6.9]

答案1

要复制大量数据,从主观上来说,私人种子可能是最佳选择之一。

不过,这不是制作种子教程的地方。

你可能会看这里例如或查找类似的内容:

如何创建私人种子

答案2

rsync是最好的解决方案。我建议您删除-z以便跳过压缩。压缩可能会占用临时压缩文件的额外磁盘空间。所以你应该使用:

rsync -av -e "ssh" * [email protected]:/folder

答案3

更新

权限错误(如下)归结为从文件中删除“-a”(--archive)标志同步命令,以防止它尝试保留所复制文件的所有权和权限。

进行本地“dd”测试后,检测到低级 IO 错误,可能是由磁盘故障引起的,导致文件系统损坏。


不允许操作 (1)

您看到的最后一个错误很可能是一个简单的权限问题,即用户“abude”没有写入权限/nas/媒体/),尝试使该文件夹公开可写:

 chmod a+rwx /nas/media

并重复 rsync 命令。

-------(下面忽略,因为OP现在使用的是NTFS分区)-----

基于此:

我有一台带有 Centos 7 的 HP Microserver gen 8,并且在>湾区只有一个硬盘,2 TB,安装为脂肪32

...

rsync:在“/folder/”上写入失败电影.mkv":输入/输出错误 (5) rsync错误:文件IO错误(代码11)位于receiver.c(322)>>[接收器=3.0.9]

以及你稍后的评论

@G大师任何小于 4GB 的文件都没有错误。我什至可以将这个数字增加到大约 8-10GB,但不确定。 – 阿布德 8 小时前

我认为您遇到的问题是您尝试解决的问题同步(至少某些)4GB+ 文件复制到 FAT32 文件系统,这是不可能的,因为这是 FAT32 文件大小的硬性限制。

最大文件大小 2^32 减去 1 字节

(https://technet.microsoft.com/en-us/library/cc938937.aspx

所以同步报告文件 IO 错误:

11     Error in file I/O

(https://linux.die.net/man/1/rsync

您有以下选择:

答案4

错误:receiver.c(322) 处的文件 IO(代码 11)中出现错误 1. /folder 对您来说可写吗?

rsync:连接意外关闭(到目前为止已收到 490 字节)[发送者] 2. SSH 已断开。你可以ssh进来吗?无钥匙或密码?

你说“我正在尝试通过网络从本地复制文件(一次大约100GB)”。希望我没有读错。目标IP是不可路由的IP(192.168.0.106)?可能您使用的是 VPN。

rsync -avr * user@<remoteIP>:/folder

如果连接中断,请使用 --bwlimit 来“减慢速度”。使用 --partial 恢复中断的尝试

相关内容