VMAX,PowerMax:將執行 VxVm 8.0 或更新版本的主機重新開機後,會看不到某些 LUN
摘要: Veritas 8.0 及更高版本正在檢查數位中運行的微碼級別,以確定其支援的功能。如果同一陣列中的設備報告不同的微碼級別,Veritas 會認為這是異常,不會配置設備的路徑。
症狀
UNIX 主機已連接至 VMAX 或 PowerMax,並正在執行 VxVM 和 VxDMP 8.0 或更新版本來管理多重路徑。重新啟動后,某些設備將在主機級別配置,但不會在 Veritas 級別配置。
INQ 會針對屬於相同陣列的裝置顯示不同的微碼層級:
# inq ... /dev/rhdisk909 :EMC :SYMMETRIX :5876 :940339c000 : 39.1 /dev/rhdisk3779 :EMC :SYMMETRIX :5978 :9401bab008 : 20.0
有問題的裝置會顯示在使用不中斷遷移 (NDM) 遷移的陣列上。在這種情況下,陣列的序號 (94) 和 LUN ID (339c 或 1bab) 是欺騙性身分。以下命令會顯示裝置的真實身分:
# inq -native ... /dev/rhdisk909 :EMC :SYMMETRIX :5978 :80005de000 : 39.1 /dev/rhdisk3779 :EMC :SYMMETRIX :5978 :80002bc000 : 20.0
針對設備報告的不同微碼級別在調試模式下與 INQ 進行確認:
- 裝置 hdisk909
<02/17/2024 01:11:37.455866> Leave: xsil_fill_in_inq_info, Return Value: 0 <02/17/2024 01:11:37.455875> device is spoofed <02/17/2024 01:11:37.455884> is_EMC_device=1 symm_model=0x0a00 ucode_level=0x5876 ucode_date=0x08190002 <02/17/2024 01:11:37.455893> symm_dev_num=0x0339c symm_serial#=<00019xxxxx94> <02/17/2024 01:11:37.455902> device_serial_number_ex : 940339c000 <02/17/2024 01:11:37.455911> device_serial_number : 94!|k000
- 裝置 hdisk3779
<02/17/2024 01:11:37.469147> Leave: xsil_fill_in_inq_info, Return Value: 0 <02/17/2024 01:11:37.469158> device is spoofed <02/17/2024 01:11:37.469172> is_EMC_device=1 symm_model=0x0900 ucode_level=0x5978 ucode_date=0x07230008 <02/17/2024 01:11:37.469183> symm_dev_num=0x01bab symm_serial#=<00019xxxxx94> <02/17/2024 01:11:37.469194> device_serial_number_ex : 9401bab008 <02/17/2024 01:11:37.469204> device_serial_number : 94BAB008
根據 Veritas 文章從 Infoscale 8.0 升級到 Infoscale 8.0 後,EMC VMAX 機櫃中大部分裝置遺失,Veritas 8.0 不支援讓同一陣列的裝置 (此處為 xx94) 報告兩個不同的微碼 (上述範例中為 5876 和 5978)。
原因
最初遷移設備時,源陣列中的設備標識與微碼級別一起複製到目標陣列上。遷移之後,我們有:
# inq ... /dev/rhdisk909 :EMC :SYMMETRIX :5876 :940339c000 : 39.1 /dev/rhdisk3779 :EMC :SYMMETRIX :5876 :9401bab008 : 20.0
遷移一段時間后,hdisk3779 上的空間不再需要,並且該設備已從存儲組中刪除並回收(刪除)。在上面的範例中,LUN 1bab 實際上代表陣列 xx80 上的 LUN 2BC,正如我們在「inq native」命令輸出中看到的那樣。
新空間已分配給主機,同樣來自陣列 xx80。由於 LUN ID 2BC 已移除,因此會重複使用此 LUN 編號。但是,在這種情況下,會恢復欺騙性標識,以便將新設備顯示為舊陣列 (9401b1b008) 中的設備,而不是新陣列 (80002bc00) 中的設備。欺騙設備的微碼級別不會保留,因此它現在報告目標陣列的微碼(在我們的示例中為 5978)。陣列類型也不會保留 (請參閱上一節中處於偵錯模式的 INQ,symm_model 0x0a00 表示 hdisk909,0x0900 表示 hdisk3779)。
Veritas 8.0 及更高版本會查看與設備關聯的微碼級別,以確定陣列上運行的微碼。同時也在考慮 Symmetrix 機型。然後,Veritas 能夠確定陣列可以支援哪些功能。在我們的案例中,對於陣列 xxx94,Veritas 無法判斷微碼是 5876 還是 5978。它也無法判斷 Symmetrix 層級。因此,所有顯示微碼 5978 的設備都不是由 Veritas 配置的。
解析度
如果不這樣做,則重新獲得對所有設備的訪問許可權的唯一解決方案是刪除針對 NDM 的源陣列顯示的所有設備的欺騙身份。