powermtコマンドが「ERROR: Device Lam claim failed」というエラー メッセージが表示される
Summary: powermtコマンドが「ERROR: Device Lam claim failed」というエラー メッセージが表示される
Symptoms
この特定の問題は、サーバーがPowerPath管理対象アレイとPowerPath管理対象でないアレイの両方に接続されており、両方のアレイの構成変更後にのみ発生します。この例では、一部のCLARiXデバイスが削除されていますが、対応する疑似デバイスはクリーンアップされていません。その後、IBMストレージが追加され、最初に削除されたCLARiXデバイスへのパスとして使用されていたhdiskが、新しいIBMディスクを記述するために再利用されました。その結果、ODMにこれらの誤ったエントリーが作成されました
環境:
OS: AIX(任意のフレーバー)
Dell SW: PowerPath for AIX(任意のリリース)
非DELL HW:PowerPathで管理できないアレイのディスク。
AIX環境では、powermtコマンドが「ERROR: Device Lam claim failed.(デバイス ラム要求に失敗しました。)このエラーは、「Dell PowerPathファミリーCLIおよびシステム メッセージ リファレンス」には記載されていません。
Cause
PowerPathは、デバイスが属するLoadable Array Module (LAM)をPowerPathが判断できない場合に、このメッセージを報告します。PowerPathコマンドが機能していないため、トラブルシューティングはODMを確認する場合にのみ実行できます。PowerPathがLAMを探しており、適切なLAMを見つけられない場合、PowerPathが予期していないタイプのデバイスを指しているODMのエントリーを持つ疑似デバイスが存在することを意味します。
この記事を作成する原因となったケースでは、ODMに次の情報が含まれていました。
CuAt: name = "hdiskpower29" attribute = "vpd_map" value = "MF0808C,TM1010C,RL2004C,Z00008X,Z1040780C,SN081083X" type = "V" generic = "" rep = "sl" nls_index = 0
この種のデバイスのPdAtを確認すると、次のことがわかります。
PdAt: uniquetype = "disk/fcp/2145" attribute = "vpd_map" deflt = "MF0808C,TM1010C,RL2004C,Z00008X,Z1040780C,SN081083X" values = "" width = "" type = "V" generic = "" rep = "sl" nls_index = 0
これは、Dellタイプのディスクでも、PowerPathによって管理されるものでもなく、IBMディスクです。
疑似デバイスのunique_id属性を使用すると、デバイスの性質を簡単に証明できます。私たちの場合、次のものがありました(実際の値は機密性を保持するために変更されました)。
CuAt:
name = "hdiskpower29"
attribute = "unique_id"
value = "33213600507680C80017D3800000000000XXXXXXX4503IBMfcp"
type = "R"
generic = ""
rep = "s"
nls_index = 0
このようなエントリーがODMに存在し、疑似デバイス(ここではhdiskpower29)が「powermt_custom.xml」で参照されている場合、「powermt config」はLAMをデバイスに関連づけることができずに失敗し、他の「powermt」コマンドは同じエラーで失敗します。
Resolution
すべての「powermt」コマンドが失敗するため、「powermt save」で「powermt_custom.xml」ファイルをアップデートすることはできません。「powermt_custom.xml」ファイルを削除することは、正しい疑似デバイスとPowerPath管理対象アレイ デバイス間の関係が失われるリスクがあるため、お勧めできません。
この問題を解決する唯一の方法は、「unique_id」属性がXXXXIBMfcpであるすべての疑似デバイスをODMから削除することです。また、危険な「odmdelete」コマンドを使用するのではなく、「rmdev -dl <pseudo_device>」コマンドを使用することをお勧めします。
この例では、誤ったエントリーを削除するために実行されたコマンドの例を次に示します(すべてのケースは一意であり、次のリストはその例です)。
for i in 29 30 31 32 33 34 39 40 41 42 43 44 45 46 47 48 125 136 137 138 167 168 169 170 171 172 173 216 217 267 522 523 524 525 526 527 do rmdev -dl hdiskpower$i done
このクリーンアップの後、「powermt config」に続いて「powermt save」を実行します。この段階では、「powermt display」にいくつかの「使用不能」パス(構成からも削除されているが、対応するhdiskが非PowerPath管理対象ディスクを指すために再利用されておらず、「unique_id」属性をチェックしたときにODMで検出されなかった)が検出される場合もあります。これらのエントリーは、「powermt check」コマンドでクリーンアップされます。このような場合は、この最後のクリーンアップの後に「powermt save」を再度実行することを忘れないでください。