Avamar Clientでは、バックアップを実行するためにメモリー、CPU、ネットワーク、I/Oリソースが必要です。他のオペレーティング システム サービスでは、Avamarよりも「ミッション クリティカル」なプロセスを含め、これらのリソースを共有します。
この記事では、バックアップ中にavtarプロセスによって消費されるCPU、ネットワーク、I/Oリソースのスロットリングと優先順位付けを行う方法について説明します。
Avamar avtarプロセスは、オペレーティング システムで使用可能なだけのネットワーク帯域幅、CPUサイクル、I/Oを使用します。Avamarでは、これらのシステム リソースの一部を要求する際のアグレッシブさを決定するパラメーターを設定できます。
CPUの利用率
Avamar Clientマシンは、ファイラー サーバー、メール サーバー、データベースであるか、またはシステム リソースを必要とするその他のロールを持つ場合があります。
これらのシステム リソースの負荷が高いときにバックアップを実行すると、バックアップとクライアントの通常のロールの両方に影響する可能性があります。静止期間中にバックアップを実行するようにスケジュールできない場合は、avtarによるCPUの利用率をスロットリングして、クライアントのプライマリー機能に十分なCPUサイクルを確保することができます。
AvtarによるCPUの利用率は、次のようにAvamar Clientのバックアップ ログで確認できます。
avtar Info <5100>: Status 2009-04-10 20:37:02, 0 files, 25.00 GB (0 files, 473.7 MB, 1.85% new) 117 MB 99% CPU
複数のCPUコアが使用可能な環境では、CPUの割合値が100%を超えることがあります。
CPUプロセスの優先順位付け
Linuxでの動作:
- avagentプロセスは、生成するすべてのプロセスを「nice」レベルに自動的に設定します。
- Linuxでは、優先度レベルの範囲は-20~20で、-20が最も高い優先度です。
- デフォルトでは、プロセスは優先度0で生成されます。
- Avtarは、デフォルトの優先度より低い優先度の10で作成されます。
Windowsでの動作:
- Windowsでは、1(最低)から31(最大)までの優先度レベルを管理します。
- Avtarは、BELOW_NORMAL_PRIORITY_CLASSを使用して作成されます。つまり、avtarが所有するスレッドはデフォルトで優先度6で作成されます。
- 参考までに、Windows上のプロセスによって作成されたスレッドの既定の優先度は8です。
ネットワーク使用率
従来のバックアップ ソフトウェアと比較すると、Avamarは帯域幅をほとんど消費しません。ただし、Avamar Clientが低帯域幅リンクによってAvamar Serverから分離されている場合は、ネットワーク使用量を抑制すると役立つ場合があります。これにより、バックアップ データが回線を圧迫し、よりタイムクリティカルなデータの転送速度が低下するのを防ぐことができます。
I/Oの優先順位付け
Avamar ClientプロセスのI/O優先度は、明示的に設定されていません。
Linuxでの動作:
- I/Oのnicenessは、0(最大の優先度)から7(最低の優先度)の範囲です。
- 使用されるアルゴリズムは、(cpu niceness + 20)/5です(出典:http://linux.die.net/man/1/ionice)。
- avtarの場合、I/O優先度は(10 + 20)/5 = 6で、2番目に低いI/O優先度です。
- これに対して、既定のスレッド優先度が0のプロセスのI/O優先度は4になります。
Windowsでの動作:
Windowsの場合、I/Oの優先順位はあまり明確ではありません。Microsoftは、プロセスのI/O優先度はスレッドの優先度に関連付けられていると説明しています。ただし、問題#240762に対するAvamarエンジニアリングの調査では、実際にはそうではないことが示されました。低い優先度で実行するようにavtarを設定しても、I/Oの優先度はデフォルトから変更されません。
メモリー使用率
バックアップ中に必要なメモリー量は、キャッシュ ファイルのサイズと使用中のキャッシュ ファイルのタイプによって異なります。
従来の「モノリス式」キャッシュ ファイルは、キャッシュ ファイル全体をメモリーにロードしますが、ページング式キャッシュ ファイルは、必要に応じてデータをメモリーの「ページ」に割り当てます。
メモリー使用率とキャッシュ ファイルのサイズ設定は、このKB記事の範囲外です。詳細については、『Operational Best Practices Guide』を参照してください。
AvtarのCPUサイクル、ネットワーク帯域幅、およびI/Oの使用率は、デフォルトでは制限されていません。これは、Avamarバックアップを可能な限り迅速に実行して完了できるよう優先するための正常な動作で仕様によるものです。
avtarプロセスでのネットワークとCPUの利用率をスロットリングするために、次のフラグが存在します。
--net-throttle(ネットワークの使用量をスロットリングする)
--cpu-throttle(CPUの利用率をスロットリングする)
これらのフラグのいずれかを実装するには、Avamar Clientのavtar.cmdファイルを編集します。 avs/var ディレクトリーを削除します。
メモ: ファイルが存在しない場合は、新しいavtar.cmdファイルを作成します。
CPUのスロットリング
フラグは次の形式にする必要があります。ここで、「80」はavtarが使用するCPUの最大平均パーセンテージです。
--cpu-throttle=80
このフラグは、複数コアのCPUが広く使用される前に導入されました。使用する割合については、検証が必要な場合があります。avtarを10%にスロットリングしたデュアル コア デスクトップ マシンで実行されるバックアップでは、CPUリソースの約5%が使用されるという結果が出ています。
ネットワークのスロットリング
ファイルで作成するエントリーは、次の形式にする必要があります。
--throttle=Mbit/sec
これを実装すると、avtarは各パケットを送信した後、必要に応じて一時停止します。これにより、ネットワーク使用量が指定された最大帯域幅(メガ ビット/秒で指定)を超えないようにします。
例 --throttle=5 では、10Mbit/秒の接続の半分を使用します。 --throttle=0.772 では、使用量をT1リンクの2分の1に制限します。
この変更を行った後、 avtar.cmd ファイルを保存します。
変更は、次回avagentが新しいavtarプロセスを生成したときに有効になります。
または、Avamar Administratorの[Options]タブを使用して、ドロップダウン リストから適切なファイル システム プラグイン(Windowsファイル システム、Linuxファイル システムなど)を選択します。
[Show Advanced Options]チェックボックスをオンにし、[Network rate throttle (Mbps)]まで下にスクロールします。
ここに必要な帯域幅をMbps単位で入力します(例:1.2など小数点以下でも問題ありません)。
Avamar Plug-inのバックアップ
プラグインのバックアップ(Exchange、Oracleなど)の場合は、Avamar Administratorユーザー インターフェイスで、メニュー ドロップダウンからプラグインを選択し、[More]ボタンをクリックして、属性と値を手動で入力します。
属性には、「[avtar]net-throttle」と入力します。属性値には、必要な帯域幅を入力します。設定が完了したら、フィールドの下の+記号をクリックして、下のボックスにフラグを追加します。
[OK]をクリックして変更を保存します。
フラグの[avtar]は、サーバーと通信するプロセスであるavtarにフラグを渡すようにプラグインに指示します。
throttleフラグは、次の点に注意して使用してください。
-
プロセスは可能な限り高速で実行されます。CPUまたはネットワークの利用率を下げようとすると、バックアップの実行速度が通常よりもはるかに遅くなる可能性があります。バックアップが低速になると、定例バックアップ ウィンドウ内で完了しない場合があります。
-
バックアップの速度が低下すると、クライアントのバックアップに時間がかかり、バックアップの開始をキューで待機している他のクライアントのバックアップが遅延します。
-
Avamarバックアップ時にクライアントが他の作業を実行している場合、この作業への影響は小さいですが、影響が及ぶ時間は長くなります。
下記のフラグが適用できるかどうか不明な場合は、Dell Professional Servicesの担当者にお問い合わせください。
ネットワーク スロットリングが「バースト状態」に見える
スロットルが0.2(メガビット/秒)に設定されたクライアントのトラフィックを示すネットワーク グラフを見ると、クライアントとサーバー間のデータ送信速度が150 Mb/秒(短時間のバースト)を超えている場合があります。
Avamarネットワーク スロットリング アルゴリズムは、短時間のバーストでデータを送信するように機能するためです。各バーストの後、アルゴリズムはデータの送信を続行する前に、適切な時間データをキューに入れます。データは、throttleフラグで指定されたスロットリング レベルと同等のレートで送信されます。
認識された「バースト」のレベルは、監視の粒度と相関しています。つまり、1秒未満の転送レートを分析するとバースト状態の動作が見られますが、バックアップ期間中に送信されたデータの総量を見ると、0.2 Mb/秒に近いことがわかります。
以下は、バックアップの短期グラフを数分間キャプチャしたものです。
よくある質問:
Avtarは、可能な限り迅速にデータを送信しようとします。その量は、以下によって異なります。
- リンクの最大帯域幅
- ネットワーク全体でのエンドツーエンドのレイテンシー
- サービス品質
- 適用される可能性のあるその他の通常のボトルネック
スロットル機能は、時間の経過とともにネットワークの利用率を平均化することを目的としています。Avtarは、スロットル値で許可されている量を超えて送信しないように、データ パケットの送信を遅延します。
Avtarは、ネットワーク使用量がスロットル設定で指定された平均帯域幅を超えないように、パケットの送信を待機します。この一時停止は、必要な限り続きます。
- 「バースト」中に送信されるデータについて教えてください。
ローカル クライアント キャッシュにないデータがAvamar Serverにすでに存在するかどうか、およびパケットにAvamarシステムに存在しない新しい一意のバックアップ データが含まれるかどうかを確認するクエリ。
- ネットワーク スロットリングは、サイト内のクライアントのグループ全体に適用できますか?
できません。ネットワーク スロットリングは、クライアント単位で適用されます。特定のクライアントが消費する可能性のある帯域幅を(平均して)制御します。多くのAvamar Clientが1つの場所に存在し、すべてが同じようにスロットリングされている場合、ネットワーク リンクが完全に消費される可能性があります。2つのサイト間で送信されるデータの量を制御する必要がある場合は、ネットワーク レベルのスロットリングを適用します。
Data DomainへのAvamarバックアップ中のネットワーク スロットリング
Data Domainへのバックアップ中のネットワーク スロットリングは、Avamar Clientがv7.1でData Domainがv5.5以降の場合にサポートされます。