Avamarスペース再利用プロセス - パート1: ガベージ コレクション
Summary: このKB記事では、Avamarのスペース再利用プロセスの最初の部分について説明します。これはガベージ コレクションと呼ばれます。
Instructions
この記事は、GSAN内とハード ドライブの両方でAvamarがスペースをリサイクルする方法を説明するシリーズの最初の記事です。
- Avamarスペース再利用プロセス - パート1: ガベージ コレクション
- Avamarスペース再利用プロセス - パート2: 計算
- Avamarスペース再利用プロセス - パート3: RMCP(チェックポイント プロセス)の削除
現在のガベージ コレクションの実装は、Avamar v7.0とともに導入され、その設計はほとんど変更されていません。
ガベージ コレクションは何を行いますか?
ガベージ コレクションは、バックアップ データの格納に使用された領域をAvamarが再利用するプロセスの最初のステージです。
これはcurディレクトリーで動作し、バックアップによって参照されなくなったデータ チャンクを削除することで、GSAN内のスペースを解放します。
- インデックスで検索できる場合、データは「定義」されると言われます。
- データは、バックアップの一部として存在する場合に参照されます(つまり、ハッシュはユーザー アカウンティング システム、複合ストライプ、ディレクトリ要素に存在します)。
ガベージ コレクションによって再利用されたスペースは、 処理が 実行されるまで再利用できません。毎日のスケジュール設定されたガベージ コレクションが完了した直後に、処理が実行されます。「 Avamarのスペース再利用プロセス - パート2: お時間を取り上げます。
ガベージ コレクションはいつ実行されますか?
ガベージ コレクションはどのくらいの期間実行されますか?
デフォルトでは、ガベージ コレクションは4時間実行されます。この時間内に2回のパスが完了しない場合、次のガベージ コレクションの実行時間は15分増加します。これは、2つのパスが正常に完了するか、デフォルトの制限7時間(420分)に達するまで継続されます。
一般的な問題を以下に示します。一部の文書では、Dellサポート サイトでの認証が必要になる場合があります。
- メンテナンス スケジューラー、具体的にはガベージ コレクションが無効になります。status.dpn の出力で確認できます。
- オペレーティング システムの容量が disknogc 値を超えています(86%~89%)。
- Avamarノード間の時刻同期の問題。
- インデックス ストライプが分割されています。
- ハッシュ参照ビット マップはリセットできません。
ガベージ コレクションの仕組み
ステップ1- 参照カウント(TORC)のテーブルの構築:
ガベージ コレクションは、ユーザー アカウンティング システム、複合ストライプ、ディレクトリ要素のエントリーを読み取り、参照カウントテーブル(TORC)を構築します。
TORCでは、ガベージ コレクションはシステム上のすべてのハッシュと、各ハッシュが参照される回数を記録します。
ステップ2:インデックスの読み取り:
TORCが完了すると、各ノードは個々のインデックス ストライプのサブセットをメモリーにロードします。読み取られたストライプの数は、 gccount パラメーターによって定義されます。インデックスで定義された各ハッシュについて、ガベージ コレクションは、TORCでハッシュを検索して、参照されているかどうかを確認します。
- ハッシュがインデックスとTORCの両方に存在する場合は、何も行う必要はありません。TORC内のすべてのハッシュの参照カウントは少なくとも1であるため、ハッシュは定義され、参照されます。
- ハッシュがインデックスに存在するが、TORC には存在しない 場合、ハッシュは定義されますが参照されないため、削除できます。
注:ハッシュがTORCに存在し、インデックスには存在 しない場合、これはデータ整合性エラー(参照されているが定義されていないハッシュ)になります。 これにより、hfscheckが失敗します。
ステップ3: 参照されていないハッシュを削除します。
前述のように、参照されていないハッシュはバックアップの一部ではないため、Avamarから安全に削除できます。これを行うには、ガベージ コレクションを実行します。
- インデックス内のエントリーを削除します。
- CHD(チャンク ヘッダー ディスクリプタ)内のハッシュのエントリーをゼロにします。CHDは、個々のチャンクがストライプ コンテナ内のどこにあるかを定義します。
Avamarは、ハッシュが占有していた領域を空としてマークしました。パフォーマンスや容量の理由から、この段階ではデータは削除されません。
ステップ4- TORCの更新:
ガベージ コレクションを削除したチャンクがコンポジットである場合は、TORCを更新する必要があります。
ステップ1を振り返ると、TORCの参照カウントには、複合チャンクを含む複合ストライプによって作成された参照が含まれます。
複合チャンクが削除されたため、その複合チャンクによって参照されるハッシュに対して、TORC内の参照カウントを1つ減らすことができます。
ガベージ コレクションでは、複合データを読み取り、参照するハッシュを確認してから、TORCを更新します。
ステップ5:次のインデックス のセットを読みます。
ガベージ コレクションは、以前のインデックス ストライプのセットをメモリーからアンロードしてから、新しいセットをロードします。
これらの新しいインデックス ストライプに対して、ステップ2、3、4が繰り返されます。
すべてのインデックス ストライプが読み取られると、0個の参照(ステップ4のおかげで)を持つTORC内のすべてのデータ チャンク(「原子」チャンク)が削除されます。
ステップ6- 新しいパスを開始します。
すべてのインデックスが読み取られたら、ガベージ コレクションは新しいパスを開始します。
すべてのインデックス ストライプは再読み取りされ、以前のパスのおかげで参照されなくなったデータを探します。
これは、ハッシュが論理的な順序ではなく、インデックスに格納されている順序で読み取されるために必要です。
ガベージ コレクションでは、ハッシュを最適な順序で検索することは確実ではありません。ハッシュは、パスが終了するまで参照されたままになります。
ガベージ コレクションの2パスは、ほとんどのAvamarサーバー環境で「安定した状態」の容量を快適に維持できます。
ガベージ コレクションは、時間切れになるか、データを削除せずにパスが完了するまで、パスを実行します。
手動ガベージ コレクション
Avamarサーバーをマイクロ管理する必要はありません。スケジューラーは、メンテナンス タスクの実行を自動化することを目的としています。Avamarの容量が大きい場合は、『 Avamar Operational Best Practices Guide 』および 「 Avamar: 容量管理の概念とトレーニング。
まれに、ガベージ コレクションを実行すると、GSANの「ユーザー容量」が非常に高く、システムが読み取り専用モードに入る深刻な問題を軽減するのに役立つ場合があります。
このような場合、ガベージ コレクションは手動で実行され、容量レベルが読み取り専用閾値を下回ります。これにより、バックアップ ウィンドウを実行できます。
自動ガベージ コレクションは、正常に動作し続けることができます。
Avamarサポートは、手動によるガベージ コレクションを検討する前に、状況を完全に調査して把握する必要があります。
このような調査の後、サポートがL2サポート エンジニアの許可なしにシステム上で手動ガベージ コレクションを実行するよう要求することは適切ではありません。
「 Avamar - 手動ガベージ コレクションの使用について 」を参照してください。