RAC的一些概念和原理性知識多方總結【2】

spectre2發表於2011-04-18

接RAC的一些概念和原理性知識多方總結【1】

5) OPROCD

OPROCD這個程式也叫作Process Monitor Daemon.如果在非Linux 平臺上,並且沒有使用第三方的叢集軟體時,就會看到這個程式。這個程式用來檢查節點的Processor Hang(CPU掛起),如果排程時間超過1.5秒,就會認為CPU工作異常,會重啟節點。也就是說這個程式提供"IO 隔離"的功能。從其在Windows平臺上的服務名:OraFnceService也可以看出它的功能。而在Linux平臺上,是利用Hangcheck-timer模組來實現"IO 隔離"的。

2.3 VIP 原理和特點

Oracle TAF 就是建立在VIP 技術之上的。IP VIP 區別在與:IP是利用TCP層超時,VIP利用的是應用層的立即響應。VIP它是浮動的IP. 當一個節點出現問題時會自動的轉到另一個節點上。

假設有一個2個節點的RAC,正常執行時每個節點上都有一個VIPVIP1VIP2. 當節點2發生故障,比如異常關係。RAC會做如下操作:

1). CRS在檢測到rac2節點異常後,會觸發Clusterware重構,最後把rac2節點剔除叢集,由節點1組成新的叢集。

2). RACFailover機制會把節點2VIP轉移到節點1上,這時節點1PUBLIC 網路卡上就有3IP 地址:VIP1,VIP2, PUBLIC IP1.

3). 使用者對VIP2的連線請求會被IP層路由轉到節點1

4). 因為在節點1上有VIP2的地址,所有資料包會順利通過路由層,網路層,傳輸層。

5). 但是,節點1上只監聽VIP1public IP1的兩個IP地址。並沒有監聽VIP2,故應用層沒有對應的程式接收這個資料包,這個錯誤立即被捕獲。

6). 客戶端能夠立即接收到這個錯誤,然後客戶端會重新發起向VIP1的連線請求。

VIP 特點:

1). VIP是通過VIPCA指令碼建立的。

2). VIP作為Nodeapps型別的CRS Resource註冊到OCR中,並由CRS維護狀態。

3). VIP會繫結到節點的public網路卡上,故public網路卡有2個地址。

4). 當某個節點發生故障時,CRS會把故障節點的VIP轉移到其他節點上。

5). 每個節點的Listener會同時監聽public網路卡上的public ipVIP.

6). 客戶端的tnsnames.Ora一般會配置指向節點的VIP.

2.4 Clusterware 的日誌體系

Oracle Clusterware的輔助診斷,只能從logtrace進行。而且它的日誌體系比較複雜。

alert.log告警日誌:

$ORA_CRS_HOME\log\hostname\alert.Log, 這是首選的檢視檔案。

Clusterware後臺程式日誌:

crsd.Log: $ORA_CRS_HOME\log\hostname\crsd\crsd.Log

ocssd.Log: $ORA_CRS_HOME\log\hostname\cssd\ocsd.Log

evmd.Log: $ORA_CRS_HOME\log\hostname\evmd\evmd.Log

Nodeapp日誌位置:

$ORA_CRS_HOME\log\hostname\racg\

這裡面放的是nodeapp的日誌,包括ONSVIP,比如:ora.Rac1.ons.Log

工具執行日誌:

$ORA_CRS_HOME\log\hostname\client\

Clusterware提供了許多命令列工具:

比如ocrcheck, ocrconfig,ocrdump,oifcfgclscfg, 這些工具產生的日誌就放在這個目錄下,還有$ORACLE_HOME\log\hostname\client\$ORACLE_HOME\log\hostname\racg也有相關的日誌。

參考:http://www.111161.cn/thread-23991-1-1.html http://apps.hi.baidu.com/share/detail/23532601

http://bbs.chinaunix.net/viewthread.php?tid=1805547

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14184018/viewspace-692741/,如需轉載,請註明出處,否則將追究法律責任。

相關文章