Chinaunix首页 | 论坛 | 博客
  • 博客访问: 679847
  • 博文数量: 163
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1625
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-24 11:40
个人简介

资深Oracle数据库专家 OCM认证大师 10年数据库相关服务及开发经验 各类数据库相关方案的编写,管理及实施 数据中心数据库日常运维、大型项目割接、性能优化等方面有丰富的实战经验 客户包括: 电信,银行,保险,航空,国网,汽车,烟草等 想要一起学习探讨数据安全技术的请加qq群 256041954

文章分类

全部博文(163)

文章存档

2017年(2)

2016年(112)

2015年(38)

2014年(11)

我的朋友

分类: LINUX

2016-03-29 23:54:54

今天在实际环境配置了一下双网卡绑定,其实很简单,但是由于是第一次在实际环境配置,在测试时遇到了些问题,
今天在此记录,有些更详细内容,将慢慢解析:
按照方案一配置:
   


       先举例说明一下,假设一个服务器上有4块网卡: eth0,eth1,eth2,eth3.


可以将eth0 和 eth1 绑定成 bond0.  作为RAC的private-ip。 提供内部通信。


将eth2和eth3 绑定成bond1,作为public-ip。


 


       这个如果在RAC安装之间就进行了绑定, 就可以使用bond0和bond1 来安装RAC. 如果是在RAC 安装之后进行的绑定,还需要修改RAC IP的相关参数。


 


如对private 网卡进行绑定,修改如下:


[root@raw1 bin]# ./oifcfg getif


[root@raw1 bin]# ./oifcfg delif -global eth1


-- 重新添加


[root@raw1 bin]# ./oifcfg setif -global eth1/192.168.1.0:cluster_interconnect


--这里原来是eth1,就需要修改成对应的绑定地址,如bond0


 


修改public IP的绑定也这样修改,另外还需要修改一下VIP。 因为VIP里指定的public的IP.


 


如:


[root@raw1 bin]# ./srvctl modify nodeapps -n raw1 -A 10.85.10.222/255.255.255.0/eth0  --将eth0 改成bond1


[root@raw1 bin]# ./srvctl modify nodeapps -n raw2 -A 10.85.10.223/255.255.255.0/eth0  --将eth0 改成bond1


 


       具体的RAC IP 的修改可以参考我的Blog:


              Oracle RAC 修改 IP 地址


              http://blog.csdn.net/tianlesoftware/archive/2010/03/09/5362925.aspx


 


 


       下面来看一下Linux Redhat 5.4 下的一个绑定测试。 把2个网卡绑定成bond0。


 


1. 在/etc/sysconfig/network-scripts/下创建虚拟网卡bond0的配置文件ifcfg-bond0


 


[root@singledb doc]# cat /etc/sysconfig/network-scripts/ifcfg-bond0


DEVICE=bond0
BOOTPROTO=none
BROADCAST=192.168.6.255
IPADDR=192.168.6.200
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
GATEWAY=192.168.6.254
USERCTL=no
IPV6INIT=no
PEERDNS=yes


 


参数说明:


DEVICE=物理设备名
IPADDR=IP地址
NETMASK=掩码值
NETWORK=网络地址
BROADCAST=广播地址
GATEWAY=网关地址
ONBOOT=[yes|no](引导时是否激活设备)
USERCTL=[yes|no](非root用户是否可以控制该设备)
BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)
HWADDR = 你的MAC地址


 


2. 分别修改原来网卡配置文件的信息,删除其中的IP 地址、子网掩码等信息


 


[root@singledb doc]# cat /etc/sysconfig/network-scripts/ifcfg-eth0


# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]


DEVICE=eth0


BOOTPROTO=none


ONBOOT=yes


TYPE=Ethernet


[root@singledb doc]# cat /etc/sysconfig/network-scripts/ifcfg-eth1


# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]


DEVICE=eth1


BOOTPROTO=none


ONBOOT=yes


TYPE=Ethernet


[root@singledb doc]#


 


3. 配置 驱动模块参数:/etc/modprobe.conf


在/etc/modules.conf文件中添加如下内容:


 


[root@singledb doc]# cat /etc/modprobe.conf  


alias eth0 pcnet32


alias eth1 pcnet32


alias scsi_hostadapter mptbase


alias scsi_hostadapter1 mptspi


alias scsi_hostadapter2 ata_piix


alias peth0 pcnet32


alias bond0 bonding


options bond0 miimon=100 mode=0


 


说明:


(1)、miimon 是链路监测的时间间隔单位是毫秒,miimon=100的意思就是,每100毫秒检测网卡和交换机之间是否连通,如不通则使用另外的链路。


(2)、mode=0 表示负载均衡方式,两块网卡都工作,需要交换机作支持  


         mode=1 表示冗余方式,网卡只有一个工作,一个出问题启用另外的


        mode=6 表示负载均衡方式,两块网卡都工作,不需要交换机作支持


 


看了一个网友的测试,在mode=6 下有丢包现在。 选择mode =0 就可以了。


       Linux 双网卡绑定测试


       http://www.cnblogs.com/killkill/archive/2009/02/15/1390717.html


 


 


4. 设置开机绑定


先在Linux 的Terminal里执行一下命令:


       ifenslave bond0 eth1 eth0


 


将虚拟网卡进行绑定,然后将该参数添加到/etc/rc.local中,让开机自动绑定:


 


[root@singledb doc]# cat /etc/rc.local


#!/bin/sh


 


touch /var/lock/subsys/local


ifenslave bond0 eth0 eth1


 


 


5. 重新网络


[root@singledb ~]# service network restart


绑定网卡的启动与关闭:


     # ifdown  bond0


     #ifup       bond0


 


 


       现在我们可以做测试,比如拔掉某个网卡的网线,或者ifdown。 bond0还是可以正常工作的。


 


       我是在虚拟机上做的测试。


(1)#ifdown eth0


       此时bond0还可以正常连接。


(2)#ifdown eth1


       此时bond0 的连接也中断。


(3)#ifup eth0


       bond0 又恢复正常。



       这里只是对Redhat 5.4 Linux 下的一个测试,Unix 下方法又不一样,等以后有环境了,在测试一下。


策略二:
Mode0 : Round-robin策略:按顺序传输数据包,从第一个可用的slave到最后一个可用的slave。该模式提供了负载均衡和容错机制。


Mode1: Active-backup(激活-备份)策略:只有一个slave是激活的(active)。其他的slave只有在当前激活的slave故障后才会变为激活的(active)。


Mode6: balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。
 
1. 创建bound网卡
vi /etc/syconfig/network-scripts/ifcfg-bound0
 
DEVICE=bond0
BOOTPROTO=no
BROADCAST=10.0.2.255
IPADDR=10.0.2.168
NETMASK=255.255.255.0
NETWORK=10.0.2.0
ONBOOT=yes
USERCTL=no
GATEWAY=10.0.2.2
 
 
2. 修改网卡eth0的配置
vim /etc/syconfig/network-scripts/ifcfg-eth0
 
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
 
3. 修改网卡eth1的配置
vim /etc/syconfig/network-scripts/ifcfg-eth1
 
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
 
4.创建modprobe.conf, RedHat6与5不同, 没有/etc/modprobe.conf这个文件.
vim /etc/modprobe.d/net-bound0.conf
 
alias bond0 bonding
options bond0 miimon=100 mode=6
 
5. 重启网络服务
service network restart
阅读(2452) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~