Linux双网卡绑定和解除绑定的实现
linux网卡绑定(多组)和解绑实现步骤
linux网卡绑定(多组)和解绑实现步骤2013年5月20日15:14绑定1.修改配置文件:a.在/etc/modprobe.conf中加入一行:alias bondN bonding,其中bondN是绑定后公用网口的名称,依实际情况而定,一般第一个绑定用bond0,第二个用bond1… ,如果已经有,不用添加,使用后也不用删除该行b.在所有待绑定网口的配置文件(/etc/sysconfig/network-scripts/)中加入以下两行:其中: ifcfg-ehtN中的N是待绑定的网口号,如eth0,eth1… bondN是绑定后的共用网口名称,可以是bond1,bond2…但是要与ifcfg-ethN和/etc/modprobe.conf这两个配置文件中的配置项对应起来。
c.添加绑定网口bondN的配置文件,在与ifcfg-ehtN平级的目录下添加ifcfg-bondN文件,键入以下内容:2.安装bonding内核模块:modprobe bondN3.重启网卡service network restart解绑1.卸载bonding内核模块:modprobe -r bondN2.删除ifcfg-bondN配置文件,删除ifcfg-ehtN配置文件中绑定时添加的两行。
3.重启网卡service network restart注意1.多组绑定需要将ifcfg-ethN文件中指定不同代理绑定网口,即bond0,1,2..。
2.ifcfg-bondN中将设备名、IP做响应修改。
3./etc/modprobe.conf文件中添加alias bondN bonding。
每隔bond端口用一行。
4.以上均为centos5.5中的配置,如果在6.0中,没有/etc/modprobe.conf,需要在/etc/modprobe.d目录中添加文件bonding.conf,将alias bondN bonding写入该文件中。
Linux下双网卡绑定(bonding技术)
Linux下双⽹卡绑定(bonding技术)2013-08-20 15:39:31现在很多服务器都⾃带双千兆⽹⼝,利⽤⽹卡绑定既能增加⽹络带宽,同时⼜能做相应的冗余,⽬前应⽤于很多的场景。
linux操作系统下⾃带的⽹卡绑定模式,Linux bonding驱动提供了⼀个把多个⽹络接⼝设备捆绑为单个⽹络接⼝设置来使⽤,⽤于⽹络负载均衡及⽹络冗余。
当然现在⽹卡产商也会出⼀些针对windows操作系统⽹卡管理软件来做⽹卡绑定(windows操作系统没有⽹卡绑定功能需要第三⽅⽀持)。
我们公司是做分布式⽂件系统的,很多项⽬都⽤到⽹卡绑定来提⾼性能。
在⽹络找了很多资料,也做了⼤量的测试,下⾯就⽹卡绑定谈⼀下⾃⼰的看法。
⼀、 Bonding的应⽤1、⽹络负载均衡对于bonding的⽹络负载均衡是我们在⽂件服务器中常⽤到的,⽐如把三块⽹卡,当做⼀块来⽤,解决⼀个IP地址,流量过⼤,服务器⽹络压⼒过⼤的问题。
如果在内⽹中,⽂件服务器为了管理和应⽤上的⽅便,⼤多是⽤同⼀个IP地址。
对于⼀个百M的本地⽹络来说,⽂件服务器在多个⽤户同时使⽤的情况下,⽹络压⼒是极⼤的,为了解决同⼀个IP地址,突破流量的限制,毕竟⽹线和⽹卡对数据的吞吐量是有限制的。
如果在有限的资源的情况下,实现⽹络负载均衡,最好的办法就是bonding 。
2、⽹络冗余对于服务器来说,⽹络设备的稳定也是⽐较重要的,特别是⽹卡。
⼤多通过硬件设备的冗余来提供服务器的可靠性和安全性,⽐如电源。
bonding 也能为⽹卡提供冗余的⽀持。
把⽹个⽹卡绑定到⼀个IP地址,当⼀块⽹卡发⽣物理性损坏的情况下,另⼀块⽹卡也能提供正常的服务。
⼆、 Bonding的原理什么是bonding需要从⽹卡的混杂(promisc)模式说起。
我们知道,在正常情况下,⽹卡只接收⽬的硬件地址(MAC Address)是⾃⾝Mac的以太⽹帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。
但是⽹卡也⽀持另外⼀种被称为混杂promisc的模式,可以接收⽹络上所有的帧,⽐如说tcpdump,就是运⾏在这个模式下。
Linux双网卡绑定和解除
Linux双⽹卡绑定和解除⼀、传统的bond模式⽹卡绑定⼀定要在服务管理中关闭NetworkManager服务并禁⽤⾃动启动,因为centos中NetworkManager服务与network服务冲突,默认是由NetworkManager接管⽹络服务,所以传统⽅式重启会出现启动失败,错误⽇志⼀般如下所⽰,管理员就得回到机房接显⽰器配置⽹络连接。
以绑定eth0和eth1为例1.通过vim设置eth0的IP地址和eth1的IP地址。
[root@x101 network-scripts]# vim ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=noneTYPE=EthernetMASTER=bond0 //将⽹卡指向bond0SLAVE=yesUSERCTL=[yes|no](⾮root⽤户是否可以控制该设备)[root@x101 network-scripts]# vim ifcfg-eth1DEVICE=eth1ONBOOT=yesNETBOOT=yesBOOTPROTO=noneTYPE=EthernetMASTER=bond0 //将⽹卡指向bond0SLAVE=yesUSERCTL=[yes|no](⾮root⽤户是否可以控制该设备)2.新建 /etc/sysconfig/network-scripts/ifcfg-bond0绑定配置⽂件[root@x101 network-scripts]# cat ifcfg-bond0DEVICE=bond0ONBOOT=yesNETBOOT=yesBOOTPROTO=noneTYPE=EthernetIPADDR=192.168.0.106PREFIX=24DNS=192.168.0.1NM_CONTROLLED=no[root@x101 network-scripts]#5.创建⽹卡绑定的驱动⽂件/etc/modprobe.d/⾃定义.conf,使得绑定后的⽹卡bond0能够⽀持绑定技术(bonding),同时定义⽹卡以mode6模式进⾏绑定,且出故障时⾃动切换时间为100毫秒ms,添加alias bond0 bondingoptions bond0 mode=6 miimon=100 max_bonds=2miimon是指多久时间要检查⽹路⼀次,单位是ms(毫秒)。
linux下多网卡绑定
linux下多网卡绑定假定将eth0,eth1,eth2,eth3绑定成bond0,步骤如下:(1) #vi /etc/modprobe.conf, 添加如下2行:alias bond0 bondingoptions bonding miimon=100 mode=4当mode=0时,交换机相应端口不需要做trunk,但是从节点上ping网关(192.*.*.*)有较大的延时。
解决此问题的办法是把mode改成4,同时配置交换机相应端口开启链路聚合并捆绑为trunk。
在modprobe.conf文件中,miimon参数用来监测网卡物理连接,建议至少设为100mode参数用来设置绑定模式0 负载均衡(round robin策略)1 active/backup模式,同一时间只有一块网卡使用。
2 负载均衡(xor算法)3 广播模式4 802.3ad模式,lagp协议,带宽翻倍。
模式不能写错这里很容易出现不稳定的情况,多半是这里模式选择错了,所以在实施的时候需要小心,把模式确定了,然后在动手。
(2)修改/etc/sysconfig/network-scripts/目录下的ifcfg-bond0, ifcfg-eth0, i fcfg-eth1,ifcfg-eth2,ifcfg-eth3. 具体内容如下:[root@io102 network-scripts]# pwd/etc/sysconfig/network-scripts[root@io102 network-scripts]# cat ifcfg-bond0DEVICE=bond0BOOTPROTE=staticONBOOT=yesIPADDR=192.*.*.*NETMASK=255.255.255.0USERTCL=noGATEWAY=192.*.*.*[root@io102 network-scripts]# cat ifcfg-eth0DEVICE=eth0BOOTPROTO=noneONBOOT=yesTYPE=EthernetUSERTCL=noMASTER=bond0SLAVE=yes[root@io102 network-scripts]# cat ifcfg-eth1 DEVICE=eth1BOOTPROTO=noneONBOOT=yesTYPE=EthernetUSERTCL=noMASTER=bond0SLAVE=yes[root@io102 network-scripts]# cat ifcfg-eth2 DEVICE=eth2BOOTPROTO=noneONBOOT=yesTYPE=EthernetUSERTCL=noMASTER=bond0SLAVE=yes[root@io102 network-scripts]# cat ifcfg-eth3 DEVICE=eth3BOOTPROTO=noneONBOOT=yesTYPE=EthernetUSERTCL=noMASTER=bond0SLAVE=yes(3)查看bond0的状态[root@io102 ~]# more /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v2.6.3-rh (June 8, 2005)Bonding Mode: IEEE 802.3ad Dynamic link aggregationMII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0802.3ad infoLACP rate: slowActive Aggregator Info:Aggregator ID: 1Number of ports: 4Actor Key: 17Partner Key: 480Partner Mac Address: 00:12:f2:cd:68:00Slave Interface: eth0MII Status: upLink Failure Count: 0Permanent HW addr: 00:1e:0b:73:56:26Aggregator ID: 1Slave Interface: eth1MII Status: upLink Failure Count: 0Permanent HW addr: 00:1e:0b:73:56:a2Aggregator ID: 1Slave Interface: eth2MII Status: upLink Failure Count: 0Permanent HW addr: 00:1e:0b:d5:34:d2Aggregator ID: 1Slave Interface: eth3MII Status: upLink Failure Count: 0Permanent HW addr: 00:1e:0b:d5:34:d0Aggregator ID: 1然后在交换机(这里的交换机是Foundry)端做TRUNK将同一台服务器的多个网卡捆绑成一条逻辑的线路来使用,提高服务器与交换机之间的带宽,并且能够负载均衡多个网卡上的流量,以及多个网卡之间的冗余当其中一个网卡坏了其它的网卡会平分坏网卡上的流量,并不影响服务器与交换机之间的数据转发。
Linux系统配置双网卡绑定bond0
Linux系统配置双⽹卡绑定bond01、bonding简述双⽹卡配置设置虚拟为⼀个⽹卡实现⽹卡的冗余,其中⼀个⽹卡坏掉后⽹络通信仍可正常使⽤,实现⽹卡层⾯的负载均衡和⾼可⽤性。
现在⼀般的企业都会使⽤双⽹卡接⼊,这样既能添加⽹络带宽,同时⼜能做相应的冗余,可以说是好处多多。
⽽⼀般企业都会使⽤linux操作系统下⾃带的⽹卡绑定模式,当然现在⽹卡产商也会出⼀些针对windows操作系统⽹卡管理软件来做⽹卡绑定(windows操作系统没有⽹卡绑定功能需要第三⽅⽀持)。
1.1 bonding原理⽹卡⼯作在混杂(promisc)模式,接收到达⽹卡的所有数据包,tcpdump⼯作⽤的也是混杂模式(promisc),将两块⽹卡的MAC地址修改为相同接收特定MAC的数据帧,然后把相应的数据帧传送给bond驱动程序进⾏处理。
1.2 Bonding模式(bonding mode)轮询策略(round robin),mode=0,按照设备顺序依次传输数据包,提供负载均衡和容错能⼒主备策略(active-backup),mode=1,只有主⽹卡处于⼯作状态,备⽹卡处于备⽤状态,主⽹卡坏掉后备⽹卡开始⼯作,提供容错能⼒异或策略(load balancing (xor)),mode=2,根据源MAC地址和⽬的MAC地址进⾏异或计算的结果来选择传输设备,提供负载均衡和容错能⼒⼴播策略(fault-tolerance (broadcast)),mode=3,将所有数据包传输给所有接⼝通过全部设备来传输所有数据,⼀个报⽂会复制两份通过bond下的两个⽹卡分别发送出去,提供⾼容错能⼒动态链接聚合(lacp),mode=4,按照802.3ad协议的聚合⾃动配置来共享相同的传输速度,⽹卡带宽最⾼可以翻倍,链路聚合控制协议(LACP)⾃动通知交换机聚合哪些端⼝,需要交换机⽀持 802.3ad协议,提供容错能⼒输出负载均衡模式(transmit load balancing),mode=5,输出负载均衡模式,只有输出实现负载均衡,输⼊数据时则只选定其中⼀块⽹卡接收,需要⽹卡和驱动⽀持ethtool命令输⼊/输出负载均衡模式(adaptive load balancing),mode=6,输⼊和输出都实现负载均衡,需要⽹卡和驱动⽀持ethtool命令2、⽹卡配置⽂件的配置2.1 配置环境 环境:系统CentOS 6.7 + 虚拟机 VMware 12 ⾄少两块物理⽹卡(VMware上添加eth0,eth1) 2.2 需要添加或修改的配置⽂件有5个(mode=1) 这5个配置⽂件是: /etc/sysconfig/network-scripts/ifcfg-eth{0,1} /etc/sysconfig/network-scripts/ifcfg-bond0 /etc/modprobe.d/dist.conf /etc/rc.local2.2.1 /etc/sysconfig/network-scripts/ifcfg-{eth0,eth1,bonding0}修改或添加提⽰:先备份好eth0和eth1,再修改这⼏个⽂件以下是修改好的三个⽹卡配置⽂件的参数[root@ant network-scripts]# vimdiff ifcfg-eth0 ifcfg-eth1 ifcfg-bond02.2.2 修改/etc/modprobe.d/dist.conf⽂件在此⽂件中添加以下内容:alias bond0 bonding,表⽰系统在启动时加载bonding模块,对外虚拟⽹络接⼝设备为 bond0miimon=100,表⽰系统每100ms监测⼀次链路连接状态,如果有⼀条线路不通就转⼊另⼀条线mode=1,表⽰绑定模式为1primary=eth0,系统⾸先eth0作为bond0接⼝与外界信息的传输接⼝2.2.3 修改配置⽂件/etc/rc.local在此⽂件中添加以下内容:modprobe bonding miimon=100 mode=12.2.4 重启⽹络(service network restart),并查看三个接⼝的mac地址使⽤ifconfig命令显⽰,bond0,eth1,eth2物理地址相同,提⽰三个⽹卡均通过⼀个ip主机端⼝与外界通信但是,我们可以看到,在mode=1的情况下,当前bond0采⽤eth0通信,实际的物理⽹卡地址见下图:3、验证⽹络的连通性没有丢包,⽹络连通性可。
Linux双网卡绑定实现
Linux双网卡绑定实现.txt*一篇一篇的翻着以前的的签名,那时候的签名有多幼稚就有多么的幼稚。
你连让我报复的资格都没有-〞好想某天来电显示是你的号码。
好想某天你的状态是为我而写。
有些人,我们明知道是爱的,也要去放弃,因为没结局Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。
其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux 的2.4.x的内核中也采用这这种技术,被称为bonding。
bonding技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的。
下面我们讨论一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。
我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。
但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。
bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的Mac地址改成相同,可以接收特定mac的数据帧。
然后把相应的数据帧传送给bond驱动程序处理。
说了半天理论,其实配置很简单,一共四个步骤:实验的操作系统是Redhat Linux Enterprise 3.0绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片。
1.编辑虚拟网络接口配置文件,指定网卡IPvi /etc/sysconfig/ network-scripts/ ifcfg-bond0[root@redflag root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0 2 #vi ifcfg-bond0将第一行改成 DEVICE=bond0# cat ifcfg-bond0DEVICE=bond0BOOTPROTO=staticIPADDR=172.31.0.13NETMASK=255.255.252.0BROADCAST=172.31.3.254ONBOOT=yesTYPE=Ethernet这里要主意,不要指定单个网卡的IP 地址、子网掩码或网卡 ID。
linux下双网卡绑定配置
在linux下如何做双网卡绑定实现冗余?一、Linux Channel Bonding目前在各个发行版本的 Linux 中,使用最普遍的内核版本应该就是 2.4.x的版本了,而Linux Channel Bonding,在 Linux 2.4 的内核中,就提供了 bonding 的驱动,可以支持把多个网络适配器集合在一起,当作一个网络适配器来使用。
在 Linux 下,网卡的高可用性是通过 MII 或者 ETHTOOL 的状态监测来实现的,所以,需要检查系统中的网络适配器是否支持 MII 或者 ETHTOOL 的连状态监测。
可以用命令 "ethtool eth0" 来检查,如果显示的 "Link detected:" 信息与实现的连接状态一致,就没有问题。
如果系统中的网络适配器不支持 MII 或者 ETHTOOL 状态监测,当连接失效时,系统就不能检测到,同时,在 bonding 驱动加载时,会记录一条不支持 MII 和 ETHTOOL 的警告信息。
下面简单介绍一下实现的基本方法:首先,我们需要打开内核对 bonding 支持。
设置内核 "make menuconfig/xconfig/config",在"Network device support"区段中选择"Bonding driver support",建议设置该驱动程序为模块,这样才能支持给驱动传递参数和设置多个bonding设备。
生成并安装新的内核和模块。
Bonding 的设置我们需要在 /etc/modules.conf 中加入两行,这样才可以在设置了 bond 设置后,系统启动的时候自动加载 bonding 的驱动程序alias bond0 bondingoptions bond0 miimon=100 mode=1当mode=1时为主备模式,mode=0时为负载均衡模式。
Linux RedHat Entprise 5.3下双网卡绑定技术的实现
alias eth1 igb
alias bond0 bonding
options bonding max_bonds=1
alias scsi_hostadapter ata_piix
alias scsi_hostadapter1 lpfc
alias scsi_hostadapter2 qla2xxx
10:55:25 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:55:25 PM eth1 1.32 0.01 86.87 0.57 0.00 0.00 0.00
10:55:25 PM bond0 1.32 0.01 86.87 0.57 0.00 0.00 0.00
6、启动网卡绑定设备,导入bonding驱动
[root@localhost /]# modprobe -i bonding max_bonds=1
7、重启网络
[root@localhost /]# /etc/init.d/network restart
Shutting down interface bond0: [ OK ]
SLAVE=yes
HWADDR=00:0A:E4:17:38:9A
ONBOOT=yes
2、/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
MASTபைடு நூலகம்R=bond0
SLAVE=yes
HWADDR=00:0A:E4:17:38:9B
ONBOOT=yes
10:53:13 PM bond0 2.47 0.00 176.61 0.00 0.00 0.00 0.00
《Linux双网卡绑定和解除绑定的实现》经典培训课件
2 配置文件修改
学习通过修改配置文件来解除网卡绑 定。
绑定网卡故障排除
1 常见问题和解决方法
探索双网卡绑定过程中可能遇到的常 见问题,并学习相应的解决方法。
2 日志分析和错误追踪技巧
了解如何使用日志文件来分析问题以 及跟踪错误。
案例分析
1 实例演示
通过实际案例演示,加深对双网卡绑定的理 解和实际操作经验。
《Linux双网卡绑定和解 除绑定的实现》经典培训 课件
在本课程中,我们将深入学习Linux双网卡绑定的实现原理和操作方法,以及 解除绑定的技巧和故障排除。
绪论
1 课程背景
了解为什么双网卡绑定在Linux中是一 个重要的主题。
2 目标和重点
明确我们在本课程中的学习目标和关 注点。
Linux双网卡绑定概述
2 常见问题解答
回答学员在案例分析中可能提出的问题,确 保他们理解并掌握了关键概念。
总结
1 总结课程要点
回顾并总结本课程的关键要点,确保 学员达到预期学习目标。
2 后续
。
1 什么是双网卡绑定
了解双网卡绑定的定义和基本原理。
2 绑定的优势和应用场景
探索双网卡绑定的优点以及在实际应用中的 常见场景。
绑定网卡的方法
1 命令行配置
2 配置文件修改
学习通过命令行工具配置双网卡绑定。
掌握在配置文件中进行双网卡绑定设 置的方法。
解除网卡绑定的方法
1 取消绑定命令行配置
了解如何使用命令行工具来取消双网 卡的绑定设置。
suse linux双网卡绑定设置详解
suse linux双网卡绑定设置详解双网卡的绑定可以实现冗余和高可用性,在suse linux 10中和redhat linux 5中设置双网卡绑定是不太一样的,下面详解一下suse linux 下的双网卡绑定:1、首先确保两个网卡上都连接线缆并且工作是正常的,然后cd/etc/sysconfig/network下,新建一个文件vi ifcfg-bond0,输入如下内容保存BOOTPROTO='static'BROADCAST=''IPADDR='172.29.141.130/25' #要绑定的ip地址NETMASK='255.255.255.128'#网段的掩码NETWORK=''STARTMODE='auto'BONDING_MASTER='yes'BONDING_MODULE_OPTS='mode=1 miimon=100 use_carrier=0'# mode=1是主备模式 mode=0是平衡模式BONDING_SLAVE0='eth-id-68:B5:99:77:3C:66' #第一块网卡的mac 地址BONDING_SLAVE1='eth-id-68:B5:99:77:3C:68' #第二块网卡的mac 地址ETHTOOL_OPTIONS=''MTU=''NAME=''REMOTE_IPADDR=''USERCONTROL='no'2、使用yast进入网卡的配置界面,把原有的两块网卡设置为没有ip3 、注意网关的配置,使用yast进入路由设置界面,在这里可以配置网关。
4、然后输入rcnetwork restart重启网络服务5、然后输入cat /proc/net/bonding/bond0看网卡工作状态,看到bond0,eth0,eth1都是正常的就ok 了。
linux双网卡绑定
一、L inux bonding研究及实现Linux Bonding本文介绍Linux(具体发行版本是CentOS5.6)下的双卡绑定的原理及实现。
Linux双网卡绑定实现是使用两块网卡虚拟成为一块网卡设备,这简单来说,就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。
这项技术在Sun和Cisco中分别被称为Trunking和Etherchannel技术,在Linux的2.4.x及其以后的内核则称为Bonding 技术。
bonding的前提条件:网卡应该具备自己独立的BIOS芯片,并且各网卡芯片组型号相同。
同一台服务器上的网卡毫无疑问是是符合这个条件的。
Bonding原理bonding的原理:在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身MAC的以太网帧,过滤别的数据帧,以减轻驱动程序的负担;但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,bonding就运行在这种模式下,而且修改了驱动程序中的mac地址,将两块网卡的MAC地址改成相同,可以接收特定MAC的数据帧。
然后把相应的数据帧传送给bond驱动程序处理。
为方便理解bonding的配置及实现,顺便阐述一下Linux的网络接口及其配置文件。
在Linux 中,所有的网络通讯都发生在软件接口与物理网络设备之间。
与网络接口配置相关的文件,以及控制网络接口状态的脚本文件,全都位于 /etc/sysconfig/netwrok-scripts/目录下。
网络接口配置文件用于控制系统中的软件网络接口,并通过这些接口实现对网络设备的控制。
当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如何对这些接口进行配置。
接口配置文件的名称通常类似于 ifcfg-<name>,其中 <name> 与配置文件所控制的设备的名称相关。
在所有的网络接口中,最常用的就是以太网接口ifcfg-eth0,它是系统中第一块网卡的配置文件。
Linux双网卡绑定
Linux双网卡绑定1、在terminal中进行操作2、停止网络服务[root@TXJH-BILL ~]# service network stopShutting down loopback interface: [ OK ]3、进入到网络配置文件目录[root@TXJH-BILL ~]# cd /etc/sysconfig/network-scripts/[root@TXJH-BILL network-scripts]# lsifcfg-eth0 ifdown-ipsec ifup ifup-isdn ifup-wirelessifcfg-eth1 ifdown-ipv6 ifup-aliases ifup-plip init.ipv6-globalifcfg-eth2 ifdown-isdn ifup-bnep ifup-plusb net.hotplugifcfg-eth3 ifdown-post ifup-eth ifup-post network-functionsifcfg-lo ifdown-ppp ifup-ib ifup-ppp network-functions-ipv6ifdown ifdown-routes ifup-ippp ifup-routesifdown-bnep ifdown-sit ifup-ipsec ifup-sitifdown-eth ifdown-sl ifup-ipv6 ifup-slifdown-ippp ifdown-tunnel ifup-ipx ifup-tunnel4、新建一个关于bond口的文件并进行编辑。
(此处由于bond口文件配置和物理网口配置文件相似,所以复制了一份物理网口的配置文件并重命名)[root@TXJH-BILL network-scripts]# cp ifcfg-eth0 ifcfg-bond05、编辑ifcfg-bond0配置文件[root@TXJH-BILL network-scripts]# vi ifcfg-bond0DEVICE=bond0BOOTPROTO=staticONBOOT=yesTYPE=EthernetIPADDR=172.16.1.9NETMASK=255.255.255.0BONDING_OPTS="primary=eth0 mode=1 miimon=200"~~6、编辑物理网口配置文件eth0和eth1[root@TXJH-BILL network-scripts]# vi ifcfg-eth0 /eth1# Intel Corporation I350 Gigabit Network ConnectionDEVICE=eth0 /eth1BOOTPROTO=noneHWADDR=B8:CA:3A:5D:B1:18ONBOOT=yesMASTER=bond0SLAVE=yes~~7、编辑modprobe.conf文件[root@TXJH-BILL network-scripts]# vi /etc/modprobe.confalias eth0 igbalias eth1 igbalias eth2 igbalias eth3 igbalias scsi_hostadapter megaraid_sasalias scsi_hostadapter1 ahcialias scsi_hostadapter2 usb-storagealias bond0 bonding~~8、重新启动网络服务[root@TXJH-BILL network-scripts]# service network startBringing up loopback interface: [ OK ] Bringing up interface bond0: [ OK ]。
Linux双网卡绑定和解除绑定的实现
Linux双网卡绑定和解除绑定的实现双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。
根据交换机可支持的功能不通,最常见的是设定为主备方式的双网卡绑定。
一、操作步骤这里以绑定两个网卡为示例描述。
配置文件都在/etc/sysconfig/network-scripts/目录下。
1、编辑新的ifcfg-bond0文件增加如下内容:引用# cat /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0IPADDR=192.168.1.155NETMASK=255.255.255.0ONBOOT=yesBOOTPROTO=noneUSERCTL=no这是最后bond0设备的实际IP设置。
2、分别编辑ifcfg-eth0和ifcfg-eth1文件引用# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none# cat /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none3、修改/etc/modules.conf文件# vi /etc/modules.conf添加如下内容:引用alias bond0 bondingoptions bond0 miimon=100 mode=1说明:引用miimon是用来进行链路监测的。
比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
Linux双网卡捆绑配置
Linux双网卡捆绑配置NAS网卡配置复制/etc/sysconfig/network-scripts/eth2,改名生成一个ifcfg-bond0文件。
复制的方法1,进入/etc/sysconfig/network-scripts/该目录下Cd /etc/sysconfig/network-scripts/2,执行拷贝命令.Cp ficfg-eth2 ficfg-bond01.配置bond0网络IP信息,执行:vim /etc/sysconfig/network-scripts/ifcfg-bond0点击回车键,出现编辑界面,点击一下字母“i”键,进入字符编辑状态,删掉以前的配置信息,重新输入以下的信息:DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=172.16.80.12NETMASK=255.255.255.0输入完成后,点击一下“Esc”键,然后同时点击“shift”键和“冒号”键后,输入“wq”再点击回车键,保存退出vi编辑界面。
2.配置eth0的网络IP信息,执行:vim /etc/sysconfig/network-scripts/ifcfg-eth2点击回车键,出现编辑界面,点击一下字母“i”键,进入字符编辑状态,删掉以前的配置信息,重新输入以下的信息:DEVICE=eth2ONBOOT=yesBOOTPROTO=noneMASTER=bond0SLA VE=yes输入完成后,点击一下“Esc”键,然后同时点击“shift”键和“冒号”键后,输入“wq”再点击回车键,保存退出vi编辑界面。
3.配置eth1的网络IP信息,执行:Vim /etc/sysconfig/network-scripts/ifcfg-eth3点击回车键,出现编辑界面,点击一下字母“i”键,进入字符编辑状态,删掉以前的配置信息,重新输入以下的信息:DEVICE=eth3ONBOOT=yesBOOTPROTO=noneMASTER=bond0SLA VE=yes输入完成后,点击一下“Esc”键,然后同时点击“shift”键和“冒号”键后,输入“wq”再点击回车键,保存退出vi编辑界面。
Linux下的bonding(双网卡绑定)配置整理
Linux下的bonding(双网卡绑定)配置整理Linux下的bonding(双网卡绑定)配置整理1. 检查你的系统是否支持bonding首先,执行命令:$ rpm -qf /sbin/ifup它将会返回一行文本,以"initscripts"或"sysconfig,"开头,后面跟着一串数字。
这就是提供网络初始化脚本的包。
注意,如果查到的包是initscripts,后面配置的时候要使用initscripts的配置方式,这边的环境是initscripts方式。
如果查到的是sysconfig包,则配置会不同,详细请查看下一步,为了确定你的安装是否支持bonding,执行命令:$ grep ifenslave /sbin/ifup如果返回任何匹配记录,则表示你的initscripts或sysconfig支持bonding。
2. 修改网络适配器的配置针对现在的网络适配器配置文件进行修改,配置文件都放在/etc/sysconfig/network-scripts目录下,如下:第一个网络适配器:vi /etc/sysconfig/network-scripts/eth0DEVICE=eth0 ONBOOT=yes BOOTPROTO=none MASTER=bond0 SLA VE=yes第二个网络适配器:vi /etc/sysconfig/network-scripts/eth1DEVICE=eth1 USERCTL=no ONBOOT=yes MASTER=bond0 SLA VE=yes BOOTPROTO=non ewk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});3.创建bonding的网络脚本vi /etc/sysconfig/network-scripts/bond0DEVICE=bond0IPADDR=192.168.1.66//修改为你需要的IPNETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 ONBOOT= yesBOOTPROTO=none USERCTL=no4. bond驱动的选项Bonding驱动的选项是通过在加载时指定参数来设定的,通常在以下两个文件里面指定。
Linux下安装双网卡绑定
Linux下安装双网卡绑定1需要彻底关闭NetworlManger 服务,否则会和bond网卡冲突service NetworkManager stopchkconfig NetworkManager off2.修改vim /etc/sysconfig/network-scripts/ifcfg-bond0 配置文件DEVICE=bond0BOOTPROTO=noneIPADDR=?NETMASK=255.255.25.0ONBOOT=yesUSERCTL=noBONDING_OPTS="mode=1 miimon=50" //设置网卡的运行模式,也可以在配置文件中设置3.修改vim /etc/sysconfig/network-scripts/ifcfg-eth0配置文件DEVICE=eth0BOOTPROTO=noneONBOOT=yesMASTER=bond0 //将网卡指向bond0SLAVE=yes //启用双网卡USERCTL=no4.修改vim /etc/sysconfig/network-scripts/ifcfg-eth1配置文件DEVICE=eth1BOOTPROTO=noneONBOOT=yesMASTER=bond0 //将网卡指向bond0SLAVE=yes //启用双网卡USERCTL=no5.修改内核文件vim /etc/modprobe.d/dist.conf文件添加以下两行:alias bond0 bondingoptions bond0 mode=1 miimon=50 //如果上面设置了,这里就不要设了6:修改vim /etc/rc.local,添加内容如下:ifenslave bond0 eth0 eth1 //这个也可以不设,重启以后就可以生效了,这也是RHEL6中增加的7.系统需要重启生效,这时,只有bond0的网卡有ip地址,eth0和eth1网卡应该没有ip就可以了,查看网卡运行的状态,使用命令cat /proc/net/boning/bond0可以看到那块网卡生效。
linux使用bond实现双网卡绑定单个IP的示例代码
linux使⽤bond实现双⽹卡绑定单个IP的⽰例代码双⽹卡绑定单个IP 地址为了提供⽹络的⾼可⽤性,我们可能需要将多块⽹卡绑定成⼀块虚拟⽹卡对外提供服务,这样即使其中的⼀块物理⽹卡出现故障,也不会导致连接中断。
bond在Linux下叫bonding,IBM称为etherchanel,broadcom叫team,但是名字怎么变,效果都是将两块或更多的⽹卡当做⼀块⽹卡使⽤,在增加带宽的同时也可以提⾼冗余性。
实现双⽹卡绑定的⽅法有两种: bond和team这⾥先记下bond的绑定⽅法bond⽀持的模式共⽀持bond[0-6]共七种模式,常⽤的就三种,如下:mode=0:默认,平衡负载模式,有⾃动备援,但需要配置交换机。
mode=1:主备模式,其中⼀条线若断线,其他线路将会⾃动备援,不需要配置交换机。
mode=6:平衡负载模式,有⾃动备援,不需要配置交换机。
⾄于其他的模式,解释如下:mode=2:选择⽹卡的序号=(源MAC地址 XOR ⽬标MAC地址) % Slave⽹卡(从⽹卡)的数量,其他的传输策略可以通过xmit_hash_policy配置项指定mode=3:使⽤⼴播策略,数据包会被⼴播⾄所有Slave⽹卡进⾏传送mode=4:使⽤动态链接聚合策略,启动时会创建⼀个聚合组,所有Slave⽹卡共享同样的速率和双⼯设定但是,mode4有两个必要条件1.⽀持使⽤ethtool⼯具获取每个slave⽹卡的速率和双⼯设定;2.需要交换机⽀持IEEE 802.3ad 动态链路聚合(Dynamic link aggregation)模式mode=5:基于每个slave⽹卡的速率选择传输⽹卡。
必要条件:⽀持使⽤ethtool⼯具获取每个slave⽹卡的速率。
配置bond⽹卡bond1 IP bond 模式ens33、ens36192.168.171.111mode 1注: ip地址配置在bond1 上,物理⽹卡⽆需配置IP地址#加载bonding模块,并确认已经加载[root@web01 ~]# modprobe --first-time bonding[root@web01 ~]# lsmod | grep bondingbonding 141566 0#编辑bond1配置⽂件[root@web01 ~]# cat > /etc/sysconfig/network-scripts/ifcfg-bond1 << EOF> DEVICE=bond1> TYPE=Bond> IPADDR=192.168.171.111> NETMASK=255.255.255.0> GATEWAY==192.168.171.2> DNS1=114.114.114.114> DNS2=8.8.8.8> USERCTL=no> BOOTPROTO=none> ONBOOT=yes> EOF#修改ens33配置⽂件[root@web01 ~]# cat > /etc/sysconfig/network-scripts/ifcfg-ens33 << EOF> DEVICE=ens33> TYPE=Ethernet> ONBOOT=yes> BOOTPROTO=none> DEFROUTE=yes> IPV4_FAILURE_FATAL=no> NMAE=ens33> MASTER=bond1 # 需要和上⾯的ifcfg-bond0配置⽂件中的DEVICE的值⼀致> SLAVE=yes> EOF#修改ens36配置⽂件[root@web01 ~]# cat > /etc/sysconfig/network-scripts/ifcfg-ens33 << EOF> DEVICE=ens36> TYPE=Ethernet> ONBOOT=yes> BOOTPROTO=none> DEFROUTE=yes> IPV4_FAILURE_FATAL=no> NAME=ens36> MASTER=bood1> SLAVE=yes> EOF# 配置bonding[root@web01 ~]# cat >> /etc/modules-load.d/bonding.conf << EOF> alias bond1 bonding> options bonding mode=1 miimon=200 # 加载bonding模块,对外虚拟⽹络接⼝设备为 bond1> EOF#重启⽹卡使配置⽣效[root@web01 ~]# systemctl restart network注:如果配置完毕后重启⽹卡服务⼀直启动失败,⽽且⽇志⾥⾯也检查不出错误来,可以关闭NetworkManager后再次重启⽹卡试试重启⽹络后查看各个⽹卡的信息[root@web01 ~]# ip a show ens332: ens33: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 state UP group default qlen 1000link/ether 00:0c:29:9f:33:9f brd ff:ff:ff:ff:ff:ff[root@web01 ~]# ip a show ens363: ens36: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 state UP group default qlen 1000link/ether 00:0c:29:9f:33:9f brd ff:ff:ff:ff:ff:ff[root@web01 ~]# ip a show bond17: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000link/ether 00:0c:29:9f:33:9f brd ff:ff:ff:ff:ff:ffinet 192.168.171.111/24 brd 192.168.171.255 scope global noprefixroute bond1valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe9f:339f/64 scope linkvalid_lft forever preferred_lft forever查看bond1相关信息#查看bond1的接⼝状态[root@web01 ~]# cat /proc/net/bonding/bond1Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: load balancing (round-robin) # 绑定模式MII Status: up # 接⼝状态MII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: ens33 # 备⽤接⼝: ens33MII Status: up # 接⼝状态Speed: 1000 Mbps # 端⼝速率Duplex: fullLink Failure Count: 0Permanent HW addr: 00:0c:29:9f:33:9f # 接⼝永久MAC地址Slave queue ID: 0Slave Interface: ens36 # 备⽤接⼝: ens36MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 00:0c:29:9f:33:a9Slave queue ID: 0当做到这⼀步的时候,ens33或ens36中任意⼀块⽹卡down掉,都不会影响通信注: 如果你是使⽤vmware workstaction虚拟机进⾏测试,请不要直接执⾏命令ifdown ens33或ifdown ens36进⾏测试,这样因为虚拟机的原因测试不到效果,可以在⽹络适配器⾥将已连接√给取消掉到此这篇关于linux 使⽤bond实现双⽹卡绑定单个IP的⽰例代码的⽂章就介绍到这了,更多相关linux 双⽹卡绑定单个IP内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
Linux-双网卡绑定bond详解
Linux-双⽹卡绑定bond详解1、什么是bond⽹卡bond是通过多张物理⽹卡绑定为⼀个逻辑⽹卡,实现本地⽹卡的冗余,带宽扩容和负载均衡,在⽣产场景中是⼀种常⽤的技术。
Kernels 2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。
可以通过以下命令确定内核是否⽀持 bonding:[root@lixin network-scripts] #cat /boot/config-2.6.32-573.el6.x86_64 |grep -i bondingCONFIG_BONDING=m[root@lixin network-scripts] #2、bond的模式bond的模式常⽤的有两种:mode=0(balance-rr)表⽰负载分担round-robin,并且是轮询的⽅式⽐如第⼀个包⾛eth0,第⼆个包⾛eth1,直到数据包发送完毕。
优点:流量提⾼⼀倍缺点:需要接⼊交换机做端⼝聚合,否则可能⽆法使⽤mode=1(active-backup)表⽰主备模式,即同时只有1块⽹卡在⼯作。
优点:冗余性⾼缺点:链路利⽤率低,两块⽹卡只有1块在⼯作bond其他模式:mode=2(balance-xor)(平衡策略)表⽰XOR Hash负载分担,和交换机的聚合强制不协商⽅式配合。
(需要xmit_hash_policy,需要交换机配置port channel)特点:基于指定的传输HASH策略传输数据包。
缺省的策略是:(源MAC地址 XOR ⽬标MAC地址) % slave数量。
其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能⼒mode=3(broadcast)(⼴播策略)表⽰所有包从所有⽹络接⼝发出,这个不均衡,只有冗余机制,但过于浪费资源。
此模式适⽤于⾦融⾏业,因为他们需要⾼可靠性的⽹络,不允许出现任何问题。
需要和交换机的聚合强制不协商⽅式配合。
Linux+Oracle 10g RAC双网卡绑定和解除绑定的实现
一、软硬件环境概述在虚拟机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.1localhost192.168.2.111 rac1 rac1-vip rac1-priv rac2 rac2-vip rac2-priv二、添加网卡eth21、在rac1和rac2上分别以host-only的模式添加一块网卡a、Edit virtual machineb、Add进入add hardware wizard,下一步c、选择ethernet adapter 下一步d、选择host-only,完成2、启动虚拟机,此时ifconfig –a可以看见多出了一个网卡eth2,只是没有IP地址,在network configuration图形界面的hardware选项页可以看见eth2,status为OK。
三、在rac1和rac2上停数据库和crs1.#cd /u01/app/oracle/product/10.2.0/crs_1/bin2.3.停数据库实例4.5.#./srvctl stop instance –d devdb –i ora.devdb.devd1.inst6.7.#./srvctl stop instance –d devdb –i ora.devdb.devd2.inst8.9.停数据库10.11.#./srvctl stop database –d devdb12.13.停ASM实例14.15.#./srvctl stop asm –n rac116.17.#./srvctl stop asm –n rac218.19.停vip,gsd,listener,ons20.21.#./srvctl stop nodeapps –n rac122.23.#./srvctl stop nodeapps –n rac2四、更改网卡配置绑定网卡更改eth0和eth2的配置文件,将eth0和eth2绑定为一块虚拟网卡bond0.1、首先在/etc/sysconfig/network-scripts/下创建虚拟网卡bond0的配置文件ifcfg-bond0 1.#cd /etc/sysconfig/network-scripts/2.3.#vi ifcfg-bond04.5.DEVICE=bond06.7.BOOTPROTO=none8.9.BROADCAST=192.168.2。
Linux网卡绑定简单说明
第一步: 创建bond0 配置文件[root@ etc]# vi /etc/sysconfig/network-scripts/ifcfg-bond0 配置文件内容如下:DEVICE=bond0ONBOOT=yesBOOTPROTO=staticTYPE=EthernetNETMASK=255.255.0.0IPADDR=10.1.0.5第二步: 修改eth0 和eth1 配置文件:使用vi修改eth0和eth1的配置文件[root@ etc]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 如下为参考配置DEVICE=eth0ONBOOT=yesBOOTPROTO=noneTYPE=EthernetMASTER=bond0SLAVE=yes修改eth1配置文件[root@ etc]# vi /etc/sysconfig/network-scripts/ifcfg-eth1 如下为参考配置DEVICE=eth1USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none保存退出.第三步: 装载bond 模块驱动在使bond0网口能够工作之前,需要首先装载内核bond模块的驱动, 修改/etc/modprobe.conf:[root@ etc]# vi /etc/modprobe.conf将如下两行附加到文件末尾:alias bond0 bonding options bond0 mode=balance-albalias bond0 bonding options bond0 miimon=100 mode=6第四步: 测试配置首先装载bonding模块[root@ etc]# modprobe bonding重启网络服务,确认bond0已经启动:[root@ etc]# service network restart确认设备已经正确加载:[root@ etc]# less /proc/net/bonding/bond0输出:Bonding Mode: load balancing (round-robin)MII Status: upMII Polling Interval (ms): 0Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eth0MII Status: upLink Failure Count: 0Permanent HW addr: 00:0c:29:c6:be:59Slave Interface: eth1MII Status: upLink Failure Count: 0Permanent HW addr: 00:0c:29:c6:be:63列出所有网口:[root@ etc]# ifconfig输出:bond0 Link encap:Ethernet HWaddr 00:0C:29:C6:BE:59 inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:2804 errors:0 dropped:0 overruns:0 frame:0 TX packets:1879 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:250825 (244.9 KiB) TX bytes:244683 (238.9 KiB)eth0 Link encap:Ethernet HWaddr 00:0C:29:C6:BE:59 inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fec6:be59/64 Scope:Link UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:2809 errors:0 dropped:0 overruns:0 frame:0 TX packets:1390 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:251161 (245.2 KiB) TX bytes:180289 (176.0 KiB) Interrupt:11 Base address:0x1400eth1 Link encap:Ethernet HWaddr 00:0C:29:C6:BE:59 inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fec6:be59/64 Scope:Link UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:502 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:258 (258.0 b) TX bytes:66516 (64.9 KiB) Interrupt:10 Base address:0x1480如果已经输出类似上述的端口,说明你的bond已经成功了. 更多细节,请参考官方文档多个bond设备若您需要激活多个bond设备,例如bond0、bond1对应不用的网卡。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux双网卡绑定和解除绑定的实现双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。
根据交换机可支持的功能不通,最常见的是设定为主备方式的双网卡绑定。
一、操作步骤这里以绑定两个网卡为示例描述。
配置文件都在/etc/sysconfig/network-scripts/目录下。
1、编辑新的ifcfg-bond0文件增加如下内容:引用# cat /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0IPADDR=192.168.1.155NETMASK=255.255.255.0ONBOOT=yesBOOTPROTO=noneUSERCTL=no这是最后bond0设备的实际IP设置。
2、分别编辑ifcfg-eth0和ifcfg-eth1文件引用# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none# cat /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none3、修改/etc/modules.conf文件# vi /etc/modules.conf添加如下内容:引用alias bond0 bondingoptions bond0 miimon=100 mode=1说明:引用miimon是用来进行链路监测的。
比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
需根据交换机可提供的工作模式选择。
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。
※注意:引用a、bonding只能提供链路监测,即从主机到交换机的链路是否接通。
如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。
b、设置的模式要与交换机设置的模式一致。
4、重启系统系统启动时,会自动加载bond模块和激活冗余网卡设置。
可使用以下命令进行判断:# ifconfig若确认bond0网卡已经激活,可通过插拔网线操作进行切换测试。
二、修改配置1、修改bond0网卡IP信息执行以下操作即可:# vi /etc/sysconfig/network-scripts/ifcfg-bond0修改其中IP信息,保存退出并使用以下命令重启网络:# /etc/init.d/network restart※注意:切勿在图形界面下来修改bond0的IP !若已经打开网络属性查看网卡信息,请按退出。
不要点确定,否则会修改eth0和eth1的配置信息,使bond0失效。
2、卸载bond0设备如需删除双网卡绑定系统,可执行以下操作:#rm -f /etc/sysconfig/network-scripts/ifcfg-bond0#vi /etc/etc/modules.conf然后删除以下两行后,保存退出引用alias bond0 bondingoptions bond0 miimon=100 mode=1最后重新配置eth0和eth1的IP,并重启网络即可。
三、自动化脚本从上面的步骤可见,都是固定化的工作,有朋友整理了一个脚本出来,我用记事本修改其中部分的内容,然后运行# ./newbond081006.sh即可,脚本如下:#!/bin/bashif [ $# -lt 6 ];thenecho "Usage: $0 <bond*> <eth*> <eth*> <ipaddress> <netmask> <gateway>"echo "eg: $0 bond0 eth0 eth1 10.0.0.1 255.255.255.0 10.0.0.254"exit 1fi#modify ifcfg-bond* fileecho "DEVICE=$1IPADDR=$4NETMASK=$5GATEWAY=$6ONBOOT=yesBOOTPROTO=noneUSERCTL=no" >/tmp/ifcfg-$1mv -f /tmp/ifcfg-$1 /etc/sysconfig/network-scripts/#modify ifcfg-eth0 fileecho "DEVICE=$2USERCTL=noONBOOT=yesMASTER=$1SLAVE=yesBOOTPROTO=none" >/tmp/ifcfg-$2mv -f /tmp/ifcfg-$2 /etc/sysconfig/network-scripts/#modify ifcfg-eth1 fileecho "DEVICE=$3USERCTL=noONBOOT=yesMASTER=$1SLAVE=yesBOOTPROTO=none" >/tmp/ifcfg-$3mv -f /tmp/ifcfg-$3 /etc/sysconfig/network-scripts/##modify network file#sed /GATEWAY/d /etc/sysconfig/network >/tmp/network#echo "GATEWAY=\"$6\"">>/tmp/network#mv -f /tmp/network /etc/sysconfig/#modify modules.cof/modprobe.cofMODCONF=/NULLTEMPFILE1=/tmp/mod1.$$TEMPFILE2=/tmp/mod2.$$BAKFILE=/etc/.modconfecho "Please Select Your Bond Mode:(balance-rr/active-backup)or(0/1)?"read MODEif [ -f /etc/modprobe.conf ]; thenMODCONF=/etc/modprobe.confelseMODCONF=/etc/modules.confficp $MODCONF $BAKFILEsed '/alias[ \t]*'$1'[ \t]*bonding/d;/options[ \t]*'$1'[ \t]*/d;/install.*'$1'/d' $MODCONF > $TEMPFILE1cp $TEMPFILE1 $TEMPFILE2if [ "$(grep "alias.*bonding" $TEMPFILE1)" != "" ]; thenbondcount=$(grep "alias.*bonding" $TEMPFILE1 | wc -l)elif [ "$(grep "install.*bond.*" $TEMPFILE1)" != "" ]; thenbondcount=$(grep "install.*bond.*" $TEMPFILE1 | wc -l)elsebondcount=0fiif [ "$bondcount" -ge 1 ]; thensed '/alias.*bonding/d;s/\(options[ \t]*\)\(bond[0-9]*\)/install\ \2\ \/sbin\/modprobe\ --ignore-install\ bonding\ -o\ \2/' $TEMPFILE1 > $TEMPFILE2echo "install $1 /sbin/modprobe --ignore-install bonding -o $1 miimon=100 mode=$MODE" >> $TEMPFILE2elseecho "alias $1 bonding" >> $TEMPFILE2echo "options $1 miimon=100 mode=$MODE" >> $TEMPFILE2fimv -f $TEMPFILE2 $MODCONF#restart networkecho "System will restart network continue(y/n)?"read bbif [ "$bb" = "y" ] || [ "$bb" = "yes" ] || [ "$bb" = "Y" ];thenfor tempmod in $(lsmod | grep -i bond | awk '{print $1}') domodprobe -r bonding -o "$tempmod"done/etc/init.d/network restartfiecho "OK!"exit 0。