大きなファイルをLAN上の複数のマシンにコピーする


9

1つのLinuxマシンから他の約20のLinuxマシンにコピーする必要のある大きなファイルがいくつかあります。すべて同じLAN上で可能な限り迅速にコピーします。これらのファイルをコピーするのに最適なツール/方法。これは1回限りのコピーではないことに注意してください。これらのマシンはインターネットに接続されることはなく、セキュリティは問題になりません。

更新:

私がこれを尋ねる理由は、(私が理解しているように)現在scp、ファイルを各マシンにコピーするためにシリアルで使用しており、これは「遅すぎる」という通知を受けており、より高速な代替策が模索されているためです。私の話によると、scp呼び出しを並列化しようとすると、ハードドライブのシークにより、呼び出しがさらに遅くなります。


「大」を定義します。数百MB / GB / TB /それ以上?
Janne Pikkarainen

現在、合計は約4 GiB(圧縮)ですが、将来的には増加する可能性があります。
ジョナサンカレン

つまり、2011年であっても、決して大きくはありません。適切に切り替えられた1ギガビットリンク(2011年の標準)を考えると、これは達成するのが非常に困難です。10gサーバーで実行する(2011年でもそれほど珍しいことではありません)...まあ;)
TomTom 2018年

回答:


27

BitTorrent。これは、Twitterがいくつかのものを内部的にデプロイする方法です。

http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html(ウェブアーカイブリンク)


3
私の答え(あなたがそれを実装できるなら、私は良い仕事をすると思います)に加えて、NFSに対する以下の答えは非常に良いものです。優れたNFSサーバーはファイルをキャッシュするので、ディスクにアクセスし続けることはありません。また、それを使用して、サーバーからクライアントにファイルコピーしないでください。これをクライアントから開始し、NFSサーバーのキャッシュを利用してください。
mfinni

1
非実稼働環境で必ず試してください。プレゼンテーションでは、(iirc)交換されたパケットの数が原因で、最初の展開中に一部のスイッチで大きな問題が発生したと述べています(iirc)。
Shadok

1
@psusiすべてのデータを20回送信する必要があると言うのはなぜですか?他のピアがファイルの一部を取得すると、それらは他のピアに自分が持っている部分の送信を開始できます。
ジョナサンカレン

2
OPの問題はLANではなく、中央サーバー上のディスクです。
mfinni

1
@pSusi-マルチキャストは確かに別の有効な答えになります。それを答えとして投稿してください。私の答えをたたくものではありません。
mfinni

12

どの程度UFTP、それは一度に複数のクライアントにUDP上でファイルを配信するマルチキャスト使用しています。誰もが使えるわけではなく、私はその専門家ではありませんが、あなたが望んでいるように聞こえます。


1
免責事項:これには、マルチキャストをサポートする機器が必要です。
user606723

私はこれが同じVLAN上にあることを望んでいました-この使用の影響を減らします。
Chopper3

@ user606723:すべてが現代的ではありませんか?たぶんいくつかの消費者ジャンクはそうしませんが、私はしばらくの間、壊れたマルチキャストで何にも遭遇していません。最近はそれを使いすぎています。Windows Active Directoryはマルチキャストも使用していると思います。
Zan Lynx

私は実際にはこの@ZanLynxの経験はありません。多くのオフィス/コンピューターラボでは、最終ホップでコンシューマー/アンマネージドスイッチを使用しています。これらのスイッチはマルチキャストでどのように動作しますか?
user606723

3

このデータをコピーしようとしましたrsyncか?1ギガビットLAN以上を使用している場合、4 * 20 GBを超えるコピーは問題になりません。

このコピーはどのくらいの頻度で発生しますか?終了するまでに数分かかるかどうかは重要ですか?



2

NFS共有をセットアップし、各マシンに大きなファイルのこの共有リポジトリからプルさせることは、おそらく最速の方法です(NFSは非常に高速で、オーバーヘッドがほとんどありません)。

さらに1つまたは2つのNICをソースサーバーに追加し、それらを結合してスループットを向上させることができます。

実装は、各ターゲットサーバーでの単純なcronジョブであり、1時間、1日、または何でも共有から盲目的にフェッチします。新しいファイルをポーリングするようにデーモンを設定することもできます。また、各ターゲットボックスにSSHへの制御セッションをスクリプト化し(キーペアを使用)、スクリプトを実行するときにファイルをフェッチするように指示することもできます。


1
私の前任者はこれにNFSを使用しようとしたが、(当時は)RAMキャッシュが転送全体に十分な大きさではなかったため、ハードドライブの負荷がネットワークではなく制限要因になったと思います速度。
ジョナサンカレン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.