Redhat_Linux系统下做bonding双网卡绑定
Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡
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驱动程序处理。
绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片1.创建虚拟网卡编辑虚拟网络接口配置文件,指定网卡IPvi /etc/sysconfig/ network-scripts/ ifcfg-bond0[root@rhas5 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=yesUSERCTL=noTYPE=Ethernet这里要注意,不要指定单个网卡的IP 地址、子网掩码或网卡ID。
RedHat-linux网络配置
Redhat Linux的网络配置(双网卡双网关的设置)Redhat Linux的网络配置:Linux 的网络配置基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失。
下面是相关的配置文件:/ect/hosts 配置主机名和IP地址的对应,对本机提供解析/etc/resolv.conf 配置域名(在hosts内解析不到时此域名生效)/etc/sysconfig/network 配置主机名和网关/etc/sysconfig/network-scripts/ifcfg-eth0 配置IP、Mask等网络参数一、网卡配置cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.1.250NETMASK=255.255.255.0GATEWAY=192.168.76.1ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127 ifconfig eth0:0 192.168.0.253 netmask 255.255.255.0ifconfig eth0:1 192.168.0.252 netmask 255.255.255.0ifconfig eth0 downifconfig eth0 up二、多网卡配置:cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=staticIPADDR=192.168.1.2NETMASK=255.255.255.0ONBOOT=yescat /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1BOOTPROTO=staticIPADDR=222.157.4.82NETMASK=255.255.255.128ONBOOT=yesvim /etc/rc.d/rc.localroute add -net 222.157.0.0/16 gw 222.157.66.1 dev eth1三、网关配置:注意:以下用命令设置的方式设置完后需要将命令加入到/etc/rc.d/rc.local 中,否则重启后设置被自动清除!1、在/etc/sysconfig/network-scripts/ifcfg-eth0 中配置;GATEWAY=192.168.76.12、在/etc/sysconfig/network 中配置:cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=GATEWAY=192.168.76.13、用命令设置:如果只需要添加默认路由可以这样设置:route add default gw 192.168.1.1route del default gw 192.168.1.254 (可以删除默认路由,用此方法改变后几分钟就可以生效.)如果两个网卡均需要网关可以这样设置:route add -net 192.168.0.0/24 gw 192.168.0.254 dev eth0备注:设置好路由或默认网关以后可以用命令查看:route -nnetstat -rnroute print (For windows)四、域名配置:cat /etc/resolv.confnameserver 202.96.209.5五、单网卡绑定多个IP有时,我们需要在一块网卡上配置多个IP,我们还需要为eth0配置IP 192.168.168.2和192.168.168.3。
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网卡Bonding配置
Linux⽹卡Bonding配置⼀、bonding技术简介 bonding(绑定)是⼀种将n个物理⽹卡在系统内部抽象(绑定)成⼀个逻辑⽹卡的技术,能够提升⽹络吞吐量、实现⽹络冗余、负载等功能,有很多优势。
Linux 系统下⽀持⽹络 Bonding,也叫 channel Bonding,它允许你将 2 个或者更多的⽹卡绑定到⼀起,成为⼀个新的逻辑⽹卡,从⽽实现故障切换或者负载均衡的功能,具体情况要取决于 mode 参数的具体配置。
Linux系统bonding技术是内核层⾯实现的,它是⼀个内核模块(驱动)。
使⽤它需要系统有这个模块, 我们可以modinfo命令查看下这个模块的信息, ⼀般来说都⽀持.modinfo bondingbonding的七种⼯作模式bonding技术提供了七种⼯作模式,在使⽤的时候需要指定⼀种,每种有各⾃的优缺点.balance-rr (mode=0) 默认, 有⾼可⽤ (容错) 和负载均衡的功能, 需要交换机的配置,每块⽹卡轮询发包 (流量分发⽐较均衡).active-backup (mode=1) 只有⾼可⽤ (容错) 功能, 不需要交换机配置, 这种模式只有⼀块⽹卡⼯作, 对外只有⼀个mac地址。
缺点是端⼝利⽤率⽐较低balance-xor (mode=2) 不常⽤broadcast (mode=3) 不常⽤802.3ad (mode=4) IEEE 802.3ad 动态链路聚合,需要交换机配置,没⽤过balance-tlb (mode=5) 不常⽤balance-alb (mode=6) 有⾼可⽤ ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接⼝不是特别均衡)详细说明请参考⽹络上其他资料,了解每种模式的特点根据⾃⼰的选择就⾏, ⼀般会⽤到0、1、4、6这⼏种模式。
⼆、RHEL6 下的 Boding 配置: 在所有的 RHEL 版本下,⽬前都不⽀持在 NetworkManager 服务协作下实现 Bonding 配置.所以要么直接关闭 NetworkManager 服务,并取消其开机启动,要么在所有涉及 Bonding 的⽹卡配置⽂件中(包含ethx 或者 bondY),显式地添加⼀⾏:NM_CONTROLLED=no 要配置⽹卡 Bonding,你必须在/etc/sysconfig/network-scripts/⽬录下建⽴逻辑⽹卡的配置⽂件 ifcfg-bondX,⼀般 X 从 0 开始,依次增加.具体的⽂件内容根据参与 Bonding 的⽹卡类型的不同⼜有所差别,以最最常见的 Ethernet 为例,配置⽂件⼤致是这样的:DEVICE=bond0IPADDR=192.168.0.1NETMASK=255.255.255.0ONBOOT=yesBOOTPROTO=noneUSERCTL=noBONDING_OPTS="bonding parameters separated by spaces"NM_CONTROLLED=no BONDING_OPTS 这⼀⾏填写你需要的 Bonding 模式,⽐如 BONDING_OPTS="miimon=100 mode=1" ,下⾯也会介绍⼏种常见的配置⽅式和它代表的意义,这⾥暂时不展开说明.为了⽅便称呼,我们把Bongding 后的逻辑⽹卡 bondX 称为主⽹卡(Master),参与 Bonding 的物理⽹卡 ethY 称为⼦⽹卡(Slave). 主⽹卡配置⽂件创建完毕以后,⼦⽹卡的配置⽂件也需要做相应的改变,主要是添加 MASTER=和SLAVE=这两项参数,我们假设 2 张⼦⽹卡为 eth0 和 eth1,那么他们的配置⽂件⼤致的样⼦会是这样⼦:DEVICE=ethXBOOTPROTO=noneONBOOT=yesMASTER=bond0SLAVE=yesUSERCTL=noNM_CONTROLLED=no 像这样,分别修改 ifcfg-eth0 和 ifcfg-eth1 配置⽂件,DEVICE=ethX 中的 X ⽤相应的值代替.然后我们重启⽹络服务.service network restart这样⼦,⼦⽹卡为 eth0 和 eth1,主⽹卡为 bond0,模式为 mode 1 的⽹络 Bonding 就完成了rhel6 bonding 实例展⽰系统: rhel6⽹卡: eth2、eth3bond0:10.200.100.90负载模式: mode1(active-backup) # 这⾥的负载模式为1,也就是主备模式.1、关闭和停⽌NetworkManager服务service NetworkManager stopchkconfig NetworkManager offps: 如果有装的话关闭它,如果报错说明没有装这个,那就不⽤管2、加载bonding模块modprobe --first-time bonding3、创建基于bond0接⼝的配置⽂件[root@rhel6.6 network-scripts]# cat ifcfg-bond0DEVICE=bond0BOOTPROTO=noneIPADDR=10.200.100.90NETMASK=255.255.255.0ONBOOT=yesNM_CONTROLLED=noUSERCTL=noBONDING_OPTS="mode=1 miimon=200"4、SLAVE⽹卡的配置⽂件两种⼦⽹卡的配置⽂件如下[root@rhel6.6 network-scripts]# cat ifcfg-eth2DEVICE=eth2#HWADDR=14:58:D0:5A:0F:76NM_CONTROLLED=no#UUID=3b718bed-e8d4-4b64-afdb-455c8c3ccf91ONBOOT=yes#NM_CONTROLLED=yesBOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no[root@rhel6.6 network-scripts]# cat ifcfg-eth3DEVICE=eth3#HWADDR=14:58:D0:5A:0F:77NM_CONTROLLED=no#UUID=988835c2-8bfa-4788-9e8d-e898f68458f0ONBOOT=yes#NM_CONTROLLED=yesBOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no5、bonding信息查看重启⽹络服务器后bonding⽣效[root@rhel6.6 network-scripts]# ip a4: eth2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000link/ether c4:34:6b:ac:5c:9e brd ff:ff:ff:ff:ff:ff5: eth3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000link/infiniband a0:00:03:00:fe:80:00:00:00:00:00:00:00:02:c9:03:00:0a:6f:ba brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff10: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UPlink/ether c4:34:6b:ac:5c:9e brd ff:ff:ff:ff:ff:ffinet 10.200.100.90/24 brd 10.212.225.255 scope global bond0inet6 fe80::c634:6bff:feac:5c9e/64 scope linkvalid_lft forever preferred_lft forever[root@rhel6.6 network-scripts]# cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)Bonding Mode: fault-tolerance (active-backup) # bond0接⼝采⽤mode1Primary Slave: NoneCurrently Active Slave: eth2MII Status: upMII Polling Interval (ms): 200Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eth2MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: c4:34:6b:ac:5c:9eSlave queue ID: 0Slave Interface: eth3MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: c4:34:6b:ac:5c:9fSlave queue ID: 0进⾏⾼可⽤测试,拔掉其中的⼀条⽹线看丢包和延时情况, 然后在插回⽹线(模拟故障恢复),再看丢包和延时的情况.三、RedHat7配置bonding系统: Red Hat Enterprise Linux Server release 7.6 (Maipo)⽹卡: eno3、eno4bonding:bond0负载模式: mode1(active-backup)服务器上两张物理⽹卡eno3和eno4, 通过绑定成⼀个逻辑⽹卡bond0,bonding模式选择mode1注: ip地址配置在bond0上, 物理⽹卡不需要配置ip地址.1、关闭和停⽌NetworkManager服务RedHat7默认安装了NetworkManager,在配置前先关掉NetworkManager服务,否则可能会对bonding或造成问题。
RedHat6.3-双网卡绑定
RedHat 6.3进行双网卡绑定一、前期准备:1.1、查看系统版本:# cat /etc/issue1.2、检查系统配置上是否支持bonding:# cat /boot/config-xxxxxxx |grep –i bonding(回车)CONFIG_BONDING=m(返回CONFIG_BONDING=m表示支持,否则需要编译内核使他支持bonding,需要编译时请查阅相关文档,此处不做详细说明)1.3、切换到网卡配置目录,进行备份,防止出错恢复:# cd /etc/sysconfig/network-scripts/ //切换目录# cp ifcfg-eth0 /home/bak/ifcfg-eth0.bak //备份eth0到指定目录# cp ifcfg-eth1 /home/bak/ifcfg-eth1.bak //备份eth1到指定目录二、配置步骤:2.1、进行bond0网卡的配置:切换到目录/etc/sysconfig/network-scripts,创建一个ifcfg-bondX# vi /etc/sysconfig/network-scripts/ifcfg-bond0//新建一个bond0配置文件,在文件中添加以下信息后,保存退出:2.2、修改ifcfg-eth0和ifcfg-eth1的配置信息:(此处为网卡eth0和eth1绑定)# vi /etc/sysconfig/network-scripts/ifcfg-ethX修改后配置信息如下:# cat ifcfg-eth0# cat ifcfg-eth12.3、修改/etc/modprobe.d/dist.conf文件,配置绑定模型,在末尾添加以下内容:(低版本系统直接配置/etc/modprobe.conf文件)alias bond0 bonding options bond0 miimon=100 mode=1//使系统启动时加载bonding模块注:选项miimon 是指定隔多长时间进行链路检查,单位为ms选项mode是表示绑定口的工作模式,有0-6种模式,常用的为0、1:mode=0表示load balancing(round-robin)负载均衡模式,两块网卡都在工作,当一张网卡停止工作时只会降低网络的吞吐量,不影响正常通信,需要交换机支持;mode=1表示fault-tolerance(active-backup)主备工作模式,提供冗余功能。
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、验证⽹络的连通性没有丢包,⽹络连通性可。
redhat6双网卡bonding
6〕lacp_rate指定在模式下,我们希望的链接对端传输LACPDU包的速率。可能的选项:〔1〕slow或者0请求对端每30s传输LACPDU〔2〕fast或者1请求对端每1s传输LACPDU〔3〕缺省值是slow7〕max_bonds为bonding驱动指定创立bonding设备的数量。比方:如果max_bonds为3,而且bonding驱动还没有加载,那么bond0,bond1,bond2将会被创立。缺省值为18〕miimon〔常用〕指定MII链路监控频率,单位是毫秒(ms)。这将决定驱动检查每个slave链路状态频率
0表示制止MII链路监控。100可以作为一个很好的初始参考值。下面的use_carrier选项将会影响如果检测链路状态。更多的信息可以参考“高可靠性〞章节。缺省值为09〕mode指定bonding的策略。缺省是balance-rr〔round robin,循环赛〕。可选的mode包括:0,1,2,3,4,5,6
1〕primay指定哪个slave成为主设备〔primary device〕,取值为字符串,如eth0,eth1等。只要指定的设备可用,它将一直是激活的slave。只有在主设备〔primary device〕断线时才会切换设备。这在希望某个slave设备优先使用的情形下很有用,比方,某个slave设备有更高的吞吐率注意:primary选项只对active-backup模式有效
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
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。
红帽(Redhat)操作系统的网卡绑定方法
红帽(Redhat)操作系统的⽹卡绑定⽅法红帽(Redhat)操作系统的⽹卡绑定⽅法在当前的业务服务器环境中,单⽹卡的系统并不稳定,当业务流量⼤或⽹卡突然出现故障时,容易引起业务中断,这时候,我们需要考虑将多个⽹卡绑定为⼀个IP,以提供冗余,避免出现单点故障的情况。
⼴东省Linux公共服务技术⽀持中⼼(咨询热线:400-033-0108)在为客户提供服务过程中总结出将⽹卡绑定操作的经验⽅法,供同⾏参考。
以将⼀台机器上的eth3和eth4两块⽹卡绑定成trunk0,将eth5和eth6两块⽹卡绑定为trunk1为例说明⽹卡绑定操作⽅法,创建trunk1的步骤请参考本⽂中的注释完成。
本⽂适⽤于RHEL5/6和CENTOS5/6等红帽系Linux操作系统。
本⽂中红⾊⽂字表⽰为可修改部分。
本⽂中蓝⾊⽂字表⽰是注释性信息,供⽤户参考。
⼀、解除ifenslave⽅式绑定,将系统配置恢复成初始未绑定状态在开始绑定前需要解除原来可能存在的ifenslave⽅式的⽹卡绑定,如果不存在ifenslave ⽅式绑定则可以跳过本节,跳到下⾯的第⼆节-⼿⼯修改系统脚本。
解除步骤如下:1、删除/etc/modprob.conf⽂件⾥⾯的 alias trunk0 bonding和options trunk0 miimon=100 mode=1 两句话。
<---解除trunk1绑定时,为trunk12、删除/etc/rc.d/rc.local中包含的ifenslave trunk0 eth3 eth4的语句;<---解除trunk1绑定时,为trunk1 eth5 eth63、检查/etc/sysconfig/network-scripts⽬录,如果存在ifcfg-trunk0这个⽂件,则删除;<---存在trunk1绑定时,为ifcfg-trunk14、检查/etc/sysconfig/network-scripts⽬录,如果存在ifcfg-eth3、ifcfg-eth4、.ifcfg-eth3.bak、.ifcfg-eth4.bak,则删除这些配置⽂件;<--存在trunk1绑定时,为ifcfg-eth5、ifcfg-eth6、.ifcfg-eth5.bak、.ifcfg-eth6.bak 四个⽂件5、在network-scripts⽬录下,使⽤下⾯格式重现建⽴配置⽂件ifcfg-eth3和ifcfg-eth4(使⽤vim⼯具),然后请将建⽴好的ifcfg-eth3和ifcfg-eth4⽂件拷贝到/etc/sysconfig/network-scripts⽬录中。
Redhat linux系统双网口绑定方法
编号:AL04_17031_澜沧江集控_170726关键词:双网卡绑定、RHEL7、RHEL5 报告日期:2017-7-26类似案例问题现象描述由于集控中心的网络IP规划要求,集控通讯机的两个网卡需要绑定成一个虚拟网口使用,即共用同一个IP地址。
下面简单介绍一种主备模式的配置方法。
原因分析处理方案及结果对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。
在生产型的系统中,网卡的可靠性就更为重要了。
在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。
Teaming和bonding 也能为网卡提供冗余的支持。
把两个网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡也能提供正常的服务。
一、RHEL7用Teaming绑定网卡RHEL7提供了一项新的实现技术Teaming。
采取直接编辑ifcfg配置activebackup主备模式。
一个网卡处于活动状态,另一个处于备份状态,所有流量都在主链路上处理,当活动网卡down掉时,启用备份网卡。
1. 编辑虚拟网络接口配置文件,指定网卡IP假设ifcfg-enp2s0f0和ifcfg-enp2s0f1是需要绑定的网卡#cd /etc/sysconfig/network-scripts/#vi ifcfg-team0将ifcfg-team0的信息修改大致如下:DEVICE=team0DEVICETYPE=TeamONBOOT=yes编号:AL04_17031_澜沧江集控关键词:双网卡绑定、RHEL7、RHEL5 报告日期:2017-7-26_170726BOOTPROTO=noneIPADDR=xxx. xxx. xxx. xxxPREFIX=24GATEWAY= xxx. xxx. xxx. xxxTEAM_CONFIG='{"runner":{"name":"activebackup"},"link_watch":{"name":"ethtool"}}'2.配置真实网卡修改ifcfg-enp2s0f0如下:DEVICE=enp2s0f0DEVICETYPE=TeamPortONBOOT=yesTEAM_MASTER=team0TEAM_PORT_CONFIG='{"prio":100}'类似修改ifcfg-enp2s0f1如下:DEVICE=enp2s0f1DEVICETYPE=TeamPortONBOOT=yesTEAM_MASTER=team0TEAM_PORT_CONFIG='{"prio":99}'3.重启将服务器重启。
Redhat双网卡绑定(SOP)
Redhat7.0双网卡绑定测试SOP Redhat7.0配置Bonding使用两张网卡enp4s0f0 enp4s0f1,配置方法如下:1:首先需要安装网卡驱动,然后配置虚拟网络接口Bonding#vim /etc/sysconfig/network-scipts/ifcfg-bond0(目录下建立Bond0文件):2:配置网口enp4s0f0#vim /etc/sysconfig/network-scripts/ifcfg-enp4s0f0(进入文档后按I就可以编辑了)编写完成后:按“ESC”然后”S hift+:”最后:按“wq”保存退出(wq要小写)3:配置第二个网口enp4s0f1#vim /etc/sysconfig/network-scripts/ifcfg-enp4s0f14:添加配置命令用命令#vim /etc/modprobe.d/bonding.conf添加:①mode=1为主备模式,只有一个网卡工作,一个网卡出问题后才启用另外的。
②mode=0为负载均衡模式,两个网卡都同时工作。
③miimon=100每100毫秒检测网卡之间是否连通,如不通则使用另外的链路5:加载模块输入命令:modprobe bonding确认模块是否加载成功输入命令:lsmod | grep bonding输入完后会出现:bonding XXXXX(几个数字) 0表示加载成功6:重启网卡输入命令:servic network restart(跟suse11命令不同) 7:重启成功后打开界面输入:ifconfig这时3个IP都是一样的,表示绑定成功8:打开右上角网络设置,编辑bond0保存退出。
9:关闭防火墙:输入命令:systemctl stop fiewalld.service (停用firewall)输入命令:systemctl disable firewalld.service(禁止firewall开机启动)10:重启系统完成此时enp4s0f1为主网口,enp4s0f0为备用网口,链接网络时拔掉主网口enp4s0f1后网络会停顿5-7秒然后备用网口enp4s0f0开始工作。
Linux系统下如何将多网卡绑定为一个
Linux系统下如何将多网卡绑定为一个在Linux系统中,通常会将多个网卡绑定为一个逻辑网卡,这样可以提高网络的稳定性,那么要如何将多个网络绑定为一个呢?下面店铺就给大家介绍下Linux下多网卡绑定的bond模式原理。
将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严重的瓶颈。
其它的应用,比如ftp服务器,高负载的下载网站,都有类似的问题。
因此使用Linux teaming或bond 来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大幅提升服务器的网络吞吐(I/O)。
Linux的多网卡绑定功能使用的是内核中的“bonding”模块,关于此模块可以参考Linux Ethernet Bonding Driver文档,但是目前发布各个Linux版本内核均已包含了此模块,大多数情况下不需要重新编译内核。
Linux 的 bonding 驱动提供了绑定/集成(bond)多个网卡为一个虚拟逻辑网口的功能。
并请注意绑定的网口(bonded)有多种工作模式; 一般来说,分为热后备(hot standby) 和负载均衡(load balancing)。
在Redhat/Fedora和其它类Redhat Linux中是比较容易配置的。
1.创建bond0配置文件vi /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0 --物理设备名字IPADDR=192.168.1.2 --IP地址NETMASK=255.255.255.0 --子网掩码GATEWAY=192.168.1.1 --网关DNS=8.8.8.8 --DNSONBOOT=yes --随机启动NAME=bond0BOOTPROTO=noneUSERCTL=no --是否允许非root用户控制该设备2.修改被绑定的eth0和eth1的配置文件vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=“eth0”USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=noneHWADDR=00:15:17:CC:FC:35eth1的配置文件与之相同,只是device的值改为eth1即可。
红帽RHEL6.4 双网卡绑定bond0 详细配置过程
Linux RHEL6.4绑定双网卡主备模式1、查看服务器版本lsb_release -a2. 然后进入网卡信息目录:cd /etc/sysconfig/Network-scripts3、接着我们要新建一个文件,文件名为ifcfg-bond0,可以通过三种方式来创建:(vi ifcfg-bond0; touch ifcfg-bond0; cp ifcfg-em1 ifcfg-bond0)这里我选择最后一种:执行cp ifcfg-em1 ifcfg-bond0 后在/etc/sysconfig/network-scripts目录下会多出一个ifcfg-bond0说明关于网卡核心参数说明:4、编辑ifcfg-bond0 输入以下内容:[root@snms-app12 network-scripts]# cat ifcfg-bond0DEVICE=bond0IPADDR=10.26.7.11PREFIX=26GATEWAY=10.26.7.1TYPE=EthernetUUID=11606acf-f216-4884-8b77-c083a8e6276cONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=staticBONDING_OPTS="mode=1 miimon=100"注:mode=1表示主备模式,mode=0表示负载均衡模式5、接下来编辑物理网卡:vi ifcfg-em1 输入下面内容,[root@snms-app12 network-scripts]# cat ifcfg-em1DEVICE=em1TYPE=EthernetUUID=11606acf-f216-4884-8b77-c083a8e6276cONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=noneMASTER=bond0SLAVE=yes6、同样编辑ifcfg-em2,输入图片所示内容[root@snms-app12 network-scripts]# cat ifcfg-em2DEVICE=em2TYPE=EthernetUUID=a489aaf4-1c71-4ed5-9c85-512c4712483cONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=noneMASTER=bond0SLAVE=yes7、编辑/etc/modprobe.d/dist.conf文件,添加如下内容:alias bond0 bondingoptions bond0 miimon=100 mode=1(备注:由于ifcfg-bond0中已经写了这条,这条在这里可添加也可以不添加)8. 最后我们需要手动导入bonding驱动,执行这条命令即可:modprobe -i bonding执行完后可以通过lsmod | grep bonding命令查看是否加载。
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(redhat)下双网卡负载均衡(lacp)
(一)linux配置#cat /boot/config-kernel-version |grep -i bondingCONFIG_BONDING=m返回CONFIG_BONDING=m表示支持,否则需要编译内核使它支持bonding也可以用:查看一下内核是否已经支持bonding:modinfo bonding第一步:创建一个ifcfg-bondX# touch /etc/sysconfig/network-scripts/ifcfg-bond0 新建一个bond0配置文件# cat /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0BOOTPROTO=staticIPADDR=1.1.1.2NETMASK=255.255.255.0BROADCAST=1.1.1.255NETWORK=1.1.1.0GATEWAY=1.1.1.1ONBOOT=yesTYPE=Ethernet编辑ifcfg-bond0如上第二步:修改/etc/sysconfig/network-scripts/ifcfg-ethX这个实验中把网卡1和2绑定,修改/etc/sysconfig/network-scripts/ifcfg-ethX相应网卡配置如下:# cat /etc/sysconfig/network-scripts/ifcfg-eth1TYPE=EthernetDEVICE=eth1HWADDR=00:d0:f8:40:f1:a0 网卡1macBOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes# cat /etc/sysconfig/network-scripts/ifcfg-eth2TYPE=EthernetDEVICE=eth2HWADDR=00:d0:f8:00:0c:0c 网卡2macBOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes第三步:配置/etc/modprobe.conf,添加alias bond0 bonding# cat /etc/modprobe.confalias eth0 e100alias snd-card-0 snd-intel8x0options snd-card-0 index=0options snd-intel8x0 index=0remove snd-intel8x0 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-intel8x0alias eth1 8139toooptions 3c501 irq=3alias eth2 tulip上面是三网卡本身的配置如果要绑定和做lacp只要再加上下面两条配置alias bond0 bonding 绑定options bond0 miimon=100 mode=4 mode=4是lacp第四步:配置/etc/rc.d/rc.local,添加需要绑定的网卡# cat /etc/rc.d/rc.localtouch /var/lock/subsys/local 配置本身就有这条命令ifenslave bond0 eth1 eth2 这条命令是添加需要绑定的网卡1和2到这里就完成bonding的配置了可以查看一下第五步:重启网络服务和重启pc#service network restart 重启网络服务# shutdown -r now 重启pc重启后可以查看bonding情况:网卡1和2 都绑定上了,模式为802.3ad# cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)Bonding Mode: IEEE 802.3ad Dynamic link aggregationTransmit Hash Policy: layer2 (0)MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0802.3ad infoLACP rate: slowActive Aggregator Info:Aggregator ID: 1Number of ports: 2Actor Key: 9Partner Key: 1Partner Mac Address: 00:d0:f8:22:33:baSlave Interface: eth1MII Status: upLink Failure Count: 0Permanent HW addr: 00:d0:f8:40:f1:a0Aggregator ID: 1Slave Interface: eth2MII Status: upLink Failure Count: 0Permanent HW addr: 00:d0:f8:00:0c:0cAggregator ID: 1接口配置信息:新增了bond0的配置信息,接口bond0和eth1,eth2,绑定后三个接口使用的mac都是同一个:00:D0:F8:40:F1:A0# ifconfigbond0 Link encap:Ethernet HWaddr 00:D0:F8:40:F1:A0inet addr:1.1.1.2 Bcast:1.1.1.255 Mask:255.255.255.0inet6 addr: fe80::2d0:f8ff:fe40:f1a0/64 Scope:LinkUP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1RX packets:128 errors:0 dropped:0 overruns:0 frame:0TX packets:259 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:15466 (15.1 KiB) TX bytes:39679 (38.7 KiB)eth0 Link encap:Ethernet HWaddr 00:11:11:EB:71:E2inet addr:192.168.180.8 Bcast:192.168.180.15 Mask:255.255.255.240inet6 addr: fe80::211:11ff:feeb:71e2/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:311 errors:0 dropped:0 overruns:0 frame:0TX packets:228 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:30565 (29.8 KiB) TX bytes:35958 (35.1 KiB)eth1 Link encap:Ethernet HWaddr 00:D0:F8:40:F1:A0inet6 addr: fe80::2d0:f8ff:fe40:f1a0/64 Scope:LinkUP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1RX packets:54 errors:0 dropped:0 overruns:0 frame:0TX packets:97 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:6696 (6.5 KiB) TX bytes:13821 (13.4 KiB)Interrupt:209 Base address:0x2e00eth2 Link encap:Ethernet HWaddr 00:D0:F8:40:F1:A0inet6 addr: fe80::2d0:f8ff:fe40:f1a0/64 Scope:LinkUP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1RX packets:74 errors:0 dropped:0 overruns:0 frame:0TX packets:162 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:8770 (8.5 KiB) TX bytes:25858 (25.2 KiB)Interrupt:201 Base address:0x2f00lo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:6283 errors:0 dropped:0 overruns:0 frame:0TX packets:6283 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:9783674 (9.3 MiB) TX bytes:9783674 (9.3 MiB)(二)锐捷交换机配置:lacp system-priority 100 全局配置lacp优先级interface GigabitEthernet 0/23no switchportlacp port-priority 100 接口的lacp优先级port-group 1 mode active 接口下开启lacp 主动模式interface GigabitEthernet 0/24no switchportlacp port-priority 100port-group 1 mode activeinterface AggregatePort 1no switchportno ip proxy-arpip address 1.1.1.1 255.255.255.0和linux成功建立lacp后状态信息如下:Show lacp summarySystem Id:100, 00d0.f822.33baFlags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs.A - Device is in active mode. P - Device is in passive mode.Aggregate port 1:Local information:LACP port Oper Port PortPort Flags State Priority Key Number State----------------------------------------------------------------------Gi0/23 SA bndl 100 0x1 0x17 0x3dGi0/24 SA bndl 100 0x1 0x18 0x3d Partner information:LACP port Oper Port PortPort Flags Priority Dev ID Key Number State---------------------------------------------------------------------Gi0/23 SA 255 00d0.f840.f1a0 0x9 0x2 0x3dGi0/24 SA 255 00d0.f840.f1a0 0x9 0x1 0x3d State表示状态信息:bndl表示lacp建立成功,sup表示不成功。
linux下双网卡绑定并设置双IP
linux下双网卡绑定并设置双IP环境:双网卡服务器RHEL AS5.4目的:双网卡绑定并设置双IP配置:分为2部分:一、双网卡绑定;二、给绑定后的网卡设置双IP一、双网卡绑定1,新建个ifcfg-bond0 (cp /etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-script/ifcfg-bond0)2,修改ifcfg-bond0文件,去掉mac地址相关信息(HW ADDR),给个ip地址,网络地址,广播地址如下:# cat ifcfg-bond0DEVICE= bond0BOOTPROTO=staticIPADDR=192.168.80.189 //*第一个IP地址*//NETMASK=255.255.255.0 //*网络掩码*//ONBOOT=yes:wq //*保存退出*//3,修改ifcfg-eth0和ifcfg-eth1,如下:cat ifcfg-eth0cat ifcfg-eth14,修改/etc/modprobe.conf,添加如下语句:alias bond0 bondingoptions bond0 miimon=100 mode=1注释:mode可以为0,1,0为负载均衡,1为失效保护如下图:5,修改/etc/rc.d/rc.local,添加如下内容:ifenslave bond0 eth0 eth1route add -net 192.168.1.255 netmask 255.255.255.0 bond0如下图:6,重启,看能否通过ssh登陆上服务器bond0得ip(192.168.1.136),如果成功登陆或者ping通了,再查看一下连接状态ifconfig,如下图:ifconfig查看连接状态7,尝试拔掉一根网线看是否能正常登陆上去(或ping得通),再查看一下更连接状态(cat /proc/net/bonding/bond0)如下图:8,尝试一下更换一下mode的值,再试一下。
linux双网卡绑定配置
“?REDHAT linux双网卡绑定配置(v 130214)版本说明目录版本说明 (2)1、配置驱动模块 (4)2、建立bonding网卡配置 (4)3、修改被绑定网卡的配置 (6)4、修改/etc/sysconfig/network-scripts/ifcfg-eth1 (6)5、导入bonding驱动: (6)6、重启网络 (7)1、配置驱动模块修改文件/etc/modprobe.conf,找到:alias eth0 8139cpalias eth1 8139cp注意:8139cp为网卡型号。
在此内容后加入:######## Bonding ##########alias bond0 bondingoptions bonding max_bonds=1或######## Bonding ##########alias bond0 bondingoptions bond0 miimon=100 mode=12、建立bonding网卡配置新建文件/etc/sysconfig/network-scripts/ifcfg-bond0,输入以下内容:DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.100.21NETMASK=255.255.255.0USERCTL=noBONDING_OPTS="mode=1 miimon=100 primary=eth0"BONDING_OPTS参数解释此参数用于指定网卡绑定时的属性,以下是对常用参数进行的解释:miimon参数:指定网卡故障时的切换时间间隔以ms为单位。
primary参数:指定默认的主网卡设备。
mode参数:0-轮询模式,所绑定的网卡会针对访问以轮询算法进行平分。
1-高可用模式,运行时只使用一个网卡,其余网卡作为备份,在负载不超过单块网卡带宽或压力时建议使用。
2-基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH 计算分流,使各种不同处理来源的访问都尽量在同一个网卡上进行处理。
linux 网卡 绑定 bond 主备
linux 网卡绑定 bond 主备一、做linux双网卡bond1. 编辑文件:#vi /etc/modprobe.conf添加:alias bond0 bondingoptions bond0 miimon=100 mode=1(mode=0 表示load blance 简称AA模式;mode=1 表示热备,简称AB 模式)注:millmon是用来进行链路监测的,millmon=100,表示每100ms监测一次链路连接状态,如果有一条不通,就转入另一条,这个值建议为100, 设成其它值可能导致不稳定)2. 创建bond0起动配置文件:cd /etc/sysconfig/network-scripts/cp ifcfg-eth0 ifcfg-bond0vi ifcfg-bond0内容如下:DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.0.12NETMASK=255.255.255.0GATEWAY=192.168.0.1USERCTL=no3. 编辑ifcfg-eth0 , ifcfg-eth1两个网卡配置文件,内容如下: #vi ifcfg-eth0DEVICE=eth0USERCTL=noONBOOT=yesMASTER=bond0 //这两行主要是用于系统service network restart SLAVE=yes //后自动启用BOOTPROTO=noneHWADDR=XXXXXXXXXXXXXX (本网卡的MAC,可加可不加)#cp ifcfg-eth0 ifcfg-eth1#vi ifcfg-eth1DEVICE=eth1USERCTL=noONBOOT=yesMASTER=bond0 //这两行主要是用于系统service network restartSLAVE=yes //后自动启用BOOTPROTO=noneHWADDR=XXXXXXXXXXXXXX (本网卡的MAC,可加可不加)至此,linux服务器端配置完毕,重启(命令:reboot)或重启网络服务(命令:service network restart)看到bong0激活成功。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Redhat Linux系统下做bonding网卡绑定
1. root 用户登录,用ifconfig 看网卡是否正常。
Linux 默认是DHCP获取ip,当网络中没有DHCP,则会请求超时,而造成网卡无法启动,不过网卡不启动也没关系,只要确认lsmod中网卡驱动模块已经正常加载了就可以了,然后我们需要修改网卡配置文件。
2. 新建虚拟绑定网卡bond0
执行cd /etc/sysconfig/network-scripts进入网卡配置文件目录
这个目录下会有网卡的配置文件
ifcfg-eth0 对应eth0
ifcfg-eth1 对应eth1
拷贝ifcfg-eth0为ifcfg-bond0
3. 编辑网卡配置文件
编辑ifcfg-bond0文件
#vi ifcfg-bond0
修改后需要添加静态ip地址(网卡绑定不建议使用动态ip)、子网掩码和网关如下
(注意:除了bond0设置IP等信息外其他的真实网卡不能设置IP地址)
编辑ifcfg-eth0文件
#vi ifcfg- eth0
编辑ifcfg-eth1文件
#vi ifcfg-eth1
三个网卡配制好了
[root@ZH201E ~]# ifconfig | grep HW
bond0 Link encap:Ethernet HWaddr AC:16:2D:7B:27:44
eth0 Link encap:Ethernet HWaddr AC:16:2D:7B:27:44
eth1 Link encap:Ethernet HWaddr AC:16:2D:7B:27:45
eth2 Link encap:Ethernet HWaddr AC:16:2D:7B:27:46
eth3 Link encap:Ethernet HWaddr AC:16:2D:7B:27:47
eth0和eth1两个接口加入bond0,从上面的信息看到,eth1接口的mac地址和bond0不一致。
按照这种模式绑定的结果是所有bond0下的成员口和bond0使用同一个mac 地址,否则无法正常通信。
最后在接口下发现6.1x比之前的版本多了个
NM_CONTROLLED参数,这个参数的作用是把接口交给networkmanager来管理,如果把NM_CONTROLLED设置成yes的话,在起机的时候networkmanager会调用
networkmanager的配置文件,直接会调用接口实际物理mac。
所以导致上面出现的接口物理mac地址和bond不一致的情况。
所以我把接口下的NM_CONTROLLED设置成no,同时关闭networkmanager服务。
[root@ZH201E ~]# chkconfig NetworkManager off
[root@ZH201E ~]# vi /etc/modprobe.d/dist.conf
在该文件的最下面添加如下2行
alias bond0 bonding
options 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)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.
5. 修改/etc/rc.local配置文件
添加如下2行
ifenslave bond0 eth0 eth1 //如果上面加了master,slave 可以不加本行
route add -net x.x.x.x netmask x.x.x.x bond0 //这行可以不添加
-net后面是网段netmask后面是子网掩码
6. 重新启动服务器,在开机自检的时候查看bond0 是否已经启动,如果启动了就证明成功了。
也可以用lsmod |more查看bonding 模块有没有加载成功
7. 测试配置结果
/proc/net/bonding/bond0文件,这个文件是内存镜像文件,是临时的、及时的文件,系统的状态改变会直接通过给该文件
测试时执行ping 172.17.1.x的动作,然后分别断开网线观察ping是否会丢包
同时查看cat /proc/net/bonding/bond0文件,看当前激活的网卡(Currently Active Slave: eth1)及网卡状态(MII Status: down),来判断是否正常切换
注意:bonding只能提供链路监测,即从主机到交换机的链路是否接通。
如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用,两个网卡接到一台交换机上的时候,交换机端口需要做聚合。