Oracle 11gR2 RAC的網絡規劃解析 |
發布時間: 2012/9/4 17:12:00 |
在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地址。-
可以將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集群?蛻舳酥鳈C只需通過這個scan name即可訪問數據庫集群的任意節點。當然訪問的節點是隨機的,Oracle強烈建議通過DNS Server的round robin模式配置解析SCAN,實現負載均衡(即輪換連接SCAN對應的IP地址)。這有點類似通過vip和listener loadbalance配置實現負載均衡的原理。 Oracle RAC本身比較復雜,在安裝和管理中可能會遇到各種問題,涉及到OS、RDBMS、Cluster軟件和網絡、主機、存儲等硬件,為了避免不必要的問題發生,在安裝之前進行清晰的網絡規劃對于整個架構是非常重要的,愿與大家共同交流學習。
本文出自:億恩科技【www.endtimedelusion.com】 |