私がよく遭遇する内容は次のとおりです。
- 320GBのハードドライブと16GBのRAMを備えたソースサーバーがあります(正確な仕様はこちらでご確認いただけますしかし、これは他のコンピュータでも頻繁に発生する問題なので、答えが「合理的な」Linuxコンピュータで動作することを願っています。)
- 数テラバイトのハードドライブ容量を持つバックアップサーバーがあります(正確な仕様はこちら、上記の免責事項を参照)
ソースサーバーからターゲットサーバーに320GBのデータ(特にデータ)を転送したいと思います/dev/sda
。
- 2 台のコンピュータは物理的に隣接しているため、2 台のコンピュータ間にワイヤを接続できます。
- 私はLANにいます新しいルーターを使用しています。、これは私のネットワーク速度が「理想的に」1000Mbitでなければならないことを意味します。そうですか?
- 安全は問題になりません。私はローカルネットワークにいて信頼していますみんなルータを含むネットワーク上のコンピュータ。
- (任意に選択できる)データの署名付きチェックサムは必ずしも必要ではありませんが、出力から単に消えるのではなく、基本的なエラーチェック(パケット損失や読み取り不可能なドライブなど)を検出する必要があります。
この問題についてウェブを検索し、いくつかのコマンドをテストしました。最も一般的なものは次のとおりです。
ssh [email protected] 'dd bs=16M if=/dev/sda | gzip' > backup_sda.gz
このコマンドは遅すぎることがわかりました(1時間実行され、約80 GBのデータのみがインポートされました)。 1GBのテストパケットは約1分22秒かかりました。これは圧縮されていない場合は2倍の高速です。転送されるファイルがソースシステムのRAM容量より小さいため、結果が歪む可能性があります。
また、(1 GB テスト スニペットでテスト済み)gzip
コマンドを使用すると問題が発生し、dd
ターゲットから抽出したときに結果ファイルに直接パイプする場合とは異なるチェックサムがあります。私はまだなぜこのようなことが起こるのかを理解しようとしています。
ベストアンサー1
サーバーは物理的に互いに隣り合い、あなたの意見から物理的にアクセスできると述べたので、最速最初のコンピュータからハードドライブを取り外し、2台目のコンピュータに挿入してから、SATA接続を介してファイルを転送します。