新しくインストールしたUbuntuサーバーがあり、これはVMストレージの新しいバックアップサーバーになるはずです。サーバーには4つのNICがあり、そのうち2つは10ギガビット(実際には最新のドライバーが利用可能なIntel x540-T2)であり、SANへの接続に使用されます。私はnfs-shareをローカルにマウントし、約30個のファイル、約15個のvm-imagesと対応するログファイルを含むディレクトリをコピーしながら速度の違いを比較しました。画像のサイズは8 GBから600 GBです。
使用:
cp -rf /mnt/nfs-share /backup-storage/
その結果、bmonは約600 MiB /秒を示します。
使用する
rsync -av /mnt/nfs-share /backup-storage/
bmonは最初の数秒間にいくつかのパケットを表示し、約30秒間停止し、その後最大で約60〜75 MiB /秒を構築します。 CPUは約60%です。
rsync
と同じパフォーマンスでcp
を使用するために何を変更する必要がありますか?
Rsyncをcpと同じパフォーマンスにする方法は、「cp」と綴ることです。
2つのコマンドの違いは、実質的な影響は同じであっても重要です。特に、rsyncは大量の読み取りを行って、一部のファイルまたはファイルの一部をコピーする必要があるかどうかを確認します。
Rsyncを使用する理由はありますか? cpは「ブラインドで」コピーするため、高いパフォーマンスが得られます。一連のトリガー条件で、rsyncの「デルタ転送」メカニズムが使用されている場合、レポートの方法で転送速度が低下し、CPU使用率がかなり上昇します。
この使用例では、rsync
は不必要に複雑なマシンです。ファイルの変更時間とファイルサイズの比較に基づく同期で問題がなければ、ファイルシステムのメタデータのみを両端で収集して比較し、変更された(または新しい)ファイルを(ローカル)cp
コマンド。
あなたはこれを行うこの小さくてシンプルなシンクロナイザーに興味があるかもしれません: Fitus/Zaloha.sh
次のように使用されます。
$ Zaloha.sh --sourceDir="test_source" --backupDir="test_backup"
分析フェーズの速度を最大にするには、復元スクリプトの生成をスキップすることができます。オプション--noRestore
を使用してください。さらに、高速mawk
がインストールされている場合は、オプション--mawk
を指定して使用します。
Zaloha.sh
は、find
コマンドを介してファイルシステムのメタデータを収集します。残りの1つの質問は、NFS共有でのfind
のパフォーマンスについてです...