Oracle 10g RAC 修改心跳為繫結網路卡(設定冗餘)

parknkjun發表於2015-01-19


環境:
Oracle 10.2.0.4 RAC, 2節點
Linux AS 5.3


配置檔案:
/ect/hosts    配置主機名和IP地址的對應
/etc/sysconfig/network    配置主機名和閘道器
/etc/sysconfig/network-scripts/ifcfg-eth0 
/etc/modprobe.conf   Linux核心模組配置檔案(針對Linux5或以上,
Linux3或以下版本配置檔案是/etc/modules.conf) . 

 


1. 首先我們需要關閉資料庫(例子)

ecsrac01$emctl  stop dbconsole
ecsrac01$srvctl stop database -d ecsdb 
ecsrac01$srvctl stop asm -n ecsrac01
ecsrac01$srvctl stop asm -n ecsrac02
ecsrac01$srvctl stop nodeapps -n  ecsrac01
ecsrac01$srvctl stop nodeapps -n  ecsrac02 

 

2. 開始配置新的private網路卡實施繫結,這裡假設eth0是public網路卡,
   eth1是private網路卡,現在加入eth2網路卡,需要與eth1繫結為冗餘
   網路卡bond0,  因為是private網路,方便起見,繫結後的IP地址還是
   使用原來eth1使用的IP地址 。

備註: 網路卡繫結(不止兩塊網路卡)有多種模式,常見是兩種是輪詢策略
和活動備份策略。

(1)輪詢策略(Round-robin policy),模式代號是0。該策略是按照裝置
順序依次傳輸資料包,直到最後一個裝置。這種模式提供負載均衡和容
錯能力。

(2)活動備份策略(Active-backup policy),模式代號是1。該策略只有
一個裝置處理資料,當它當機的時候就會由備份代替,僅提供容錯能力

具體參考:http://space.itpub.net/35489/viewspace-629291

 

 

3. 在/etc/sysconfig/network-scripts 下編輯配置檔案

# cp  /etc/sysconfig/network-scripts/ifcfg-eth1  ifcfg-bond0
# vi  /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0    
BOOTPROTO=static 
  -- none表示啟動時不使用協議;static靜態分配地址;bootp表示使用
  -- BOOTP協議; dhcp表示使用DHCP協議 ; 
ONBOOT=yes      -- 啟動系統時啟用裝置
IPADDR=192.168.1.11
NETWORK=192.168.1.0     -- 網路地址
BROADCAST=192.168.1.255 -- 廣播地址
NETMASK=255.255.255.0
USERCTL=no       -- yes表示非root使用者可以控制該裝置
BONDING_MASTER=yes 
TYPE=Ethernet 

 


4. 修改eth1, eth2配置檔案

#  vi  ifcfg-eth1
DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
TYPE=ethernet

#  vi  ifcfg-eth2
DEVICE=eth2
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
TYPE=ethernet

 

 

5.  將新新增的bond0裝置加入modprobe.conf中,以便kernel識別。

#vi  /etc/modprobe.conf (低版本的linux可能是/etc/modules.conf)
alias bond0 bonding
options bond0 mode=1 miimon=100 downdelay=200 primary=eth1 primary_reselect=1

 

備註:
如果有多個bond ,比如RAC的public網路卡也做bond, 那麼同樣加入到後面;
miimon值表示兩塊網路卡相互監測的時間,以ms為單位,這裡表示每隔100ms檢查
一次鏈路連線狀態,如果不通則會切換物理網路卡。
mode值為工作模式,可設定為高可用還是負載均衡,0表示active/active負載均衡模式
,1表示Active/Standby,表示主備模式,預設為1 。其他模式很少使用。
primary=eth1 表示主備模式下eth1為預設的active網路卡 ;


從Linux Kernel增加或刪除modules (也可以重新啟動機器即可). 
# modprobe bonding     (自動處理可載入模組)

然後重啟網路就可以了
#service nerwork restart

使用ifconfig -a 命令檢視bond0上是否已經有IP,而eth1和eth2上則沒有IP地址。

 


6. 最後設定cluster的一些引數, 使得clusterware使用bond0作為心跳線通訊
(每個節點都執行) 。


# cd  /u01/product/crs/bin 
# ./oifcfg iflist 
eth0   10.13.9.0 
bond0  192.168.1.0
# ./oifcfg delif
# ./oifcfg setif -global eth0/10.13.9.0:public 
# ./oifcfg setif -global bond0/192.168.1.0:cluster_interconnect 

 

7. 啟動RAC資料庫。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10271187/viewspace-1406732/,如需轉載,請註明出處,否則將追究法律責任。

相關文章