在ORACLE 11gR2中,安裝RAC發生了顯著變化。在10g以及11gR1的時代,安裝RAC的步驟是先安裝CRS,再安裝DB,而到了11gR2的時代,crs與asm被整合在一起,合稱為GRID,必須先安裝GRID後,才能繼續安裝DB,否則,你就跟11gR2的RAC無緣了,呵呵。下面我們說一下ORACLE 11g R2 RAC的網路規劃,從ORACLE 11.2開始,對網路IP地址有特殊要求,增加SCAN IP,所以從11.2開始至少需要4種IP地址。
650) this.width=650;" alt="" src="http://www.bkjia.com/uploads/allimg/131229/2004592T4-0.jpg" border="0" />
假設一個伺服器上有4塊網卡: eth0,eth1,eth2,eth3.
可以將eth0 和 eth2 綁定成 bond0。作為RAC的public-ip, 提供外部通訊。
然後將eth1和eth3 綁定成bond1,作為RAC的private-ip,提供內部心跳通訊。
伺服器上的HBA卡通過光纖交換器與後端儲存通訊。
我們看一下/etc/hosts檔案裡的內容
10.18.12.140 S1P32 # RAC1 Public
10.18.12.142 S1P32-vip # RAC1 VIP
22.22.22.140 S1P32-priv # RAC1 Private
10.18.12.141 S1P33 # RAC2 Public
10.18.12.143 S1P33-vip # RAC2 VIP
22.22.22.141 S1P33-priv #RAC2 Private
10.18.12.144 catdb-scan # RAC SCAN
1、 我們先說一下PUBLIC和VIP
Oracle RAC中每個節點都有一個虛擬IP,簡稱VIP, 與公網PUBLIC IP在同一個網段。vip 附屬在public網口介面。
VIP和PUBLIC IP最主要的不同之處在於:VIP是浮動的,而PUBLIC IP是固定的。在所有節點都正常運行時,每個節點的VIP會被分配到public NIC上;在linux下ifconfig查看,public網卡上是2個IP地址;如果一個節點宕機,這個節點的VIP會被轉移到還在啟動並執行節點上。也就是倖存的節點的public NIC這個網卡上,會有3個IP地址。
從圖上看PUBLIC IP地址是一個雙網卡綁定的公有地址,外部使用者通過交換器S1來進行訪問。
2、 再看RAC中的 Private
RAC中的 Private私人IP用於心跳同步,這個對於使用者層面,可以直接忽略。簡單理解,這個Ip用來保證兩台伺服器同步資料用的,屬於RAC內部之間通訊。priv 與public 不應同屬一個介面。
另外一個大家疑問的問題:做RAC時,用於兩個node間互連的網卡是否可以用交叉線串連?
Metalink上的RAC文檔是推薦使用交換器作為內部網卡的串連,而不使用交叉線,原因是避免因為對連節點關閉或重啟而導致網卡檢查到連結故障狀態而刪除綁定的協議。導致快取合并網路將會變為不可用。
從圖上看,兩個節點間的內部通訊通過交換器S2來進行互動。
3、 RAC中的SCAN IP
在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配置實現負載平衡的原理。
Oracle RAC本身比較複雜,在安裝和管理中可能會遇到各種問題,涉及到OS、RDBMS、Cluster軟體和網路、主機、儲存等硬體,為了避免不必要的問題發生,在安裝之前進行清晰的網路規劃對於整個架構是非常重要的,願與大家共同交流學習。
本文出自 “滴水穿石” 部落格,請務必保留此出處http://xjsunjie.blog.51cto.com/999372/896948