Linux

將大文件從一台 Linux 伺服器複製到另一台

  • October 22, 2018

我正在嘗試通過 10MB 連結將 75 GB tgz(mysql lvm 快照)從我們洛杉磯數據中心的 Linux 伺服器複製到我們紐約數據中心的另一台 Linux 伺服器。

我得到大約 20-30Kb/s 的 rsync 或 scp,它在 200-300 小時之間波動。

目前它是一個相對安靜的連結,因為第二個數據中心還沒有啟動,我從小文件傳輸中獲得了極好的速度。

我已經按照我通過Google找到的不同的 tcp 調整指南無濟於事(也許我正在閱讀錯誤的指南,得到一個好的指南?)。

我已經看過 tar+netcat 隧道提示,但我的理解是它只適用於大量小文件,並且在文件有效完成傳輸時不會更新您。

在我訴諸運送硬碟之前,有沒有人有什麼好的意見?

更新: 嗯…畢竟可能是連結:(請參閱下面的測試…

從紐約轉移到洛杉磯:

得到一個空白文件。

[nathan@laobnas test]$ dd if=/dev/zero of=FROM_LA_TEST bs=1k count=4700000
4700000+0 records in
4700000+0 records out
4812800000 bytes (4.8 GB) copied, 29.412 seconds, 164 MB/s
[nathan@laobnas test]$ scp -C obnas:/obbkup/test/FROM_NY_TEST .
FROM_NY_TEST                                    3%  146MB   9.4MB/s   07:52 ETA

獲取快照壓縮包。

[nathan@obnas db_backup]$ ls -la db_dump.08120922.tar.gz
-rw-r--r-- 1 root root 30428904033 Aug 12 22:42 db_dump.08120922.tar.gz

[nathan@laobnas test]$ scp -C obnas:/obbkup/db_backup/db_dump.08120922.tar.gz .
db_dump.08120922.tar.gz            0%   56MB 574.3KB/s 14:20:40 ET

從洛杉磯轉移到紐約:

得到一個空白文件。

[nathan@obnas test]$ dd if=/dev/zero of=FROM_NY_TEST bs=1k count=4700000
4700000+0 records in
4700000+0 records out
4812800000 bytes (4.8 GB) copied, 29.2501 seconds, 165 MB/s
[nathan@obnas test]$ scp -C laobnas:/obbkup/test/FROM_LA_TEST .
FROM_LA_TEST                                    0% 6008KB 497.1KB/s 2:37:22 ETA

獲取快照壓縮包。

[nathan@laobnas db_backup]$ ls -la db_dump_08120901.tar.gz
-rw-r--r-- 1 root root 31090827509 Aug 12 21:21 db_dump_08120901.tar.gz

[nathan@obnas test]$ scp -C laobnas:/obbkup/db_backup/db_dump_08120901.tar.gz .
db_dump_08120901.tar.gz                0%  324KB  26.8KB/s 314:11:38 ETA

我想我會和執行我們設施的人一起討論這個連結被標記為 MPLS/乙太網 10MB 連結。(聳肩)

有人嗎?

假設這是一次複製,我認為不可能將文件複製到 CD(或其他媒體)並在一夜之間將其複製到目的地嗎?

這實際上可能是您最快的選擇,因為通過該連接傳輸該大小的文件可能無法正確複製……在這種情況下,您可以重新開始。


rsync

我的第二個選擇/嘗試是 rsync,因為它檢測到失敗的傳輸、部分傳輸等,並且可以從中斷的地方繼續。

rsync --progress file1 file2 user@remotemachine:/destination/directory

–progress 標誌會給你一些回饋,而不是坐在那裡讓你自己去猜測。:-)


Vuze (bittorrent)

第三種選擇可能是嘗試使用 Vuze 作為 torrent 伺服器,然後讓您的遠端位置使用標準的 bitorrent 客戶端下載它。我知道其他人已經這樣做了,但你知道……當他們把它全部設置好執行時,等等……我本可以在一夜之間保存數據……

取決於你的情況,我猜。

祝你好運!


更新:

你知道,我開始考慮你的問題了。為什麼文件必須是一個巨大的壓縮包?Tar 完全能夠將大文件拆分成較小的文件(例如跨媒體),那麼為什麼不將那個巨大的 tarball 拆分成更易於管理的部分,然後將這些部分轉移過來呢?

引用自:https://serverfault.com/questions/53531