大陸間で大量のデータを転送する[複製]


12

重複の可能性:
インターネット経由で大きなファイルを共有する無料の方法?
インターネットを使用せずに大きなファイルを転送するためのオプションは何ですか?

私の妻の研究室は、ここシンガポールで共同研究者と共同でプロジェクトを行っています。大陸間で大量の高次元画像データ(最大10GB圧縮)を転送する必要がある場合があります。現在の技術では、この使用シナリオに適したソリューションは何でしょうか?

いくつか考えられますが、どれも理想的ではありません。

  • インターネット経由の直接接続:転送速度は約500KB / sで、エラー/再送信を処理するツールもありません。
  • Dropboxなどの一般的なサーバーまたはサービスにアップロードします。米国以外の共同編集者にとってはアップロードが苦痛です。
  • ディスクの書き込みまたはHDへのコピーとCourierによる出荷:待ち時間が長く、ローカルコピーを作成するための余分な作業が必要です。

助言がありますか?

更新:コラボレーションのどちらの当事者も技術に精通したユーザーではありません。


写真のような画像、またはDVDを表すファイルのような画像?
ダニエルベック

顕微鏡で生成された高次元画像。
フランク

1
だから、いくつかの非常に大きなファイルですか?ファイル数、個々のファイルサイズ、および転送間の変更の数に関する詳細を教えてください。それらのすべてですか、それらの一部などですか?
ダニエルベック


SneakernetまたはIPoACの仕事のように聞こえます。
ナフトゥリケイ

回答:


20

rsyncを使用することをお勧めします。Rsyncはデルタ転送アルゴリズムをサポートしているため、ファイルが部分的にしか変更されていない場合、または以前の転送が異常終了した場合、Rsyncは十分に賢く、新しい/変更されたもののみを同期します。

オリジナルのRsyncには、Windowsや他の非UNIX互換システムへの、無料と非無料の両方のポートがいくつかあります。詳細については、Rsync Wikipediaの記事を参照してください。

SSHを介したRsyncは非常に広く使用されており、うまく機能します。現在、10GBは比較的少量のデータであり、「ときどき」の意味を指定しませんでした。毎週?毎日?毎時?500KB /秒の転送速度では、実際に長い時間ではなく、約6時間かかります。データを頻繁に転送する必要がある場合は、cronタスクを作成してrsyncを自動的に開始することをお勧めします。


rsyncデルタに独自のプロトコルを必要とせず、もう一方の端に有能な対応システムを必要としますか?
ダニエルベック

@DanielBeck:ドキュメントにSSH経由のrsyncがdeltacopyを使用できないと言っているものは何もありません...
haimg

+1そこにポイントがあります。ただし、サーバーにLinuxの要件は残っていますか?
ダニエルベック

rsyncバイナリ圧縮データ(.zipまたは.jpg)を転送するときに、のデルタアルゴリズムは機能しますか?
アディティア

@DanielBeck:いくつかのWindows rsyncポートを含むウィキペディアの記事へのリンクを追加しました。明らかに、それらの少なくともいくつかは、sshを含むサーバーとして動作します。私はそれらのいずれも使用したことがない。
haimg

12

インターネットを介した接続は実行可能なオプションであり、ビットトレントなどのプログラムは、ファイルを論理的な断片に分割し、インターネット上で送信して相手側で再構築するため、まさにこの目的に適しています。

Bittorrentはまた、自動エラー修正、破損したピースの修復を提供し、より多くの人々がファイルを必要としている場合、ダウンロードされたファイル(の一部)と同じ数のソースからファイルを提供できるという利点が得られます。

認められた人々は映画などをダウンロードする良い方法としてそれを見るが、それはもっと多くの合法的な用途を持っている。

多くのbittorrentクライアントにもトラッカーが組み込まれているため、ファイルをホストするために専用サーバーを用意する必要はありません。


2
入力いただきありがとうございます。学術ネットワーク内でBitTorrentを使用すると、管理者が緊張する場合があります。また、トラッカーサーバーのセットアップとメンテナンスは、平均的なコンピューターユーザーにとってそれほど簡単ではない場合があります。
フランク

2
これは良い点です。多くの企業および学術ネットワークでは、ビットトレントが積極的に禁止されています。適切に管理すれば、ビットトレントの使用を許可されているユーザーまたはマシンのネットワーク内にホワイトリストを設定できますが、これは適切に機能するためにそれぞれのIT部門と非常に密接な関係を意味します。前述したように、多くのクライアントプログラムに組み込むことができるため、必ずしも専用サーバーを用意する必要はありません。それがあなたの状況によく合わない場合でも心配はありませんが、あなたの要件を考慮して合理的であるように思えました。
モクバイ

ビトレントを使用している場合、ウェブシードも賢いアイデアのように聞こえます
ジャーニーマンオタク

(回答で言及されている「より合法的な使用」の例として、Facebook bittorrentを使用して 1GBバイナリのサイトを数千の実稼働サーバーに展開します。
アントンストロゴノフ

6

ファイルを、たとえば50MBのチャンクに分割します(例:を使用split)。それらすべてのチェックサムを計算します(例md5sum)。lftpLinux などのFTPおよびエラー耐性FTPクライアントを使用して直接アップロードします。すべてのチャンクとすべてのチェックサムを含むファイルを転送します。

リモートサイトで、すべてのチャンクに目的のチェックサムがあることを確認し、失敗したチャンクを再アップロードして、元のファイルに再アセンブルします(例:を使用cat)。

必要に応じて、サーバーの場所を元に戻します(宛先サイトがサーバーを提供し、ファイルの準備ができたらローカルで転送を開始するという前提で投稿しました)。FTPクライアントは気にする必要はありません。


私は過去にも同様の問題を抱えていましたが、エラー耐性のあるFTPクライアントを使用するとうまくいきました。ビットが反転することはなく、通常の接続が中断されるだけなので、チャンクの作成をスキップして、ファイルをアップロードするだけでした。念のため、ファイル全体のチェックサムを提供しました。


3
ただしlftp何らかの理由で進行中の転送を中止しないように注意する必要があります。宛先サイトに常に十分な空きディスク領域があることを確認してください。
ダニエルベック

3

Daniel Beckの答えのバリエーションは、ファイルを50MBから200MBのオーダーでチャンクに分割し、セット全体のパリティファイルを作成することです

これで、ファイル(パリティファイルを含む)をFTP、SCPなどでリモートサイトに転送し、セット全体の到着後にチェックを行うことができます。破損した部品がある場合、十分なブロックがあればパリティファイルによって修正できます。これは多かれ少なかれ、破損したファイルの数と作成したパリティファイルの数に依存します。

パリティファイルは、大きなファイルを送信するためにUsenetで頻繁に使用されます。ほとんどの場合、それらはRARアーカイブとして分割されます。この方法で最大50〜60GBのデータを送信することは珍しくありません。

必ず最初のリンクを確認してください。また、パリティファイルの作成、ダウンロードしたファイルの確認、提供されたパリティファイルで破損したファイルの復元に使用できるツールであるQuickParを確認することもできます。


+1-このアプローチはusenetでうまく機能し、パリティファイルは驚くべき量の欠落データを修復できます。欠点は、パリティファイルを分割して生成し、受信後にファイルをパリティチェックして抽出するために必要な処理時間です。
deizel

1

1つの大きな10GBファイルですか?簡単に分割できますか?

私はこれほど遊んだことはありませんが、この状況で機能する可能性のある興味深い比較的単純な概念として私を驚かせました。

http://sendoid.com/


Sendoidはかなりクールですが、残念ながらアップロードにはまだ苦痛が伴います。繰り返しになりますが、HDDを郵送するのでない限り、私が信じるすべてのタイプで問題が解決しません。使いやすいので+1。
DMan

0

ftp / http / https / sftp / ftps(ログオン資格情報が必要)を介してデータを使用可能にし、クライアント側のダウンロードマネージャーを使用します。

ダウンロードマネージャーは、発生する可能性のあるエラーに関係なくデータを取得するように特別に設計されているため、タスクに最適です。

サーバーに関しては、通常、FTPサーバーのセットアップが最も簡単です。あなたは協議することができるリストをウィキペディアで。HTTPS、SFTP、およびFTPSは暗号化を許可します(純粋なFTP / HTTPでは、パスワードはクリアテキストで送信されます)が、クライアントソフトウェアでSFTP / FTPSがサポートされることはあまりなく、HTTP / HTTPSサーバーのセットアップは複雑です。


1
httpまたはftpを使用する場合の問題は、送信エラーがあることです。すべてを送信する必要があります。rsync、bittorrent、およびその他のプロトコルは、ファイルが一致することを確認し、破損したピースのみを再送信できます。QuickParが生成するパリティデータも役立ちます。
afrazier

FTPとHTTPの両方には、オプションの拡張機能として転送再開機能が含まれており、ほとんどのサーバーと実質的にすべてのダウンロードマネージャーでサポートされています。
ivan_pozdeev

それら再開する可能性があり、理論的には、TCPはデータが正しい順序で有効なチェックサムで到着することを確認します。ただし、大規模なHTTPまたはFTP転送が破損している人は誰でも、より堅牢なプロトコルまたは何らかのECCの価値を知っています。
afrazier
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.