Oracle 11gR2 RAC的網(wǎng)絡(luò)規(guī)劃解析 |
發(fā)布時(shí)間: 2012/9/4 17:12:00 |
在Oracle 11gR2中,安裝RAC發(fā)生了顯著變化。在10g以及11gR1的時(shí)代,安裝RAC的步驟是先安裝CRS,再安裝DB,而到了11gR2的時(shí)代,crs與asm被集成在一起,合稱為GRID,必須先安裝GRID后,才能繼續(xù)安裝DB,否則,你就跟11gR2的RAC無緣了,呵呵。下面我們說一下ORACLE 11g R2 RAC的網(wǎng)絡(luò)規(guī)劃,從ORACLE 11.2開始,對(duì)網(wǎng)絡(luò)IP地址有特殊要求,增加SCAN IP,所以從11.2開始至少需要4種IP地址。-
可以將eth0 和 eth2 綁定成 bond0。作為RAC的public-ip, 提供外部通信。 然后將eth1和eth3 綁定成bond1,作為RAC的private-ip,提供內(nèi)部心跳通信。 服務(wù)器上的HBA卡通過光纖交換機(jī)與后端存儲(chǔ)通信。 我們看一下/etc/hosts文件里的內(nèi)容 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中每個(gè)節(jié)點(diǎn)都有一個(gè)虛擬IP,簡稱VIP, 與公網(wǎng)PUBLIC IP在同一個(gè)網(wǎng)段。vip 附屬在public網(wǎng)口接口。 VIP和PUBLIC IP最主要的不同之處在于:VIP是浮動(dòng)的,而PUBLIC IP是固定的。在所有節(jié)點(diǎn)都正常運(yùn)行時(shí),每個(gè)節(jié)點(diǎn)的VIP會(huì)被分配到public NIC上;在linux下ifconfig查看,public網(wǎng)卡上是2個(gè)IP地址;如果一個(gè)節(jié)點(diǎn)宕機(jī),這個(gè)節(jié)點(diǎn)的VIP會(huì)被轉(zhuǎn)移到還在運(yùn)行的節(jié)點(diǎn)上。也就是幸存的節(jié)點(diǎn)的public NIC這個(gè)網(wǎng)卡上,會(huì)有3個(gè)IP地址。 從圖上看PUBLIC IP地址是一個(gè)雙網(wǎng)卡綁定的公有地址,外部用戶通過交換機(jī)S1來進(jìn)行訪問。 2、 再看RAC中的 Private RAC中的 Private私有IP用于心跳同步,這個(gè)對(duì)于用戶層面,可以直接忽略。簡單理解,這個(gè)Ip用來保證兩臺(tái)服務(wù)器同步數(shù)據(jù)用的,屬于RAC內(nèi)部之間通信。priv 與public 不應(yīng)同屬一個(gè)接口。 另外一個(gè)大家疑問的問題:做RAC時(shí),用于兩個(gè)node間互連的網(wǎng)卡是否可以用交叉線連接? Metalink上的RAC文檔是推薦使用交換機(jī)作為內(nèi)部網(wǎng)卡的連接,而不使用交叉線,原因是避免因?yàn)閷?duì)連節(jié)點(diǎn)關(guān)閉或重啟而導(dǎo)致網(wǎng)卡檢查到鏈接故障狀態(tài)而刪除綁定的協(xié)議。導(dǎo)致高速緩存合并網(wǎng)絡(luò)將會(huì)變?yōu)椴豢捎谩?/p> 從圖上看,兩個(gè)節(jié)點(diǎn)間的內(nèi)部通信通過交換機(jī)S2來進(jìn)行交互。 3、 RAC中的SCAN IP 在11gR2中,SCAN IP是作為一個(gè)新增IP出現(xiàn)的, scan ip其實(shí)是Oracle在客戶端與數(shù)據(jù)庫之間,新加的一個(gè)連接層,當(dāng)有客戶端訪問時(shí),連接到 SCAN IP LISTENER, 而SCAN IP LISTENER接收到連接請(qǐng)求時(shí),會(huì)根據(jù) LBA 算法將該客戶端的連接請(qǐng)求,轉(zhuǎn)發(fā)給對(duì)應(yīng)的instance上的VIP LISTENER,從而完成了整個(gè)客戶端與服務(wù)器的連接過程。簡化如下: client -> scan listener -> local listener -> local instance 也可以把scan理解為一個(gè)虛擬主機(jī)名,它對(duì)應(yīng)的是整個(gè)RAC集群。客戶端主機(jī)只需通過這個(gè)scan name即可訪問數(shù)據(jù)庫集群的任意節(jié)點(diǎn)。當(dāng)然訪問的節(jié)點(diǎn)是隨機(jī)的,Oracle強(qiáng)烈建議通過DNS Server的round robin模式配置解析SCAN,實(shí)現(xiàn)負(fù)載均衡(即輪換連接SCAN對(duì)應(yīng)的IP地址)。這有點(diǎn)類似通過vip和listener loadbalance配置實(shí)現(xiàn)負(fù)載均衡的原理。 Oracle RAC本身比較復(fù)雜,在安裝和管理中可能會(huì)遇到各種問題,涉及到OS、RDBMS、Cluster軟件和網(wǎng)絡(luò)、主機(jī)、存儲(chǔ)等硬件,為了避免不必要的問題發(fā)生,在安裝之前進(jìn)行清晰的網(wǎng)絡(luò)規(guī)劃對(duì)于整個(gè)架構(gòu)是非常重要的,愿與大家共同交流學(xué)習(xí)。
本文出自:億恩科技【www.artduck.net】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |