首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Linux 下 EMC PowerPath 磁盤盤符統一調整實戰

     編輯:Java 綜合教學

Linux 下 EMC PowerPath 磁盤盤符統一調整實戰

雙節點集群環境中,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 號作中轉完成交換。

操作步驟

1. 查詢可用空閒 Minor 號

[root@vincent1 ~]# emcpadm getfreepseudos -n 5 -b 20
# 返回可用 Minor 範圍,假設 128 可用

2. 執行三步交換 (以 Minor 48/64 為例)

# 步驟 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

3. 驗證結果

[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

4. 雙節點再次核對 UUID 對應

# 節點 1 & 節點 2 現在均為:
emcpowerd -> UUID ...61c93
emcpowere -> UUID ...00fd7
# 盤符統一完成

關鍵注意事項

  • 操作前必須卸載文件系統、停止應用、備份數據
  • 調整 Minor 號會導致 /dev/emcpowerX 設備節點重建,進行中 IO 會報錯
  • 建議維護 UUID <-> emcpowerX <-> Minor 映射表,納入變更管理流程
  • 生產環境變更需雙人復核,預留回滾方案

此操作屬存储多路徑底層配置變更,風險較高,非必要不建議頻繁調整。規劃階段統一規範 Minor 分配策略可從源頭避免此類問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved