標籤:rac 4種ip
關於在配置oracle 11gr2 rac時的4種IP,有不少朋友對此很迷惑,本文在此解說一下。
開啟一個RAC節點的/etc/hosts檔案
cat /etc/hosts
# Public IP
192.168.1.138rac1.localdomain rac1
192.168.1.139rac2.localdomain rac2
#Private IP
172.16.10.138rac1-priv.localdomain rac1-priv
172.16.10.139rac2-priv.localdomain rac2-priv
#Virtual IP
192.168.1.140 rac1-vip.localdomain rac1-vip
192.168.1.141 rac2-vip.localdomain rac2-vip
#SCAN IP
192.168.1.142 rac-scan.localdomain rac-scan
這個檔案裡設計四種IP,分別有Public IP、Private IP、Virtual IP、SCAN IP
private ip:即內部IP。用於節點間的通訊,通訊內容包括network heartbeat和cache fusion
public ip:即外部IP。用於提供對外資料服務。
Virtual IP:即虛擬IP。其最大作用是用於故障切換。
Oracle RAC中每個節點都有一個虛擬IP,簡稱VIP, 與公網PUBLIC IP在同一個網段。vip 附屬在public網口介面。
Virtual IP和PUBLIC IP最主要的不同之處在於:VIP是浮動的,而PUBLIC IP是固定的。在所有節點都正常運行時,每個節點的VIP會被分配到public NIC上;在linux下ifconfig查看,public網卡上是2個IP地址;如果一個節點宕機,這個節點的VIP會被轉移到還在啟動並執行節點上。也就是倖存的節點的public NIC這個網卡上,會有3個IP地址。
如果沒有vip,串連失敗節點的process會有一個比較長的tcp逾時等待,才能返回錯誤,有了vip後,節點失效後,由於vip漂移到其它節點,串連該vip的process很快就能返回錯誤,從而更快的嘗試串連其它活動的節點,避免用戶端反覆串連node1的執行個體。
SCAN IP:在oracle 11gR2中,SCAN IP是作為一個新增IP出現的, scan ip其實是oracle在用戶端與資料庫之間,新加的一個串連層,當有用戶端訪問時,串連到 SCAN IP LISTENER, 而SCAN IP LISTENER接收到串連請求時,會根據 LBA 演算法將該用戶端的串連請求,轉寄給對應的instance上的VIP LISTENER,從而完成了整個用戶端與伺服器的串連過程。簡化如下:
client -> scan listener -> local listener -> local instance
你也可以把scan理解為一個虛擬機器主機名,它對應的是整個RAC叢集。用戶端主機只需通過這個scan name即可訪問資料庫叢集的任意節點。當然訪問的節點是隨機的,oracle強烈建議通過DNS Server的round robin模式配置解析SCAN,實現負載平衡(即輪換串連SCAN對應的IP地址)。這有點類似通過vip和listener loadbalance配置實現負載平衡的原理。
那麼有了Virtual ip後為什麼還增加了一個SCAN IP呢?
在oracle 11.2之前,client連結資料庫的時候要用vip,假如你的oracle cluster有4個節點,那麼用戶端的tnsnames.ora中就對應有四個主機vip的一個串連串,如果cluster增加了一個節點,那麼對於每個串連資料庫的用戶端都需要修改這個tnsnames.ora。
引入了scan以後,就方便了用戶端串連的一個介面,顧名思義 single client access name ,簡易用戶端串連名,這是一個唯一的名稱,在整個公司網路內部唯一,並且在DNS中可以解析為三個ip地址,用戶端串連的時候只需要知道這個名稱,並串連即可, 每個SCAN VIP對應一個scan listener,cluster內部的service在每個scan listener上都有註冊,scan listener接受用戶端的請求,並foward到不同的Local listener中去,還是由local 的listener提供服務給用戶端。
scan ip主要是為了簡化用戶端串連,假如你的oracle 叢集有20個節點,用戶端串連的時候,是不是需要配置20個vip,如果用scan,只需要一個scan name就行了,剩下的事情,scan幫你做了。
本文出自 “滴水穿石孫傑” 部落格,請務必保留此出處http://xjsunjie.blog.51cto.com/999372/1547128
oracle 11gr2 rac中的4種IP解說