一、 软硬件环境概述
在虚拟机VMware GSX Server上安装两套redhet Enterprise-R4-U4系统rac1和rac2,虚拟共享存储, 在此基础上搭建的oracle10g RAC环境。
1、 rac1两块网卡eth0:192.168.2.111,eth1:10.10.10.11
2、 rac2两块网卡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 |
二、 添加网卡eth2
1、 在rac1和rac2上分别以host-only的模式添加一块网卡
a、 Edit virtual machine
b、 Add进入add hardware wizard,下一步
c、 选择ethernet adapter 下一步
d、 选择host-only,完成
2、启动虚拟机,此时ifconfig –a可以看见多出了一个网卡eth2,只是没有IP地址,在network configuration图形界面的hardware选项页可以看见eth2,status为OK。
三、 在rac1和rac2上停数据库和crs
#cd /u01/app/oracle/product/10.2.0/crs_1/bin
停数据库实例
#./srvctl stop instance –d devdb –i ora.devdb.devd1.inst
#./srvctl stop instance –d devdb –i ora.devdb.devd2.inst
停数据库
#./srvctl stop database –d devdb
停ASM实例
#./srvctl stop asm –n rac1
#./srvctl stop asm –n rac2
停vip,gsd,listener,ons
#./srvctl stop nodeapps –n rac1
#./srvctl stop nodeapps –n rac2
四、 更改网卡配置绑定网卡
更改eth0和eth2的配置文件,将eth0和eth2绑定为一块虚拟网卡bond0.
1、 首先在/etc/sysconfig/network-scripts/下创建虚拟网卡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,更改后的内容如下
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、 因为linux的虚拟网卡是在内核模块中实现的,所以需要安装的时候已经装好该module。在/etc/modules.conf文件中添加如下内容(如果没有该文件,则新建一个):
alias bond0 bonding
options bond0 miimon=100 mode=0 primary=eth0
其中miimon=100表示每100ms检查一次链路连接状态,如果不通则会切换物理网卡,mode=1表示主备模式,也就是只有一块网卡是active的,只提供失效保护。如果mode=0则是负载均衡模式的,所有的网卡都是active,还有其他一些模式很少用到,primary=eth0表示主备模式下eth0为默认的active网卡
5、 在/etc/rc.local中加入modprobe bonding miimon=100 mode=0
6、 在rac2上也进行同样的修改
7、 重启后生效,ifconfig -a查看可以发现多了bond0这个网卡,配置了原来eth0的ip配置,在network configuration的图形界面可以发现也多了bond0
五、 启动crs的gsd和ons
在rac1和rac2上停数据库和crs,只启动crs的gsd和ons
#cd /u01/app/oracle/product/10.2.0/crs_1/bin
停数据库实例
#./srvctl stop instance –d devdb –i ora.devdb.devd1.inst
#./srvctl stop instance –d devdb –i ora.devdb.devd2.inst
停数据库
#./srvctl stop database –d devdb
停ASM实例
#./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网卡
#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网卡
#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
八、 确认更改后的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
九、 更改完成,启动数据库相关进程
#./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状态
#crs_stat –t
从上面可以看出所有的进程状态都正常,绑定成功。
下面的步骤测试如何解除双网卡绑定
十一、 停数据库和crs
在rac1和rac2上停数据库和crs
#cd /u01/app/oracle/product/10.2.0/crs_1/bin
停数据库实例
#./srvctl stop instance –d devdb –i ora.devdb.devd1.inst
#./srvctl stop instance –d devdb –i ora.devdb.devd2.inst
停数据库
#./srvctl stop database –d devdb
停ASM实例
#./srvctl stop asm –n rac1
#./srvctl stop asm –n rac2
停vip,gsd,listener,ons
#./srvctl stop nodeapps –n rac1
#./srvctl stop nodeapps –n rac2
十二、 更改网卡配置
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文件中注销如下内容:
#vi /etc/modules.conf
#alias bond0 bonding
#options bond0 miimon=100 mode=0 primary=eth0
5、在/etc/rc.local文件中注销如下内容
#vi /etc/rc.local
# modprobe bonding miimon=100 mode=0
6、在rac2上做同样的修改,然后reboot两个节点
十三、 在rac1和rac2上停数据库和crs,只启动crs的gsd和ons
#cd /u01/app/oracle/product/10.2.0/crs_1/bin
停数据库实例
#./srvctl stop instance –d devdb –i ora.devdb.devd1.inst
#./srvctl stop instance –d devdb –i ora.devdb.devd2.inst
停数据库
#./srvctl stop database –d devdb
停ASM实例
#./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
十五、 确认更改后的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
十六、 更改完成,启动数据库相关进程
#./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状态
#crs_stat –t
从上面可以看出所有的进程状态都正常,解除绑定成功。