雙節點集群環境中,EMC PowerPath 映射的偽設備 (emcpower[a-h]) 在兩節點上的 Minor 號可能不一致,導致同一 LUN 對應設備名不同。本文記錄通過 emcpadm 工具調整 Minor 號實現雙節點盤符統一的完整操作流程。
兩節點 scsi_id 查詢同一 LUN 的 UUID 一致,但對應的 emcpowerX 設備名不同:
# 節點 1 emcpowerd -> UUID ...61c93 emcpowere -> UUID ...00fd7 # 節點 2 emcpowerd -> UUID ...00fd7 emcpowere -> UUID ...61c93
PowerPath 用 Major/Minor 號標識偽設備。emcpadm renamepseudo -s <src_minor> -t <dst_minor> 可修改 Minor 映射。需借助臨時空閒 Minor 號作中轉完成交換。
[root@vincent1 ~]# emcpadm getfreepseudos -n 5 -b 20 # 返回可用 Minor 範圍,假設 128 可用
# 步驟 1: 將 emcpowerd (Minor 48) 遷移到臨時 Minor 128 [root@vincent1 ~]# emcpadm renamepseudo -s 48 -t 128 # 步驟 2: 將 emcpowere (Minor 64) 遷移到目標 Minor 48 [root@vincent1 ~]# emcpadm renamepseudo -s 64 -t 48 # 步驟 3: 將臨時 Minor 128 遷移到目標 Minor 64 [root@vincent1 ~]# emcpadm renamepseudo -s 128 -t 64
[root@vincent1 ~]# emcpadm getusedpseudos Pseudo DeviceName Major# Minor# emcpowera 120 0 emcpowerb 120 16 emcpowerc 120 32 emcpowerd 120 48 # 原 emcpowere 的 UUID emcpowere 120 64 # 原 emcpowerd 的 UUID emcpowerf 120 80 emcpowerg 120 96 emcpowerh 120 112
# 節點 1 & 節點 2 現在均為: emcpowerd -> UUID ...61c93 emcpowere -> UUID ...00fd7 # 盤符統一完成
/dev/emcpowerX 設備節點重建,進行中 IO 會報錯UUID <-> emcpowerX <-> Minor 映射表,納入變更管理流程此操作屬存储多路徑底層配置變更,風險較高,非必要不建議頻繁調整。規劃階段統一規範 Minor 分配策略可從源頭避免此類問題。