Linux + EMC 存儲 + ASMLib 環境中,明明使用 /dev/emcpowerXX 建立 ASM 磁碟,重啟後 /dev/oracleasm/disks/ 下的裝置卻對應到 /dev/sdXX(單路徑裝置),導致未使用多路徑,存在單點故障風險。
ASMLib 啟動腳本 (/etc/rc.d/init.d/oracleasm start) 掃描裝置時,採用第一個掃描到的同名裝置。由於 /dev/sdXX 通常早於 /dev/emcpowerXX 被掃描到,故錯誤綁定單路徑裝置。
修改 /etc/sysconfig/oracleasm,指定掃描順序優先掃描 EMC 多路徑裝置:
ORACLEASM_SCANORDER="emc sd"
此設定使啟動時先掃描 /dev/emcpower*,再掃描 /dev/sd*,確保 ASM 磁碟正確綁定多路徑裝置。
# 修改前
ls -l /dev/oracleasm/disks/ # 顯示 sdXX major/minor
# 修改後重啟 oracleasm
/etc/init.d/oracleasm restart
ls -l /dev/oracleasm/disks/ # 應顯示 emcpowerXX major/minor
Oracle ASMLib Multipath Configuration Guide
此問題極具隱蔽性,安裝時無任何提示,建議所有使用 ASMLib + Multipath 的環境預先配置掃描順序。