linux双网卡做成bond

合集下载

linux下双网卡绑定并设置双IP

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双网卡绑定和解除

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网卡Bonding配置

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或造成问题。

在LINUX(REDHAT)下双网卡负载均衡(LACP)

在LINUX(REDHAT)下双网卡负载均衡(LACP)

在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 bond0bonding #cat/etc/modprobe.confalias eth0e100alias snd-card-0snd-intel8x0options snd-card-0index=0options snd-intel8x0index=0remove snd-intel8x0{/usr/sbin/alsactl store0>/dev/null2>&1||:;};/sbin/modprobe-r --ignore-remove snd-intel8x0alias eth18139toooptions3c501irq=3alias eth2tulip上面是三网卡本身的配置如果要绑定和做lacp只要再加上下面两条配置alias bond0bonding绑定options bond0miimon=100mode=4mode=4是lacp第四步:配置/etc/rc.d/rc.local,添加需要绑定的网卡#cat/etc/rc.d/rc.localtouch/var/lock/subsys/local配置本身就有这条命令ifenslave bond0eth1eth2这条命令是添加需要绑定的网卡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(March23,2006)Bonding Mode:IEEE802.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 #ifconfigbond0Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0inet addr:1.1.1.2Bcast:1.1.1.255Mask:255.255.255.0inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:LinkUP BROADCAST RUNNING MASTER MULTICAST MTU:1500Metric:1RX packets:128errors:0dropped:0overruns:0frame:0TX packets:259errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0RX bytes:15466(15.1KiB)TX bytes:39679(38.7KiB)eth0Link encap:Ethernet HWaddr00:11:11:EB:71:E2inetaddr:192.168.180.8Bcast:192.168.180.15Mask:255.255.255.240 inet6addr:fe80::211:11ff:feeb:71e2/64Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500Metric:1 RX packets:311errors:0dropped:0overruns:0frame:0TX packets:228errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:30565(29.8KiB)TX bytes:35958(35.1KiB)eth1Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:LinkUP BROADCAST RUNNING SLAVE MULTICASTMTU:1500Metric:1RX packets:54errors:0dropped:0overruns:0frame:0TX packets:97errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:6696(6.5KiB)TX bytes:13821(13.4KiB)Interrupt:209Base address:0x2e00eth2Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:LinkUP BROADCAST RUNNING SLAVE MULTICAST MTU:1500Metric:1RX packets:74errors:0dropped:0overruns:0frame:0TX packets:162errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:8770(8.5KiB)TX bytes:25858(25.2KiB)Interrupt:201Base address:0x2f00lo Link encap:Local Loopbackinet addr:127.0.0.1Mask:255.0.0.0inet6addr:::1/128Scope:HostUP LOOPBACK RUNNING MTU:16436Metric:1RX packets:6283errors:0dropped:0overruns:0frame:0TX packets:6283errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0RX bytes:9783674(9.3MiB)TX bytes:9783674(9.3MiB)(二)锐捷交换机配置:lacp system-priority100全局配置lacp优先级interface GigabitEthernet0/23no switchportlacp port-priority100接口的lacp优先级port-group1mode active接口下开启lacp主动模式interface GigabitEthernet0/24no switchportlacp port-priority100port-group1mode activeinterface AggregatePort1no switchportno ip proxy-arpip address1.1.1.1255.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 port1:Local information:LACP port Oper Port Port Port Flags State Priority Key Number State----------------------------------------------------------------------Gi0/23SA bndl1000x10x170x3dGi0/24SA bndl1000x10x180x3d Partner information:LACP port Oper Port Port Port Flags Priority Dev ID Key Number State---------------------------------------------------------------------Gi0/23SA25500d0.f840.f1a00x90x20x3dGi0/24SA25500d0.f840.f1a00x90x10x3d State表示状态信息:bndl表示lacp建立成功,sup表示不成功。

linux双网卡绑定

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系统配置双网卡绑定bond0

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、验证⽹络的连通性没有丢包,⽹络连通性可。

麒麟系统双网卡绑定配置

麒麟系统双网卡绑定配置

麒麟操作系统技术总结一、网卡绑定当系统中有多个网卡需要进行设置时,建议将网卡的MAC地址与ethX 文件种的HWADDR一一对应,否则系统重启后网卡的eth号很可能会发生改变,在设置了网卡绑定的生成系统中,这是非常危险的。

网卡绑定配置(如将网卡eth1和eth3绑定为bond0的操作步骤):(1)使用service NetworkManage stop命令关闭NetworkManage服务,使用chkconfig NetworkManage off命令使NetworkManage服务在系统开机时不自动启动;(2)修改被绑定网卡eth1的配置。

打开终端,使用cd /etc/sysconfig/network-scripts命令进入network-scripts目录,使用gedit ifcfg-eth1命令打开ifcfg-eth1文件,修改以下内容,修改完成后保存并关闭ifcfg-eth1文件。

DEVICE=eth1BOOTPROTO=noneHWADDR=”: ::::”ONBOOT=yesTYPE=EthernetUSERCTL=noIPV6INIT=noPEERDNS=yesSLA VE=yesMASTER=bond0备注:DEVICE=<name>:<name>表示物理设备的名称,对于动态寻址的PPP设备则是指它的逻辑名称。

BOOTPROTO=<protocol><protocol>的值有以下几种:none——不自定启用协议bootp——使用BOOTP协议dhcp——使用DHCP协议HWADDR:网卡的MAC地址ONBOOT=<yes | no>:yes表示系统启动时激活设备;no表示系统启动时不激活设备USERCTL=<yes | no>:yes表示允许非root用户控制这个设备;no表示不允许非root用户控制这个设备;PEERDNS=<yes | no>:yes表示使用DNS选项的值代替/etc/resolv.conf中的配置。

bonding双网卡配置

bonding双网卡配置

网络设备热备方案为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡(或者其所连接的交换机)出现故障,也不会导致连接中断。

在Linux下叫bonding,效果是将两块或更多的网卡当做一块网卡使用,可以提高冗余性。

测试方案将服务器的eth0和eth1绑定成虚拟网卡bond0,bongding1服务器的虚拟网卡ip为192.168.3.60;bonding2服务器的虚拟网卡ip为192.168.3.61。

如图:一、配置双网卡绑定同一个ip地址:1.插件安装:apt-get install ifenslave2.在/etc/modules文件末尾加入:bonding3.编辑网卡配置:vi/etc/network/inerfaces:auto loiface lo inet loopbackauto bond0iface bond0 inet staticaddress 192.168.3.60netmask 255.255.252.0network 192.168.0.0broadcast 192.168.3.255gateway 192.168.0.66bond-mode 1bond-miimon 100bond-slaves nonepost-up /sbin/ifenslave bond0 eth0 eth1pre-down /sbin/ifenslave -d bond0 eth0 eth1auto eth0iface eth0 inet manualbond-master bond0bond-primary eth0 eth1auto eth1iface eth1 inet manualbond-maser bond0bond-primary eth0 eth1说明:miimon是用来进行链路监测的。

比如:miimon 100,那么系统每100 ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,常用的为0,1两种。

Linux下配置双网卡聚合

Linux下配置双网卡聚合

一、背景CentOS6.6Ethernet:em1 em2 em3 em4bond0 192.168.51.134/24bond1 192.168.52.135、24GW 192.168.51.1GW 192.168.52.1VLAN 51 52前提:查看8021q模块有没有挂载,如果没有的话就进行手动挂载# lsmsg |grep 8021q# modprobe 8021q二、配置:1.配置em1、em2配置文件并将这两块网卡绑定为bond0# cd /etc/sysconfig/network-scripts/# vim ifcfg-em1DEVICE=em1TYPE=EthernetUUID=bcf7fa28-5807-4126-a7e6-d16bb5ddd32bONBOOT=yesBOOTPROTO=none#HWADDR=18:66:DA:4C:FC:E6DEFROUTE=yes#IPV4_FAILURE_FATAL=yes#IPV6INIT=noMASTER=bond0SLAVE=yesUSERCTL=yesPS:这里HWA DDR、UUID一行可以注释掉,因为后面重启network服务的时候可能会提示MA C 地址重复,当然如果不提示最好2.配置em2、em3、em4如上配置参数,其中em3、em4的MASTER=bond13.复制或创建ifcfg-bond0、ifcfg-bond1,并修改文件内容如下# cp ifcfg-em1 ifcfg-bond0# vim ifcfg-bond0DEVICE=bond0BOOTPROTO=noneONBOOT=yesTYPE=EthernetBONDING_OPTS="mode=2 miimon=100"VLAN=yes4.以同样方式配置bond15.配置/etc/modprobe.d/dist.conf#如果bond0,bond1都以同一个mode配置,则可以如下:# vim /etc/modprobe.d/dist.confalias bond0 bondingoptions bonding mode=2 miimon=100#如果bond0,bond1以不同的mode运行,则需要分开配置Mdoe如下:# vim /etc/modprobe.d/dist.conf ##有些系统版本可能不一样,为/etc/modprobe.conf alias bond0 bondingoptions bond0 miimon=100 mode=1install bond1 /sbin/modprobe bonding -o bond1 miimon=100 mode=0PS:这里因为需要加入VLA N,不需要在这里配置IP三、重启network服务可以查看/proc/net/bonding/下的bond0或bond1,查看虚拟网卡状态四、把绑定的bond0、bond1加入VLAN 51,VLAN 521.vconfig add bond0 512.vconfig add bond1 52可以查看/proc/net/vlan/config查看vlan配置情况五、配置ifcfg-bond0.51、ifcfg-bond1.52 IP# cp ifcfg-bond0 ifcfg-bond0.51# vim ifcfg-bond0.51DEVICE=bond0.51BOOTPROTO=noneONBOOT=yesTYPE=EthernetIPADDR=192.168.51.134NETMASK=255.255.255.0GATEWAY=192.168.51.1BONDING_OPTS="mode=2 miimon=100"VLAN=yes同理配置bond1.52PS:bond0和bond1最好属于两个不同VLA N的网段,否则会出现路由混乱问题(默认路由只有一条,即是说只有一个出口),有一个思路可以通过配置软路由+iptable实现转发,但暂时测试不通过六、写入rc.load,实现重启不失效# vim /etc/rc.loadmodprobe 8021qifenslave bond0 em1 em2 ifenslave bond1 em3 em4 vconfig add bond0 51vconfig add bond1 52。

红帽RHEL6.4 双网卡绑定bond0 详细配置过程

红帽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 bond概念

linux bond概念

在Linux系统中,Bond(链路聚合)是一种网络设备驱动,它允许将多个物理网络接口捆绑成一个逻辑网络接口。

这样做可以提供更高的带宽、更好的网络可用性和可靠性。

Bond 通过将多个网卡虚拟为一个单一的网卡,实现了数据流量的负载均衡和故障备份。

Bond支持多种模式,包括:
1. balance-rr(平衡轮询):数据包在接口之间轮询传输,提供负载均衡。

2. active-backup(主备模式):只有一个接口处于活动状态,另一个作为备份。

3. balance-xor(平衡XOR):确保所有流量都通过一个接口,适用于特定的网络配置。

4. broadcast(广播模式):所有接口都接收广播消息,用于某些特殊的网络应用。

5. 802.3ad(IEEE 802.3ad):动态链路聚合,根据网络负载来分配流量。

6. balance-tlb(传输负载均衡):优化TCP/IP数据包的传输。

7. balance-alb(适应性负载均衡):根据网络条件动态调整流量。

Suse-linux网卡绑定bonding方法

Suse-linux网卡绑定bonding方法

Suse-linux网卡绑定bonding方法SueLinu某系统的网卡冗余bonding方法有两种:一种是在命令模式下直接配置,一种是用Sue系统里面的yat管理工具对网络配置里面直接绑定。

Yat管理工具进去之后可以看到已通电网卡,直接编辑设置为绑定网卡,再添加bond0网卡,直接进行绑定设置即可。

下面介绍命令模式绑定的步骤:首先确定有两块以上的网卡ifconfig–a1.在/etc/yconfig/network/建立一个ifcfg-bond0ifcfg-bond0文件名是启用网卡时,优先使用模式的配置文件BONDING_MASTER='ye' BONDING_MODULE_OPTS='mode=active-backupmiimon=100'##主备状态BONDING_SLAVE0='eth0'##根据环境而定BONDING_SLAVE1='eth1'##根据环境而定BOOTPROTO='tatic'BROADCAST=''ETHTOOL_OPTIONS='' IPADDR='192.168.217.128/24'##根据环境而定MTU=''NAME=''NETWORK=''REMOTE_IPADDR=''STARTMODE='auto'USERCONTROL='no'2.新建了ifcfg-bond0这个文件配置写好之后,重启网络服务:rcnetworkretartIfconfig会看到如下信息:Bond0,eth0,eth1的MAC地址都是一样的运行cat/proc/net/bonding/bond0会看到如下信息如果绑定不成功/proc/net/bonding/不会有bond0这个文件这里可以看到绑定信息,以及两块网卡的真实MAC地址,可以看出eth0是主卡,因为MAC地址用的是eth0的地址。

双网卡bond配置

双网卡bond配置

双网卡bonding配置——适用于REHL 5.1配置很简单,一共六个步骤:1.编辑虚拟网络接口配置文件,指定网卡IPvi /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0BOOTPROTO=noneBROADCAST=192.168.1.255IPADDR=192.168.1.10NETMASK=255.255.255.0NETWORK=192.168.1.0ONBOOT=yesGATEWAY=192.168.1.1TYPE=EthernetUSERCTL=noPEERDNS=yes这里要主意,不要指定单个网卡的IP 地址、子网掩码或网卡ID。

将上述信息指定到虚拟适配器(bonding)中即可。

2.编辑实际网络接口配置文件vi /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1BOOTPROTO=noneMASTER=bond0ONBOOT=yesUSERCTL=noSLAVE=yesvi /etc/sysconfig/network-scripts/ifcfg-eth2DEVICE=eth2BOOTPROTO=noneMASTER=bond0ONBOOT=yesUSERCTL=noSLAVE=yes3.在/etc/modprobe.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)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.4.重启networkservice network restart5.ifconfig如下图所示:6.查看路由[root@appserver1 ~]# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.1.0 * 255.255.255.0 U 0 0 0 bond0 169.254.0.0 * 255.255.0.0 U 0 0 0 bond0 default 192.168.1.1 0.0.0.0 UG 0 0 0 bond0主意:如果做完后没有出现默认路由,请执行以下操作:1.键入setup,如下图所示,不要启动NetworkManger以及NetworkManagerDispatcher服务。

linux双网卡绑定

linux双网卡绑定
ONBOOT=yes
TYPE=Ethernet
这里要主意,不要指定单个网卡的IP 地址、子网掩码或网卡 ID。将上述信息指定到虚拟适配器(bonding)中即可。
[root@rhas-13 network-scripts]# cat ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
在mode=0 负载均衡工作模式,他能提供两倍的带宽,下我们来看一下网卡的配置信息
[root@rhas-13 root]# ifconfig
bond0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B
inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0
alias bond0 bonding
options bond0 miimon=100 mode=0
6. 说明
如果是主备冗余模式,需将
options bond0 miimon=100 mode=0中
mode 改为1
其它改为
options bond0 miimon=100 mode=1 primary=eth0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:9572 errors:0 dropped:0 overruns:0 frame:0
TX packets:480 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:753739 (736.0 Kb) TX bytes:0 (0.0 b)

Linux多网卡bond中的几种mode

Linux多网卡bond中的几种mode

Linux多网卡bond中的几种mode一、文档目的编写本文档主要为了介绍以及整理bond中几种mode,为了方便以后工作查看而整理。

二、文档内容随着科学技术的日益革新,数据的安全性已经逐渐体现出了它的重要意义。

可以设想,当一个人所有的个人资料都不负存在,那是多么可怕的事情。

网络技术的深入使用,数据的网络化传输已经成为了重要,甚至主要的传输方式。

所以数据服务器能够正常提供网络服务是所有供应商都需要考虑的问题。

在这个背景下,单网卡的应用已经捉襟见肘,设备冗余技术的普及已是枝繁叶茂。

本文之后就引用Linux操作系统下的多网卡bonding技术来阐述这一容错概念。

负载均衡功能也是网卡bonding的另一个功能,它可以实现多网卡同时工作,提高系统网络处理的吞吐能力。

一、网卡的负载均衡模式(mode = BOND_MODE_ROUNDROBIN)1)建立bond虚设备建立一个ifcfg-bond0的设备,然后配置如下信息即可。

DEVICE=bond0BOOTPROTO=staticIPADDR=172.16.64.208NETMASK=255.255.224.0ONBOOT=yesTYPE=Ethernet2)配置接口文件由于使用一个虚拟的ip地址,所以,其他接口设备都不配置ip信息。

3)配置bonding工作方式打开/etc/modprobe.conf文件,将bonding的工作模式配置为如下模式。

alias bond0 bondingoptions bond0 mode=0 arp_interval=500 arp_ip_target=172.16.64.864)启动bonding需要添加路由来制定发送规则,这个可以自定义添加。

配置完后重启设备即可。

ifenslave bond0 eth0 eth1route add -net 0/0 gw 172.16.64.254bond0 Link encap:Ethernet HWaddr 00:14:10:70:00:25inet addr:172.16.64.208 Bcast:172.16.95.255 Mask:255.255.224.0inet6 addr: fe80::200:ff:fe00:0/64 Scope:LinkUP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1RX packets:39335 errors:0 dropped:0 overruns:0 frame:0TX packets:3178 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:3020656 (2.8 MiB) TX bytes:269722 (263.4 KiB)eth0 Link encap:Ethernet HWaddr 00:14:10:70:00:25UP BROADCAST RUNNING SLA VE MULTICAST MTU:1500 Metric:1RX packets:18208 errors:0 dropped:0 overruns:0 frame:0TX packets:5 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:1371589 (1.3 MiB) TX bytes:378 (378.0 b)eth1 Link encap:Ethernet HWaddr 00:14:10:70:00:25UP BROADCAST RUNNING SLA VE MULTICAST MTU:1500 Metric:1RX packets:21128 errors:0 dropped:0 overruns:0 frame:0TX packets:3174 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:100RX bytes:1649127 (1.5 MiB) TX bytes:269498 (263.1 KiB)如上图所示,这种模式下bonding模块会将虚接口和所有的slave接口的MAC地址设置为一致。

Linux网卡bond配置详解

Linux网卡bond配置详解

Linux⽹卡bond配置详解⽹卡bonding模式共有0、1、2、3、4、5、6共7种mode1、5、6不需要要交换机设置mode0、2、3、4需要交换机设置1、mode=0 (round-robin)轮询策略,数据包在每个slave⽹卡上都进⾏数据传输,以逐包形式在两个物理⽹卡上转发数据。

这种模式提供了数据的负载均衡和容错能⼒。

2、mode=1 (active-backup)主备策略,只有⼀个slave被激活,只有当active的slave的接⼝down时,才会激活其它slave接⼝。

主备模式下发⽣⼀次故障切换,在新激活的slave接⼝上会发送⼀个或者多个gratuitous ARP。

主salve接⼝上以及配置在接⼝上的所有VLAN接⼝都会发送gratuitous ARP,需要在这些接⼝上配置了⾄少⼀个IP地址。

VLAN接⼝上发送的的gratuitous ARP将会附上适当的VLAN id。

本模式提供容错能⼒。

3、mode=2(XOR)基于所选择的hash策略,本模式也提供负载均衡和容错能⼒4、mode=3(broadcast)⼴播策略,向所有的slave接⼝发送数据包,本模式提供容错能⼒5、mode=4(802.3ad)动态链路聚合,根据802.3ad标准利⽤所有的slave建⽴聚合链路。

slave接⼝的出⼝取决于传输的hash策略,默认策略是简单的XOR策略,⽽hash策略则可以通xmit_hash_policy选项配置。

前提:每个slave⽹卡⽀持ethtool获取速率和双⼯状态交换机⽀持IEEE 802.3ad标准(可能需要配置启⽤)IEEE 802.3ad 是执⾏的标准⽅法。

将多个适配器聚集到单独的虚拟适配器⽅⾯与“(EtherChannel)”的功能相同,能提供更⾼的防⽌发⽣故障。

例如,eth0 和 eth1 可以聚集到称作eth3 的 IEEE 802.3ad;然后⽤ IP 地址配置接⼝ eth3。

linux双网卡bongding配置

linux双网卡bongding配置

创建/etc/sysconfig/network-scripts/ifcfg-bond<N> ,其中<n> 由数字代替,内容如下:DEVICE=bond0IPADDR=192.168.1.1NETMASK=255.255.255.0GATEWAY=192.168.1.254ONBOOT=yesBOOTPROTO=noneUSERCTL=noBONDING_OPTS="<bonding parameters separated by spaces>"上面的BONDING_OPTS 是为此bond0 设定特定的参数,如果设置了全局参数,此处可以不使用此参数。

修改eth0 eth1 ,/etc/sysconfig/network-scripts/eth<N>DEVICE=eth<N>BOOTPROTO=noneONBOOT=yesMASTER=bond0SLAVE=yesUSERCTL=no编辑全局配置文件,在/etc/下创建modprobe.conf 或者在/etc/modprobe.d/ 创建bonding.conf配置文件中写如下内容:alias bond<N> bonding 其中<N>用bond的序列号代替,我们这里是bond0options bond0 mode=1 miimon=100 1模式为高可用,以100毫秒为单位监控网卡是否正常工作除禁掉SELINUX防火墙,关掉iptables等一些不需要的服务外,另外一定要关闭NetManager 服务,并在开机自动启动中设置为off配置好上面的内容后重启网络bond0就启用了1、关闭SELINUX防火墙,iptables,NetworkManager服务,并在开机自动启动中设置为off 关闭SELINUX方法:[root@ZFYW_PREPAY01 ~]# cat /etc/selinux/config# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.SELINUX=disabled ##################################################此处改成disabled# SELINUXTYPE= can take one of these two values:# targeted - Targeted processes are protected,# mls - Multi Level Security protection. SELINUXTYPE=targeted关闭不必要服务service NetManager stop# chkconfig iptables off# chkconfig NetworkManager off。

linux 网卡 绑定 bond 主备

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激活成功。

linux双网卡做成bond

linux双网卡做成bond

双网卡做成bond0的方法说明所谓bond,就是把多个物理网卡绑定成一个逻辑上的网卡好处:增加带宽接入,还可以实现主备功能,当其中一个网卡挂掉,不会影响网络连接。

并且节约IP。

实施案例讲解我们的测试服务器双网卡E我们需要将这2个网卡做成一个bond0网卡1.编辑eth1.vi/etc/sysconfig/network-scripts/ifcfg-eth1修改为我们去掉了IP,MAC,掩码网关,bootproto设置为none2.编辑eth2同样这样更改eth2,如下图所示3.创建并且编辑bond0网卡vi/etc/sysconfig/network-scripts/ifcfg-bond0增加如下参数可以看到,和我们平时用的eth1网卡配置差不多,只是少了MAC地址。

编辑vi/etc/modprobe.conf文件添加如下参数编辑好了之后重启网卡,会发现eth1eth2无IP,依然通了外网至此,我们的bond0已经创建成功接下来我们需要去编辑启动文件添加一行vi/etc/rc.local添加ifenslavebond0eth1eth2重启服务器,测试是否能成功多个bond如果是创建多个bond的时候,我们修改vi/etc/modprobe.conf配置文件的时候依照下图添加,依次增加Eth2eth3….等修改方式同上。

如果bond的模式(请查看参数讲解)不同,那么修改为这种情况遇到较少,我们了解就好参数讲解Bond有7种模式,我们常用的是mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

七种bond模式说明:第一种模式:mod=0?,即:(balance-rr)Round-robinpolicy(平衡抡循环策略)特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降第二种模式:mod=1,即:?(active-backup)Active-backuppolicy(主-备份策略)特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

l i n u x双网卡做成b o n d 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-
双网卡做成b o n d0的方法说明
所谓bond,就是把多个物理网卡绑定成一个逻辑上的网卡
好处:增加带宽接入,还可以实现主备功能,当其中一个网卡挂掉,不会影响网络连接。

并且节约IP。

实施案例讲解
我们的测试服务器
双网卡
E
我们需要将这2个网卡做成一个bond0网卡
1.编辑eth1.
vi/etc/sysconfig/network-scripts/ifcfg-eth1
修改为
我们去掉了IP,MAC,掩码网关,bootproto设置为none
2.编辑eth2
同样这样更改eth2,如下图所示
3.创建并且编辑bond0网卡
vi/etc/sysconfig/network-scripts/ifcfg-bond0
增加如下参数
可以看到,和我们平时用的eth1网卡配置差不多,只是少了MAC地址。

编辑vi/etc/modprobe.conf文件
添加如下参数
编辑好了之后重启网卡,会发现eth1eth2无IP,依然通了外网
至此,我们的bond0已经创建成功
接下来我们需要去编辑启动文件添加一行
vi/etc/rc.local
添加ifenslavebond0eth1eth2
重启服务器,测试是否能成功
多个bond
如果是创建多个bond的时候,我们修改vi/etc/modprobe.conf配置文件的时候依照下图添加,依次增加
Eth2eth3….等修改方式同上。

如果bond的模式(请查看参数讲解)不同,那么修改为
这种情况遇到较少,我们了解就好
参数讲解
Bond有7种模式,我们常用的是
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

七种bond模式说明:
第一种模式:mod=0?,即:(balance-rr)Round-robinpolicy(平衡抡循环策略)
特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降
第二种模式:mod=1,即:?(active-backup)Active-backuppolicy(主-备份策略)
特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。

mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。

此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有?N?个网络接口的情况下,资源利用率为1/N
第三种模式:mod=2,即:(balance-xor)XORpolicy(平衡策略)
特点:基于指定的传输HASH策略传输数据包。

缺省的策略是:(源MAC 地址?XOR?目标MAC地址)%slave数量。

其他的传输策略可以通过
xmit_hash_policy选项指定,此模式提供负载平衡和容错能力
第四种模式:mod=3,即:broadcast(广播策略)
特点:在每个slave接口上传输每个数据包,此模式提供了容错能力
第五种模式:mod=4,即:
(802.3ad)IEEE802.3adDynamiclinkaggregation(IEEE802.3ad?动态链接聚合)
特点:创建一个聚合组,它们共享同样的速率和双工设定。

根据802.3ad 规范将多个slave工作在同一个激活的聚合体下。

外出流量的slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。

需要注意的?是,并不是所有的传输策略都是802.3ad适应的,尤其考虑到在802.3ad标准43.2.4章节提及的包乱序问题。

不同的实现可能会有不同的适应?性。

必要条件:
条件1:ethtool支持获取每个slave的速率和双工设定
条件2:switch(交换机)支持IEEE802.3adDynamiclinkaggregation
条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式
第六种模式:mod=5,即:(balance-
tlb)Adaptivetransmitloadbalancing(适配器传输负载均衡)
特点:不需要任何特别的switch(交换机)支持的通道bonding。

在每个slave上根据当前的负载(根据速度计算)分配外出流量。

如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。

该模式的必要条件:ethtool支持获取每个slave的速率
第七种模式:mod=6,即:(balance-alb)Adaptiveloadbalancing(适配器适应性负载均衡)
特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receiveloadbalance,rlb),而且不需要任何switch(交换机)的支持。

接收负载均衡是通过ARP协商实现的。

bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。

来自服务器端的接收流量也会被均衡。

当本机发送ARP请求时,bonding 驱动把对端的IP信息从ARP包中复制并保存下来。

当ARP应答从对端到达时,bonding驱动把它的硬件地址提取出来,并发起一个ARP应答给bond中的某个slave。

使用ARP协商进行负载均衡的一个问题是:每次广播?ARP请求时都会使用bond的硬件地址,因此对端学习到这个硬件地址后,接收流量将会全部流向当前的slave。

这个问题可以通过给所有的对端发送更新(ARP应答)来解决,应答中包含他们独一无二的硬件地址,从而导致流量重新分布。

当新的slave加入到bond中时,或者某个未激活的slave重新?激活时,接收流量也要重新分布。

接收的负载被顺序地分布(roundrobin)在bond中最高速的slave上当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个?client发起ARP应答。

下面介绍的updelay参数必须被设置为某个大于等于
switch(交换机)转发延时的值,从而保证发往对端的ARP应答?不会被switch(交换机)阻截。

必要条件:
条件1:ethtool支持获取每个slave的速率;
条件2:底层驱动支持设置某个设备的硬件地址,从而使得总是有个slave(curr_active_slave)使用bond的硬件地址,同时保证每个?bond?中的slave都有一个唯一的硬件地址。

如果curr_active_slave出故障,它的硬件地址将会被新选出来的?curr_active_slave接管其实
mod=6与mod=0的区别:mod=6,先把eth0流量占满,再占
eth1,….ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。

而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量
miimon?监视网络链接的频度,单位是毫秒,我们设置的是100毫秒。

max_bonds?配置的bond口个数,我们这里没有演示,实际当存在2个bond的时候,我们除了上面讲解到的方法,还可以以下方法
modebond模式,主要有以下几种,在一般的实际应用中,0和1,6用的比较多。

相关文档
最新文档