2台のコンピューター間で大量のデータを送信する最速の方法は何ですか?[閉まっている]
これは私が頻繁にいる状況です: 内部に320GBのハードドライブと16GBのRAMを備えたソースサーバーがあります(正確な仕様はここで入手できますが、これは他のマシンでも頻繁に遭遇する問題であるため、 「合理的な」Linuxマシン) 数テラバイトのハードドライブ領域を備えたバックアップサーバーがあります(正確な仕様はこちら、上記の免責事項を参照) ソースサーバーからターゲットサーバーに320 GBのデータ(具体的にはからのデータ/dev/sda)を転送したい。 2台のコンピューターは物理的に隣り合っているので、ケーブルを接続できます。 私はLAN上にいて、新しいルーターを使用しています。これは、ネットワーク速度が「理想的には」1000Mビットであるべきだということです。 セキュリティは問題ではありません。私はローカルネットワーク上にあり、ルーターを含むネットワーク上のすべてのマシンを信頼しています。 (オプション)データの署名付きチェックサムは必ずしも必要ではありませんが、基本的なエラーチェック(ドロップされたパケットやドライブが読み取れなくなるなど)は、出力に消えるのではなく、検出する必要があります。 この質問をオンラインで検索し、いくつかのコマンドをテストしました。最も頻繁に表示されるのはこれです: ssh user@192.168.1.100 'dd bs=16M if=/dev/sda | gzip' > backup_sda.gz このコマンドは遅すぎることが判明しました(1時間実行し、データで約80GBしか得られませんでした)。1GBのテストパケットには約1分22秒かかり、圧縮されていない場合は2倍の速度になりました。また、転送されたファイルがソースシステムのRAM容量よりも少ないという事実によって、結果が歪められた可能性があります。 さらに(これは1GBのテストピースでテストされました)、gzipコマンドとdd; を使用すると問題が発生します。結果ファイルは、直接パイプされた場合とは異なり、ターゲットで抽出されたときとは異なるチェックサムを持ちます。私はまだこれが起こっている理由を解明しようとしています。