环境:
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/35489/viewspace-695781/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-695781/