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

Abu*_*ude 3 linux networking ssh centos rsync

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

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

我尝试过以下操作:

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

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

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

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

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

rsync -rvz -e "ssh" * abude@192.168.0.106:/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]
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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

rsync -avz -e 'ssh' --progress movies.tar.gz abude@192.168.0.106:/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]
Run Code Online (Sandbox Code Playgroud)

Lin*_*eak 6

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

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

例如,您可以在此处查看或查找以下内容:

如何创建私人种子