powermt 命令失敗,並顯示「ERROR:裝置 Lam 請領失敗」
Summary: powermt 命令失敗,並顯示「ERROR:裝置 Lam 請領失敗」
Symptoms
只有當伺服器同時連接至 PowerPath 受管理和 PowerPath 非受管理陣列,並在兩個陣列上進行後續組態變更時,才會發生此特定問題。在我們的範例中,一些 Clariion 裝置已移除,但對應的虛擬裝置尚未清理。然後添加了IBM存儲,並且最初用作這些已刪除Clariion設備的路徑的hdisks被重新用於描述新的IBM磁碟。這會導致 ODM 中的項目不正確。
環境:
作業系統:AIX (任何口味)
DELL 軟體:適用於 AIX 的 PowerPath (任何版本)
非 DELL 硬體:來自陣列的磁碟無法由 PowerPath 管理。
在 AIX 環境中,powermt 命令失敗,並顯示「ERROR:裝置 Lam 請領失敗。」此錯誤未記錄在我們的 Dell PowerPath 系列 CLI 和系統訊息參考中。
Cause
當 PowerPath 無法判定裝置屬於哪個可載入陣列模組 (LAM) 時,PowerPath 會回報此訊息。由於 PowerPath 命令無法運作,因此只能查看 ODM 進行故障診斷。如果 PowerPath 正在尋找 LAM,但找不到適當的 LAM,這表示有一個虛擬裝置,其 ODM 中的項目指向 PowerPath 預期之外的裝置類型。
在導致創建本文的情況下,我們在 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 中,且當「powermt_custom.xml」中引用虛擬裝置 (此處為 hdiskpower29) 時,則「powermt config」無法將 LAM 與裝置關聯並失敗,而其他「powermt」命令會失敗並出現相同的錯誤。
Resolution
由於所有「powermt」命令都會失敗,因此無法使用「powermt save」來更新「powermt_custom.xml」檔案。刪除「powermt_custom.xml」檔案是個壞主意,因為存在失去正確虛擬裝置與 PowerPath 受管理陣列裝置之間關係的風險。
清除此問題的唯一方法是從 ODM 中移除「unique_id」屬性為 XXXXIBMfcp 的所有虛擬裝置。與其使用危險的“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」。在這個階段,您可能還會發現一些“死”路徑(對於也從配置中刪除的虛擬設備,但相應的 hdisk 尚未重複使用以指向非 PowerPath 託管磁碟,並且在“powermt display”中檢查“unique_id”屬性時未在 ODM 中發現這些路徑)。這些項目會使用「powermt check」命令清理。在這種情況下,請記得在最終清理後再次執行「powermt save」