Avamar:Avamarでの中断されたパーティション、ストライプ、hfscheckの障害
Summary: この記事では、Avamarの中断されたパーティション、ストライプ、Hfscheckの障害について説明します(現象コード22632)。
Symptoms
1.Avamar Administrator ServerのUIに次のエラーが表示されることがあります。このメッセージにより、オートコール サービス リクエスト(SR)が生成される場合があります。
Symptom Code: 22632, Desc: A server disk has become suspended.
2.以下に関連するWARNメッセージ perfbeat スレッドは、 /data01/cur/gsan.logが使用するJava Runtime Environmentへのパスを定義します。
WARN: <0968> perfbeat::outoftolerance mbpersec=0.31 average=5.66
WARN: <1051> tperfstatechanger::execute server_exception(MSG_ERR_UNNECESSARY) diskid=0 newstate=suspended
WARN: <1084> changing disk 0 on node 0.3 to suspended state
3.「 status.dpn 出力は、ディスクに一時停止されたストライプがあることを示しています:
(この出力は、「WARN <1084>」が発生した場合にのみ生成されます)。
例えば、
0.8 10.10.10.10 7.3.1-125 ONLINE fullaccess mhpu+0hpu+0hpu 1 false 7.36 16350564 3401334 56.0% 66%(onl:1,SUS:2374) 50%(onl:2439) 50%(onl:2433)
この出力は、2374個のサスペンド ストライプがあることを示しています。
4.「 hfschecパーティションが中断された場合、k は失敗します。 hfscheck が実行されています。エラーの例: /data01/hfscheck/err.log または /data01/cur/err.log アール:
ERROR: <0001> indexstripe::hfschecksweepbody stripe=0.0-1209 proxy=0.0-1209 indexelem([hash=ee9b2fe66b4bd472e28c4f41c5097dbeaba7131a stripe=0.1-DF8 offset=1285]) goodowner=true goodelem=false
Cause
デフォルトでは5分ごとに定期的に、gsanは I/O サブシステムを使用して、データパーティションから小さな読み取りを実行します。
読み取りパフォーマンスが通常のパフォーマンスの10%であるかどうかを確認します。
次の例では、警告メッセージを生成した特定のノードで、長時間の試行における平均読み取りパフォーマンスが hfscheck は約 54.03 MB/秒です。ただし、この特定のテストでは、実際のパフォーマンスは 0.57 MB/秒で、平均値の 10% の "制限" である 5.4029 MB/秒を下回っています。
Event Summary = perfbeat::outoftolerance mask=[hfscheck] average=54.03 limit=5.4029 mbpersec=0.57
このテストの本来の目的は、 I/O 読み取りパフォーマンスが極端に遅くなる原因となっているサブシステム。
この場合、「平均的な」ディスクの10%よりも低速です I/O パフォーマンス。
「 perftriallimit 許容範囲外になる前に、連続したディスク読み取りテストの回数を指定します perfbeat ディスクが縮退している可能性がある。
「 perfinterval (デフォルトは300秒または5分)各間の待機時間を指定します perftriallimit 試験。
「When(時間)」 perfbeat ディスクが縮退している可能性がある場合は、 gsan コールド状態(すべてのディスク関連アクティビティーの停止)に到達します。
最大で20分(ハードワイヤード)待機します。 gsan を使用して、タイムアウトする前にこの状態に到達し、ディスクをサスペンドしません。
コールド状態になると、 perfbeat 実行 perfcoldtriallimit (既定値は 4) 間隔を空けた読み取りテストの増加 perfcoldinterval (既定値は 30) 秒間隔です。
これらすべてのテストでディスクがまだ劣化していることが示された場合にのみ、ディスクは一時停止されます。
ディスクがサスペンドされる理由として考えられるのは、次のとおりです。
-
コールド状態に到達しようとすると、gsanは常に少なくとも1分間待機します(有線接続)。また、すべての保留中のgsanディスクを待機します
I/O関連アクティビティーを実行して、操作を完了または一時停止します。ただし、コールド状態になった後も、オペレーティング システムはまだディスクを実行している可能性がありますI/Oキャッシュをフラッシュするなどです。このフラッシュ アクティビティは、ディスクが不必要にサスペンドされる理由の1つとして考えられます。メモリー容量が大きいほど、フラッシュするキャッシュ データ量も多くなります。 -
もう1つの考えられる説明として、パフォーマンス履歴情報が、さまざまな
gsanアクティビティは、gsan's動作の変化が速すぎるため、履歴に反映できません(履歴は、過去10日間のパフォーマンス測定値の平均です)。 -
もう1つの考えられる説明は、すべての待機がないというような問題がある可能性があることです
gsanディスクI/Oコールド状態に達する前に操作を完了または中断するアクティビティ。
さらに調査によると、 hfscheck 」indexsweep" フェーズ (インデックス ストライプ内のすべてのハッシュが読み取られ、多くのデータ参照ログ (DRL) ファイルに大量のランダム書き込みを実行している場合) は、テストされます I/O パフォーマンスが長時間低下する。
Avamar Data Store Gen4、Gen4s、Gen4Tでは、書き込み操作が読み取り操作よりも優先されており、読み取りパフォーマンスをテストすることの重要性 I/O サブシステムははるかに低いです。また、一部のドライブ( Seagate Megalodon ドライブ)によって実行されているテストを混乱させる可能性のあるいくつかの異なる手法を使用します。 perfbeat 糸。
Resolution
背景:
通常、3つの異なる警告メッセージが gsan ログ:
WARN: <0968> perfbeat::outoftolerance mbpersec=0.31 average=5.66
警告 <0968> は、個人が gsan I/O テストは遅かった。
このメッセージは無視しても問題ありません。
WARN: <1051> tperfstatechanger::execute server_exception(MSG_ERR_UNNECESSARY) diskid=0 newstate=suspended
警告 <1051> は、読み取りが十分に低速であったことを示します。 gsan は、データパーティションをサスペンド状態にすることを検討しましたが、そうしないことを決定しました。それがMSG_ERR_UNNECESSARYが示していることです。
このメッセージは無視しても問題ありません。
WARN: <1084> changing disk 0 on node 0.3 to suspended state
警告<1084> は、gsanがデータパーティションを「サスペンド状態」にしたことを示します。
このメッセージは無視できません。
解像度:
ストライプがサスペンド状態になっている場合は、次のガイドラインに従って、次のシナリオを調査して修正します。
次の手順を実行して、中断されたパーティションの場所を特定します。
1.Avamar Utility Nodeにadminとしてログインします。
2.root権限に昇格します。
3.Avamarごとにルート キーをロードします。Avamarサーバーにログインし、さまざまなキーをロードする方法について説明します。」
4.次のコマンドを実行して、中断されたパーティションの場所を特定します。
mapall --noerror 'grep -i "suspended" /data01/cur/err.log'
5.上記の結果に関連するシナリオをレビューします。
-
-
処置は必要ありません。ストライプは自動的にオンラインに戻ります。その可能性が高いのは
hfscheck走っていました。
-
-
-
ストライプが自動的にオンラインに戻る場合は、ガベージ コレクションや
hfscheck走っていました。 -
重要:これは、ディスクの問題または根本的な問題を示している可能性があります。
-
ドライブにはまだ障害が発生していませんが、次の手順に従って確認する必要があります。
-
1.Avamarがサスペンドしたディスクに関連付けられている物理ディスクを特定します。サスペンド中の仮想ディスク内の物理ディスクの問題は、サスペンドの根本原因である可能性があります。
avsysreport pdisk vdisk=x
ここで、xはサスペンドされた仮想ディスク(データ パーティション)の番号です。たとえば、最初のデータ パーティションにサスペンド ストライプが表示されている場合は、クエリーを実行します vdis=0の詳細を確認してください。
2.物理ディスク レベルで、ディスク障害、予測される障害、またはその他のエラーがないことを確認します。
3.対象のノード上の仮想ディスクを表す物理ディスクにSCSIエラーがないことを確認します(手順1で判別)。
grep -i "MRMON\|scsi|Adaptec" /var/log/messages
4.ライト スルー モードの仮想ディスクでは、ディスクの一時停止の原因となる I/Oの詳細を確認してください。コントローラーの書き込みポリシーを確認します。
mapall --noerror --all+ 'avsysreport vdisk | grep "Write Policy"'
手順2-4で問題が検出された場合は、さらなる調査のためにDell Technologies AvamarサポートでSRを開きます。
シナリオ#3: デフォルトの perftriallimit 設定:
1.次のことを確認します。 perftriallimit が 0 に設定されている場合:
avmaint config --ava | grep perftriallimit
perftriallimit="0"
2.ここで、 perftriallimit が 0 以外の場合:
ある。次のコマンドを実行して更新します。
avmaint config --ava perftriallimit=0
b.変更を確認します。
avmaint config --ava | grep perftriallimit
perftriallimit="0"