oracle11g開始,設(shè)置了SCAN ip,除此之外還有public ip,virtual ip,private ip,容易讓人犯暈。
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)冀州免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。下面逐一解釋:
public ip:
類似與單實例的oracle數(shù)據(jù)庫ip,主要用于管理\訪問。
virtual ip(vip):
oracle在rac架構(gòu)中專用,這個vip用于實現(xiàn)故障轉(zhuǎn)移,當(dāng)一個節(jié)點發(fā)生故障時,其vip會“浮動”到另外一個正常的節(jié)點,也即該正常節(jié)點對應(yīng)著兩個vip了。
SCAN:
Single Client Access Name,單一客戶訪問名稱,意思是客戶端(如jdbc,pl/sql等)訪問數(shù)據(jù)庫時的公共域名,由于rac是多節(jié)點的,客戶端要訪問數(shù)據(jù)庫,通過scan機制,只需要提供一個訪問名稱,oracle rac會自動為客戶端分配一個節(jié)點,這對客戶端來說是透明的。
private ip:私有ip,oracle 內(nèi)部用于節(jié)點間通訊的ip,不對外開放。
public ip:
必須是專用ip,必須在安裝oracle rac前配置好,能與網(wǎng)絡(luò)連通。public ip,vip,scan ip必須在同一個網(wǎng)絡(luò)網(wǎng)段內(nèi)。
vip:
必須是專用ip,必須安裝oracle rac前配置好,能與網(wǎng)絡(luò)連通,public ip,vip,scan ip必須在同一個網(wǎng)絡(luò)網(wǎng)段內(nèi)。該ip及域名雖然配置,但必須保持不能使用(不能被訪問,如ping)。
scan :
建議通過dns配置三個專用ip,在安裝前必須配置好,當(dāng)有請求者時,由dns隨機分配。暫不使用。scan ip需要給出唯一的名字,也即三個ip對應(yīng)一個域名。名字只能是字符和'-'。oracle不推薦通過hosts文件來配置,那樣只能得到一個scan ip。
scan也是一個虛擬ip名,類似與虛擬ip名,但不同的是,虛擬ip是一個節(jié)點一個ip地址一個域名,scan是針對整個cluster的,一個域名對應(yīng)著多個節(jié)點,多個ip地址。
private ip:
必須是專用ip,必須在安裝前配置好,必須在一個專用私有網(wǎng)絡(luò)中,只能被另外的rac節(jié)點解析,不能被其它網(wǎng)絡(luò)解析。從11.2.0.2開始,oracle可以自動使用至多4塊私有網(wǎng)卡,以實現(xiàn)內(nèi)部節(jié)點的負(fù)載均衡及冗余。
GNS:Grid Naming Service。
以下是網(wǎng)上的資料
在Oracle
RAC環(huán)境下,每個節(jié)點都會有多個IP地址,分別為Public/Private/Vip,這三個IP到底有啥區(qū)別呢?分別用在那些場合呢?來看看老外的回答。
1. private IP address is used only for internal clustering
processing (Cache Fusion)
私有IP用于心跳同步,這個對于用戶層面,可以直接忽略,簡單理解,這個Ip用來保證兩臺服務(wù)器同步數(shù)據(jù)用的私網(wǎng)IP。
2. virtual IP is used by database applications to enable fail over
when one cluster node fails
虛擬IP用于客戶端應(yīng)用,以支持失效轉(zhuǎn)移,通俗說就是一臺掛了,另一臺自動接管,客戶端沒有任何感覺。
這也是為什么要使用RAC的原因之一,另一個原因,我認(rèn)為是負(fù)載均衡。
3. public IP adress is the normal IP address typically used by DBA
and SA to manage storage, system and database.
公有IP一般用于管理員,用來確保可以操作到正確的機器,我更愿意叫他真實IP。
通過上述解釋,不難理解作為一個DBA,在配置tnsnames.ora時,有些場合是要使用的vip,而有些場合又必須使用public
IP。例如,當(dāng)你在定位一個數(shù)據(jù)庫的死鎖時,使用public
ip,可以確保連到你想處理的機器,相反此時使用虛擬ip時,會出現(xiàn)不確定性,因為服務(wù)器默認(rèn)是開啟負(fù)載均衡的,也就是有可能你想連A機,系統(tǒng)卻給你分配了B機。
例如:
下面的例子就是使用的VIP
infodb8 =
(DESCRIPTION=
(ADDRESS=(PROTOCOL= TCP)(HOST=138.*.1.81)(PORT= 1521))
(ADDRESS=(PROTOCOL= TCP)(HOST=138.*.1.82)(PORT= 1521))
(LOAD_BALANCE= yes)
(FAILOVER= ON)
(CONNECT_DATA=
(SERVER= DEDICATED)
(SERVICE_NAME= infodb)
(FAILOVER_MODE=
(TYPE=SELECT)
(METHOD= BASIC)
(RETRIES= 30)
(DELAY= 5)
)
))
下面的例子就是使用的Public IP,指定連接1機,注意紅色字體infodb1進(jìn)一步限制連接的實例。
INFODB83 =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL= TCP)(HOST=138.*.1.83)(PORT= 1521))
)
(CONNECT_DATA=
(SERVICE_NAME= infodb)
(INSTANCE_NAME= infodb1)
)
(HS = OK)
)
Oracle RAC中每個節(jié)點都有一個虛擬IP,簡稱VIP,與公網(wǎng)IP在同一個網(wǎng)段。
沒有VIP時,Oracle客戶端是靠“TCP/IP協(xié)議棧超時”來判斷服務(wù)器故障。而TCP/IP協(xié)議棧是作為OS Kernel的一部分來實現(xiàn),不同的OS有不同的閥值,用戶獲悉數(shù)據(jù)庫異常的時間完全取決于OS Kernel的實現(xiàn),雖然有些OS允許修改這個閥值,但是會對其它程序產(chǎn)生未知影響。因此,oracle RAC引入了VIP,從而避開對TCP協(xié)議棧超時的依賴。
VIP和IP最主要的不同之處在于:VIP是浮動的,而IP是固定的。在所有節(jié)點都正常運行時,每個節(jié)點的VIP會被分配到public NIC上;在linux下ifconfig查看,public網(wǎng)卡上是2個IP地址;如果一個節(jié)點宕機,這個節(jié)點的VIP會被轉(zhuǎn)移到還在運行的節(jié)點上。也就是幸存的節(jié)點的public NIC這個網(wǎng)卡上,會有3個IP地址。
當(dāng)一個節(jié)點宕機,這個節(jié)點真實IP就連接不上了,但是這個節(jié)點的虛擬IP是可以連接的,他會自動把客戶端的連接請求轉(zhuǎn)接給存活的節(jié)點。
在tnsname.ora文件里,指定Address列表,客戶端會隨機選擇一個節(jié)點來連接數(shù)據(jù)庫,而不是順序選擇的。
VIP特點:
1 VIP是在clusterware安裝最后階段,通過腳本VIPCA創(chuàng)建的;
2 VIP作為一個Nodeapps類型的CRS Resource注冊到OCR中,并由CRS維護狀態(tài);
3 VIP會綁定到節(jié)點的public 網(wǎng)卡上;那么public網(wǎng)卡就有兩個地址了;
4 當(dāng)某個節(jié)點發(fā)生故障時,CRS會把故障節(jié)點的VIP轉(zhuǎn)移到其他節(jié)點上;
5 每個節(jié)點的Listener會同時在public網(wǎng)卡的public IP和VIP兩個地址上監(jiān)聽;
6 客戶端的tnsname.ora一般會配置指向節(jié)點的VIP;
從上面第6條可以引出一個問題。如果增加一個節(jié)點,那么客戶端的tnsname.ora需要加入新增節(jié)點的VIP。那么想象一下:多個客戶端,增加多個節(jié)點,那么維護起來特別麻煩。因此到了Oracle11gR2,引入了一個scan的概念。
scan,single client access name。簡單客戶端連接名,這是一個唯一的名稱,在整個公司網(wǎng)絡(luò)內(nèi)部唯一,并且在DNS中可以解析為三個ip地址,客戶端連接的時候只需要知道這個名稱,并連接即可,每個SCAN VIP對應(yīng)一個scan listener,cluster內(nèi)部的service在每個scan listener上都有注冊,scan listener接受客戶端的請求,并foward到不同的Local listener中去,還是由local 的listener提供服務(wù)給客戶端。
注意:scan不一定要resolve到三個ip,一個也夠了。只不過為了防止scan單點故障而推薦3個。
VIP 原理和特點
Oracle 的TAF 就是建立在VIP 技術(shù)之上的。 IP 和VIP 區(qū)別在與: IP 是利用TCP層超時, VIP 利用的是應(yīng)用層的立即響應(yīng)。VIP 它是浮動的IP。 當(dāng)一個節(jié)點出現(xiàn)問題時會自動的轉(zhuǎn)到另一個節(jié)點上。
假設(shè)有一個2個節(jié)點的RAC,正常運行時每個節(jié)點上都有一個VIP。 VIP1 和VIP2. 當(dāng)節(jié)點2發(fā)生故障,比如異常關(guān)系。 RAC 會做如下操作:
1). CRS 在檢測到rac2節(jié)點異常后,會觸發(fā)Clusterware 重構(gòu),最后把rac2節(jié)點剔除集群,由節(jié)點1組成新的集群。
2). RAC的Failover 機制會把節(jié)點2的VIP轉(zhuǎn)移到節(jié)點1上,這時節(jié)點1的PUBLIC 網(wǎng)卡上就有3個IP 地址: VIP1,VIP2, PUBLIC IP1.
3). 用戶對VIP2的連接請求會被IP層路由轉(zhuǎn)到節(jié)點1
4). 因為在節(jié)點1上有VIP2的地址,所有數(shù)據(jù)包會順利通過路由層,網(wǎng)絡(luò)層,傳輸層。
5). 但是,節(jié)點1上只監(jiān)聽VIP1和public IP1的兩個IP地址。并沒有監(jiān)聽VIP2,故應(yīng)用層沒有對應(yīng)的程序接收這個數(shù)據(jù)包,這個錯誤立即被捕獲。
6). 客戶段能夠立即接收到這個錯誤,然后客戶段會重新發(fā)起向VIP1的連接請求。
VIP 特點:
1). VIP 是通過VIPCA腳本創(chuàng)建的
2). VIP 作為Nodeapps類型的CRS Resource 注冊到OCR中,并由CRS 維護狀態(tài)。
3). VIP 會綁定到節(jié)點的public 網(wǎng)卡上,故public 網(wǎng)卡有2個地址。
4). 當(dāng)某個節(jié)點發(fā)生故障時,CRS 會把故障節(jié)點的VIP 轉(zhuǎn)移到其他節(jié)點上。
5). 每個節(jié)點的Listener 會同時監(jiān)聽public 網(wǎng)卡上的 public ip 和VIP
6). 客戶端的tnsnames.Ora 一般會配置指向節(jié)點的VIP.
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文題目:OracleRAC中的幾個IP-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://aaarwkj.com/article26/dgoocg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、網(wǎng)站內(nèi)鏈、服務(wù)器托管、外貿(mào)建站、品牌網(wǎng)站建設(shè)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容