ファイル転送プロトコルのオプション?
-
03-07-2019 - |
質問
私は、潜在的に複数のセッションで、あるマシンから別のマシンに自明ではない(10G> x> 10MB)量のデータを転送する良い方法を探しています。
簡単に見てきました
- * ftp(sftp、tftp、ftp)
- http
- トレント(一般にシードネットワークがないため)
- rsync(これを本当に必要なものに適応できるかどうかわからない)
この法案にもう少し適しているかもしれない他のプロトコルはありますか?上記のほとんどは、それ自体ではフォールトトレラントではありませんが、クライアント/サーバーアプリに依存してスラックを拾います。この段階では、適切に機能する特定のクライアント/サーバーの実装というよりも、プロトコル自体を重視しています。
(そして、私はudpの上に自分で書くことができることを知っていますが、私はほとんど何でも !!)
解決
rsync(SSH経由)を使用して、1分以上かかると思われるものを転送します。
レート制限、一時停止/再開、進行状況レポートの取得は簡単です。 SSHキーで自動化できます。 (通常)既にインストールされています(とにかく* nixボックスに)。
必要なものに応じて、rsyncはおそらく適応できます。多くのユーザーに配布している場合、ファイアウォールの問題にはFTP / HTTPの方が適している可能性があります。ただし、rsyncは1対1または1対1の転送に最適です。
他のヒント
rsyncはほとんどの場合最良の方法です。
転送は中断された場合、差分のみを転送するため、次回は最初の転送ほど大きくはなりません(宛先にファイルがなかった場合)
BitTorrentは、効果的な大きなシードネットワークを必要としません。1つのシーダーと1つのピアで問題なく動作します。トラッカーなどのセットアップには多少のオーバーヘッドがありますが、一度セットアップすると、優れた、ジッピーな、フォールトトレラントな転送方法になります。
GridFTP は、アルゴンヌが大量の輸送に使用しているものです。データを確実に。