解決terminating the instance due to error 481導致ASM無法啟動故障,terminatingasm
1、現象描述
一個RAC資料庫,意外DOWN機後,第一個節點正常啟動,但是第二個節點卻無法啟動ASM和CRS資源。
2、分析原因
由於ASM磁碟組無法啟動,查看ASM日誌發現如下資訊:
MMNL started with pid=21,OS id=14028
lmon registered with NM -instance number 2 (internal mem no 1)
Tue Nov 18 14:48:50 2014
PMON (ospid:13986): terminating the instance due to error 481
Tue Nov 18 14:48:50 2014
System state dumprequested by (instance=2, osid=13986 (PMON)), summary=[abnormal instancetermination].
System State dumped totrace file /oracle/product/grid/diag/asm/+asm/+ASM2/trace/+ASM2_diag_13996.trc
Tue Nov 18 14:48:50 2014
ORA-1092 :opitsk aborting process
Dumping diagnostic data indirectory=[cdmp_20141118144850], requested by (instance=2, osid=13986 (PMON)),summary=[abnormal instance termination].
Tue Nov 18 14:48:50 2014
ORA-1092 : opitsk abortingprocess
Instance terminated byPMON, pid = 13986
在Metalink網站上,發現一篇文檔ASM onNon First Node (Second or Other Node) Fails to Come up With: PMON (ospid:nnnn): terminating the instance due to error 481 [ID 1383737.1]。依據該文檔得知,ASM的alert日誌錯誤資訊中“PMON(ospid: 9946): terminating the instance due to error 481”文檔的標題是一致。根據文檔的內容進一步檢查相關日誌及配置資訊,發現ASM TRACE也如文檔一致。如下:
*** 2014-11-18 14:48:17.092
Reconfiguration completes [incarn=42]
kjzdattdlm: Can not attach to DLM (LMONup=[TRUE], DB mounted=[FALSE]).
通過分析叢集日誌發現如下資訊:
2014-11-18 14:44:45.767
[/oracle/product/11.2.0/grid/bin/orarootagent.bin(12690)]CRS-5018:(:CLSN00037:)Removed unused HAIP route: 169.254.95.0/ 255.255.255.0 / 0.0.0.0 / usb0
說明ORACLE認為usb0(主機管理口網卡,預設開啟)佔用了HAIP(ORACLE 11G新特性,內部的高可用私人IP,通過HAIP替換兩個節點的私人IP,來進行內部通訊)。
通過分析主機日誌發現如下資訊:
Nov 18 14:02:11 XXXdb2 dhclient:DHCPREQUEST on usb0 to 255.255.255.255 port 67
Nov 18 14:02:12 XXXdb2 dhclient:DHCPACK from 169.254.95.118
Nov 18 14:02:12 XXXdb2 dhclient: boundto 169.254.95.120 -- renewal in 234 seconds.
說明主機網卡USB0在動態擷取169.254.XX.XX網段的IP地址。
IBM的PC伺服器使用USB0做為管理網路的特性。沒有串連USB0網卡的時候會不停向DHCP申請IP,如果沒有發現DHCP時就會預設分配一個169.254.xxx.xxx的IP地址會和ORACLE的HAIP產生衝突,造成路由資訊丟失
通過各種日誌資訊與文檔中的資訊的對比,得知此次的故障現象與文檔中的故障現象是一致的。
3、解決方案
根據文檔ID 1383737.1提供的內容,使用ifdown usb0關閉兩個節點的usb0網卡後,在缺失路由資訊的一節點動態添加路由資訊
#route add -net 169.254.0.0 netmask 255.255.0.0 dev eth2
增加路由之後,在資料庫的第二節點,通過命令
#su - grid
$GRID_HOME/bin/crsctl start res ora.crsd -init
正常啟動crsd資源後,asm和crsd資源全部正常啟動。
4、故障總結
IBM 的x3850 x5系列的PC Server存在USB開啟dhcp功能,從而導致usb網卡可能佔用HAIP的缺陷,生產環境中的此類機器上啟動並執行RAC資料庫環境,需要關閉USB0的自動擷取dhcp功能,給USB0配置靜態IP。
5 、相關參考
ASM on Non First Node (Second or Other Node) Fails to Come up With:PMON (ospid: nnnn): terminating the instance due to error 481 [ID 1383737.1]
本文作者:黎俊傑(網名:踩點),從事”系統架構、作業系統、存放裝置、資料庫、中介軟體、應用程式“六個層面系統性的效能最佳化工作
歡迎加入 系統效能最佳化專業群,共同探討效能最佳化技術。群號:258187244