Linux+Oracle 10g RAC雙網(wǎng)卡綁定和解除綁定的實(shí)現(xiàn)
本文我們主要介紹了Linux系統(tǒng)下實(shí)現(xiàn)Oracle 10g數(shù)據(jù)庫(kù)RAC功能的雙網(wǎng)卡綁定與解除綁定的實(shí)現(xiàn)方法,接下來就讓我們來一起了解一下這一過程吧。
一、軟硬件環(huán)境概述
在虛擬機(jī)VMware GSX Server上安裝兩套redhet Enterprise-R4-U4系統(tǒng)rac1和rac2,虛擬共享存儲(chǔ), 在此基礎(chǔ)上搭建的oracle10g RAC環(huán)境。
1、rac1兩塊網(wǎng)卡eth0:192.168.2.111,eth1:10.10.10.11。
2、rac2兩塊網(wǎng)卡eth0:192.168.2.112,eth1:10.10.10.12。
/etc/hosts文件:
127.0.0.1 |
localhost |
|
192.168.2.111 |
rac1.mycorpdomain.com |
rac1 |
192.168.2.13 |
rac1-vip.mycorpdomain.com |
rac1-vip |
10.10.10.11 |
rac1-priv.mycorpdomain.com |
rac1-priv |
192.168.2.112 |
rac2.mycorpdomain.com |
rac2 |
192.168.2.14 |
rac2-vip.mycorpdomain.com |
rac2-vip |
10.10.10.12 |
rac2-priv.mycorpdomain.com |
rac2-priv |
二、添加網(wǎng)卡eth2
1、在rac1和rac2上分別以host-only的模式添加一塊網(wǎng)卡
a、Edit virtual machine
b、Add進(jìn)入add hardware wizard,下一步
c、選擇ethernet adapter 下一步
d、選擇host-only,完成
2、啟動(dòng)虛擬機(jī),此時(shí)ifconfig –a可以看見多出了一個(gè)網(wǎng)卡eth2,只是沒有IP地址,在network configuration圖形界面的hardware選項(xiàng)頁(yè)可以看見eth2,status為OK。
三、在rac1和rac2上停數(shù)據(jù)庫(kù)和crs
- #cd /u01/app/oracle/product/10.2.0/crs_1/bin
- 停數(shù)據(jù)庫(kù)實(shí)例
- #./srvctl stop instance –d devdb –i ora.devdb.devd1.inst
- #./srvctl stop instance –d devdb –i ora.devdb.devd2.inst
- 停數(shù)據(jù)庫(kù)
- #./srvctl stop database –d devdb
- 停ASM實(shí)例
- #./srvctl stop asm –n rac1
- #./srvctl stop asm –n rac2
- 停vip,gsd,listener,ons
- #./srvctl stop nodeapps –n rac1
- #./srvctl stop nodeapps –n rac2
四、更改網(wǎng)卡配置綁定網(wǎng)卡
更改eth0和eth2的配置文件,將eth0和eth2綁定為一塊虛擬網(wǎng)卡bond0.
1、首先在/etc/sysconfig/network-scripts/下創(chuàng)建虛擬網(wǎng)卡bond0的配置文件ifcfg-bond0
- #cd /etc/sysconfig/network-scripts/
- #vi ifcfg-bond0
- DEVICE=bond0
- BOOTPROTO=none
- BROADCAST=192.168.2。255
- IPADDR=192.168.2.111
- NETMASK=255.255.255.0
- NETWORK=192.168.2.0
- ONBOOT=yes
- TYPE=Ethernet
- USERCTL=no
- PEERDNS=yes
- GATEWAY=192.168.168.250
- IPV6INIt=no
2、更改eth0的配置文件ifcfg-eth0,更改后的內(nèi)容如下
- Vi ifcfg-eth0
- DEVICE=eth0
- BOOTPROTO=none
- ONBOOT=yes
- TYPE=Ethernet
- USERCTL=no
- MASTER=bond0
- SLAVE=yes
3、添加eth2的配置文件ifcfg-eth2
- Vi ifcfg-eth2
- DEVICE=eth2
- BOOTPROTO=none
- ONBOOT=yes
- TYPE=Ethernet
- USERCTL=no
- MASTER=bond0
- SLAVE=yes
4、因?yàn)閘inux的虛擬網(wǎng)卡是在內(nèi)核模塊中實(shí)現(xiàn)的,所以需要安裝的時(shí)候已經(jīng)裝好該module。在/etc/modules.conf文件中添加如下內(nèi)容(如果沒有該文件,則新建一個(gè)):
- alias bond0 bonding
- options bond0 miimon=100 mode=0 primary=eth0
其中miimon=100表示每100ms檢查一次鏈路連接狀態(tài),如果不通則會(huì)切換物理網(wǎng)卡,mode=1表示主備模式,也就是只有一塊網(wǎng)卡是active的,只提供失效保護(hù)。如果mode=0則是負(fù)載均衡模式的,所有的網(wǎng)卡都是active,還有其他一些模式很少用到,primary=eth0表示主備模式下eth0為默認(rèn)的active網(wǎng)卡。
5、在/etc/rc.local中加入modprobe bonding miimon=100 mode=0
6、在rac2上也進(jìn)行同樣的修改
7、重啟后生效,ifconfig -a查看可以發(fā)現(xiàn)多了bond0這個(gè)網(wǎng)卡,配置了原來eth0的ip配置,在network configuration的圖形界面可以發(fā)現(xiàn)也多了bond0
五、啟動(dòng)crs的gsd和ons
在rac1和rac2上停數(shù)據(jù)庫(kù)和crs,只啟動(dòng)crs的gsd和ons
- #cd /u01/app/oracle/product/10.2.0/crs_1/bin
- 停數(shù)據(jù)庫(kù)實(shí)例
- #./srvctl stop instance –d devdb –i ora.devdb.devd1.inst
- #./srvctl stop instance –d devdb –i ora.devdb.devd2.inst
- 停數(shù)據(jù)庫(kù)
- #./srvctl stop database –d devdb
- 停ASM實(shí)例
- #./srvctl stop asm –n rac1
- #./srvctl stop asm –n rac2
- 停vip,gsd,listener,ons
- #./srvctl stop nodeapps –n rac1
- #./srvctl stop nodeapps –n rac2
- #./crs_start ora.rac1.gsd
- #./crs_start ora.rac1.ons
- #./crs_start ora.rac2.gsd
- #./crs_start ora.rac2.ons
六、在rac1以root用戶更改VIP到bond0網(wǎng)卡
- #cd /u01/app/oracle/product/10.2.0/crs_1/bin
- #./srvctl modify nodeapps –n rac1 –A 192.168.2.13/255.255.255.0/bond0
- #./srvctl modify nodeapps –n rac1 –A rac1-vip/255.255.255.0/bond0
七、在rac2以root用戶更改VIP到bond0網(wǎng)卡
- #cd /u01/app/oracle/product/10.2.0/crs_1/bin
- #./srvctl modify nodeapps –n rac2 –A 192.168.2.14/255.255.255.0/bond0
- #./srvctl modify nodeapps –n rac2 –A rac2-vip/255.255.255.0/bond0
八、確認(rèn)更改后的vip配置
- #./srvctl config nodeapps –n rac1 –a
- VIP exists.:/rac1-vip.mycorpdomain.com/192.168.2.13/255.255.255.0/bond0
- #./srvctl config nodeapps –n rac2 –a
- VIP exists.:/rac2-vip.mycorpdomain.com/192.168.2.14/255.255.255.0/bond0
九、更改完成,啟動(dòng)數(shù)據(jù)庫(kù)相關(guān)進(jìn)程
- #./srvctl start nodeapps –n rac1
- #./srvctl start nodeapps –n rac2
- #./crs_start ora.rac1.ASM1.asm
- #./crs_start ora.rac2.ASM2.asm
- #./crs_start ora.devdb.db
十、查看crs狀態(tài)
#crs_stat –t
從上面可以看出所有的進(jìn)程狀態(tài)都正常,綁定成功。
#p#
解除雙網(wǎng)卡綁定
十一、停數(shù)據(jù)庫(kù)和crs
在rac1和rac2上停數(shù)據(jù)庫(kù)和crs
- #cd /u01/app/oracle/product/10.2.0/crs_1/bin
- 停數(shù)據(jù)庫(kù)實(shí)例
- #./srvctl stop instance –d devdb –i ora.devdb.devd1.inst
- #./srvctl stop instance –d devdb –i ora.devdb.devd2.inst
- 停數(shù)據(jù)庫(kù)
- #./srvctl stop database –d devdb
- 停ASM實(shí)例
- #./srvctl stop asm –n rac1
- #./srvctl stop asm –n rac2
- 停vip,gsd,listener,ons
- #./srvctl stop nodeapps –n rac1
- #./srvctl stop nodeapps –n rac2
十二、更改網(wǎng)卡配置
1、首先在/etc/sysconfig/network-scripts/還原eth0的配置文件ifcfg-eth0
- #vi /etc/sysconfig/network-scripts/ ifcfg-eth0
- DEVICE=eth0
- BOOTPROTO=none
- BROADCAST=192.168.2。255
- IPADDR=192.168.2.111
- NETMASK=255.255.255.0
- NETWORK=192.168.2.0
- ONBOOT=yes
- TYPE=Ethernet
- USERCTL=no
- PEERDNS=yes
- GATEWAY=192.168.168.250
- IPV6INIt=no
2、刪除bond0的配置文件
#rm ifcfg-bond0
3、刪除或者注銷eth2的配置文件ifcfg-eth2
- # vi ifcfg-eth2
- #DEVICE=eth2
- #BOOTPROTO=none
- #ONBOOT=yes
- #TYPE=Ethernet
- #USERCTL=no
- #MASTER=bond0
- #SLAVE=yes
4、在/etc/modules.conf文件中注銷如下內(nèi)容:
- #vi /etc/modules.conf
- #alias bond0 bonding
- #options bond0 miimon=100 mode=0 primary=eth0
5、在/etc/rc.local文件中注銷如下內(nèi)容
- #vi /etc/rc.local
- # modprobe bonding miimon=100 mode=0
6、在rac2上做同樣的修改,然后reboot兩個(gè)節(jié)點(diǎn)。
十三、在rac1和rac2上停數(shù)據(jù)庫(kù)和crs,只啟動(dòng)crs的gsd和ons
- #cd /u01/app/oracle/product/10.2.0/crs_1/bin
- 停數(shù)據(jù)庫(kù)實(shí)例
- #./srvctl stop instance –d devdb –i ora.devdb.devd1.inst
- #./srvctl stop instance –d devdb –i ora.devdb.devd2.inst
- 停數(shù)據(jù)庫(kù)
- #./srvctl stop database –d devdb
- 停ASM實(shí)例
- #./srvctl stop asm –n rac1
- #./srvctl stop asm –n rac2
- 停vip,gsd,listener,ons
- #./srvctl stop nodeapps –n rac1
- #./srvctl stop nodeapps –n rac2
- #./crs_start ora.rac1.gsd
- #./crs_start ora.rac1.ons
- #./crs_start ora.rac2.gsd
- #./crs_start ora.rac2.ons
十四、以root用戶更改rac1和rac2的vip到eth0
- #cd /u01/app/oracle/product/10.2.0/crs_1/bin
- #./srvctl modify nodeapps –n rac1 –A 192.168.2.13/255.255.255.0/eth0
- #./srvctl modify nodeapps –n rac1 –A rac1-vip/255.255.255.0/eth0
- #./srvctl modify nodeapps –n rac2 –A 192.168.2.14/255.255.255.0/eth0
- #./srvctl modify nodeapps –n rac2 –A rac1-vip/255.255.255.0/eth0
十五、確認(rèn)更改后的vip配置
- #./srvctl config nodeapps –n rac1 –a
- VIP exists.:/rac1-vip.mycorpdomain.com/192.168.2.13/255.255.255.0/eth0
- #./srvctl config nodeapps –n rac2 –a
- VIP exists.:/rac2-vip.mycorpdomain.com/192.168.2.14/255.255.255.0/eth0
十六、更改完成,啟動(dòng)數(shù)據(jù)庫(kù)相關(guān)進(jìn)程
- #./srvctl start nodeapps –n rac1
- #./srvctl start nodeapps –n rac2
- #./crs_start ora.rac1.ASM1.asm
- #./crs_start ora.rac2.ASM2.asm
- #./crs_start ora.devdb.db
十七、 查看crs狀態(tài)
#crs_stat –t
從上面可以看出所有的進(jìn)程狀態(tài)都正常,解除綁定成功。
關(guān)于Linux系統(tǒng)下Oracle 10g數(shù)據(jù)庫(kù)實(shí)現(xiàn)RAC功能雙網(wǎng)卡綁定與解除綁定的實(shí)現(xiàn)方法就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】
- 數(shù)據(jù)庫(kù)集群中間件CJDBC詳細(xì)介紹
- 在SQL Server數(shù)據(jù)庫(kù)中插入圖像的實(shí)現(xiàn)方法
- SQL Server 2005無法連接到本地服務(wù)器的解決
- SQL Server 2000在Windows7 旗艦版中的安裝配置
- 用SQL Server 2005存儲(chǔ)過程實(shí)現(xiàn)IP地址歸屬地查詢






