linux双网卡做成bond0

合集下载

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

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

linux 双网卡配置

linux 双网卡配置

To show all interfaces info
# ifenslave {-a|--all-interfaces}
To be more verbose
# ifenslave {-v|--verbose} ...
# ifenslave {-u|--usage} Show usage
# ifconfig bond0 down
To detach a dead interface without setting the bond device down :
# ifenslave {-d|--detach} bond0 eth0 [eth1 [eth2]...]
ifenslave --help

To create a bond device, simply follow these three steps :
- ensure that the required drivers are properly loaded :
IPADDR=10.198.85.5
NETMASK=255.255.255.0
GATEWAY=10.198.85.254
ONBOOT=yes
BOOTPROTO=static
USERCTL=no
TYPE=Ethernet
vi ifcfg-eth0
DEVICE=eth0
HWADDR=MAC 地址
添加如下内容:
alias bond0 bonding
options bond0 miimon=100 mode=1 primary=eth0
3、编辑:
#cd /etc/sysconfig/network-scripts/

在linu下双网卡负载均衡(lacp)

在linu下双网卡负载均衡(lacp)

(一)linux 配置#cat/boot/config-kernel-version |grep -ibondingCONFIG_BONDING=m返回CONFIG_BONDING表示支持,否则需要编译内核使它支持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=no MASTER=bond0SLAVE=yes# cat /etc/sysconfig/network-scripts/ifcfg-eth2 TYPE=Ethernet DEVICE=eth2 HWADDR=00:d0:f8:00:0c:0c 网卡2mac BOOTPROTO=none ONBOOT=yesUSERCTL=no MASTER=bond0SLAVE=yes-r lacp 只要再加上下面两条配置 绑定 mode=4 是 lacp第三步: 配置/etc/modprobe.conf ,添加 alias bondO bonding# cat /etc/modprobe.conf alias ethO e1OO alias snd-card-O snd-intel8xOoptions snd-card-O index=O options snd-intel8xO index=O remove snd-intel8xO { /usr/sbin/alsactl store O >/dev/null 2>&1 || : ; }; /sbin/modprobe --ignore-remove snd-intel8xOalias eth1 8139too options 3c5O1 irq=3 alias eth2 tulip 上面是三网卡本身的配置如果要绑定和做 alias bondO bondingoptions bondO miimon=1OO mode=4第四步:配置 /etc/rc.d/rc.local ,添加需要绑定的网卡# cat /etc/rc.d/rc.localtouch /var/lock/subsys/local 配置本身就有这条命令ifenslave bondO eth1 eth2 这条命令是添加需要绑定的网卡 1 和 2到这里就完成 bonding 的配置了可以查看一下 第五步:重启网络服务和重启 pc#service network restart重启网络服务# shutdown -r now重启 pc重启后可以查看 bonding 情况:网卡 1 和 2 都绑定上了,模式为 8O2.3ad# cat /proc/net/bonding/bondOEthernet Channel Bonding Driver: v3.O.3 (March 23, 2OO6) Bonding Mode: IEEE 8O2.3ad Dynamic link aggregation Transmit Hash Policy: layer2 (O) MII Status: upMII Polling Interval (ms): 1OO Up Delay (ms): O Down Delay (ms): O8O2.3ad info LACP rate: slowActive Aggregator Info:Aggregator ID: 1 Number of ports: 2 Actor Key: 9 Partner Key: 1Partner Mac Address: 00:d0:f8:22:33:ba Slave Interface: eth1 MII Status: up Link Failure Count: 0Permanent HW addr: 00:d0:f8:40:f1:a0 Aggregator ID: 1 Slave Interface: eth2 MII Status: upLink Failure Count: 0Permanent HW addr: 00:d0:f8:00:0c:0cAggregator ID: 1接口配置信息:新增了bond0的配置信息,接口bondO和ethl , eth2,绑定后三个接口使用的mac 都是同一个:00:D0:F8:40:F1:A0# ifconfigbondO Link encap:Ethernet HWaddr OO:DO:F8:4O:F1:AOinet addr:1.1.1.2 Bcast:1.1.1.255 Mask:255.255.255.Oinet6 addr: fe8O::2dO:f8ff:fe4O:f1aO/64 Scope:LinkUP BROADCAST RUNNING MASTER MULTICASTMTU:15OO Metric:1RX packets:128 errors:O dropped:O overruns:O frame:OTX packets:259 errors:O dropped:O overruns:O carrier:Ocollisions:O txqueuelen:ORX bytes:15466 (15.1 KiB) TX bytes:39679 (38.7 KiB)ethO Link encap:Ethernet HWaddr OO:11:11:EB:71:E2inet addr:192.168.18O.8 Bcast:192.168.18O.15 Mask:255.255.255.24Oinet6 addr: fe8O::211:11ff:feeb:71e2/64 Scope:LinkUP BROADCAST RUNNING MULTICASTMTU:15OO Metric:1RX packets:311 errors:O dropped:O overruns:O frame:OTX packets:228 errors:O dropped:O overruns:O carrier:Ocollisions:O txqueuelen:1OOORX bytes:3O565 (29.8 KiB) TX bytes:35958 (35.1 KiB)eth1 Link encap:Ethernet HWaddr OO:DO:F8:4O:F1:AOinet6 addr: fe8O::2dO:f8ff:fe4O:f1aO/64 Scope:LinkUP BROADCAST RUNNING SLAVE MULTICASMTTU: 1 5OO Metric:1RX packets:54 errors:O dropped:O overruns:O frame:OTX packets:97 errors:O dropped:O overruns:O carrier:Ocollisions:O txqueuelen:1OOORX bytes:6696 (6.5 KiB) TX bytes:13821 (13.4 KiB)Interrupt:2O9 Base address:Ox2eOOeth2 Link encap:Ethernet HWaddr OO:DO:F8:4O:F1:AO inet6 addr: fe8O::2dO:f8ff:fe4O:f1aO/64 Scope:LinkUP BROADCAST RUNNING SLAVE MULTICASMTTU: 1 5OO Metric:1RX packets:74 errors:O dropped:O overruns:O frame:OTX packets:162 errors:O dropped:O overruns:O carrier:Ocollisions:O txqueuelen:1OOOlacp system-priority 100 interface GigabitEthernet 0/23 no switchport lacp port-priority 100 port-group 1 mode active interface GigabitEthernet 0/24 no switchport lacp port-priority 100 port-group 1 mode active interface AggregatePort 1 全局配置lacp 优先级接口的lacp 优先级接口下开启lacp 主动模式RX bytes:8770 (8.5 KiB) TX bytes:25858 (25.2 KiB) Interrupt:201 Base address:0x2f00 lo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACKRUNNING MTU:16436 Metric:1RX packets:6283 errors:0 dropped:0 overruns:0 frame:0TX packets:6283 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0RX bytes:9783674 (9.3 MiB) TX bytes:9783674 (9.3 MiB)二)锐捷交换机配置:no 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:Port Flags StateLACP portPriorityOperKeyPortNumberPortStateGi0/23 SA bndl 100 0x1 0x17 0x3d Gi0/24 SA bndl 100 0x1 0x18 0x3d Partner information:PortLACP port OperKeyPortNumberPortState Flags Priority Dev IDGi0/23 SA 255 00d0.f840.f1a0 0x9 0x2 0x3d Gi0/24 SA 255 00d0.f840.f1a0 0x9 0x1 0x3d State 表示状态信息:bndl 表示lacp 建立成功,sup 表示不成功。

麒麟系统双网卡绑定配置

麒麟系统双网卡绑定配置

麒麟操作系统技术总结一、网卡绑定当系统中有多个网卡需要进行设置时,建议将网卡的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中的配置。

红帽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命令查看是否加载。

bond0原理范文

bond0原理范文

bond0原理范文在Linux系统中,bonding驱动程序实现了网络绑定。

它将多个物理网络接口(如以太网卡)通过软件逻辑组合成一个具有共享IP地址和MAC地址的逻辑接口。

这个逻辑接口可以称为虚拟接口或bond0。

当网络流量通过bond0时,它将以其中一种算法将流量分发到不同的物理接口上,这使得流量可以在多个接口之间均衡分布。

Bonding提供了多种模式:1. 模式0(balance-rr):流量以循环方式通过多个物理接口进行均衡,以实现负载平衡。

它适用于高带宽要求的应用。

2. 模式1(active-backup):其中一个物理接口被标记为活动接口,另一个为备份接口。

活动接口处理所有数据,当活动接口故障时,备份接口将接管流量。

3. 模式2(balance-xor):使用源和目的IP地址以及源和目的MAC地址来均衡负载。

每个接口都有自己的MAC地址,并根据算法将流量分配给不同的接口。

4. 模式3(broadcast):流量被发送到所有接口,适用于广播应用。

5. 模式4(802.3ad):通过802.3ad协议实现的动态链路聚合。

也称为动态链接汇聚控制(LACP),需要支持它的网络交换机。

6. 模式5(balance-tlb):使用传输负载平衡(TLB)和适应性负载平衡(ALB)算法来实现负载平衡和故障转移。

在配置bonding之前,需要先加载bonding内核模块。

可以使用modprobe命令加载,或将其添加到/etc/modules文件中。

接下来,在/etc/sysconfig/network-scripts/目录下创建ifcfg-bond0文件来配置bond0接口。

配置文件中需要指定bonding模式、物理接口和其他相关参数。

然后,还需要创建ifcfg-ethX文件来配置每个物理接口。

设置BOOTPROTO为none以禁用自动IP配置,并指定bond0为MASTER。

完成配置后,重启网络服务以使更改生效。

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服务。

bond0-linux双网卡绑定方法

bond0-linux双网卡绑定方法

第一步、编辑虚拟网络接口配置文件。

建立 /etc/sysconfig/network-scripts/ifcfg-bond0 文件内容如下:DEVICE=bond0BOOTPROTO=staticIPADDR=192.168.1.1NETMASK=255.255.255.0BROADCAST=192.168.1.255GATEWAY=192.168.1.1ONBOOT=yesTYPE=Ethernetip地址根据自己的需要配置(一个简单的方法就是拷贝一个ifcfg-eht0修改DEVICE=bond0例如:# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0)第二步、编辑真实网卡的配置文件(建议修改之前做好备份)/etc/sysconfig/network-scripts/ifcfg-eth*内容如下:BOOTPROTO=noneTYPE=EthernetDEVICE=eth* (*与那个配置文件名中的相同)ONBOOT=yesMASTER=bond0slave=yes注意:真实网卡不能再设置ip地址了,按需要把所要绑定的真实网卡都按这个设置,主要是MASTER=bond0 和 slave=yes 一定不要弄错(简单的方法就是修改一个然后拷贝再修改)第三步、修改/etc/modprobe.conf 文件加入如下两行(建议做好备份)alias bond0 bondingoptions bond0 miimon=100 mode=0注:1、miimon 是链路监测的时间间隔单位是毫秒,miimon=100的意思就是,每100毫秒检测网卡和交换机之间是否连通,如不通则使用另外的链路。

2、mode=0 表示负载均衡方式,两块网卡都工作。

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

如果是red hat 6或者是centOS 6及其以上的版本,则按如下方式进行:/etc/modprobe.conf文件,系统声卡、网卡、SCSI卡的驱动类型都在这里定义,同样部分动态加载的模块的参数也可以在这个文件中定义,但是在CentOS6或者 REH6安装完毕后,在etc目录中却找不到modprobe.conf文件了,到底modprobe.conf文件到哪里去了?细心的人可能会发现,其实在CentOS5或者REH 5的系统中也可以找到/etc/modprobe.d/目录,这个目录下一堆配置文件,其实就是/etc/modprobe.conf文件的补充,类似include形式包含进去。

多网卡的7种bond模式原理详解

多网卡的7种bond模式原理详解

多网卡的7种bond模式原理Linux 多网卡绑定网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6常用的有三种mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

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

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

需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从原理分析一下(bond运行在mode 0下):mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。

所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解 决办法是,两个网卡接入不同的交换机即可。

mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。

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

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

双网卡绑定实现就是使用两块网卡虚拟成为一块网卡

双网卡绑定实现就是使用两块网卡虚拟成为一块网卡

双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的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两种。

bond0原理

bond0原理

bond0原理bond0相关原理解析1. bond0是什么?bond0是根据Linux操作系统的网络绑定(Network Bonding)功能创建的一个虚拟网络接口。

它通过将多个物理网络接口绑定在一起,来提供更高的带宽和冗余性,以增强网络连接的可靠性和性能。

2. bond0的作用增加带宽利用bond0,可以将多个物理网络接口绑定在一起,形成一个虚拟的接口,从而增加了网络的总带宽。

这对于需要处理大量数据传输的应用程序和服务来说特别有用,比如服务器、负载均衡器等。

提供冗余性通过bond0,系统可以设置多路径冗余,即当一个物理接口出现故障时,流量可以自动切换到其它正常的接口上,保证网络的连通性。

这可以防止网络中断对系统的影响,提高系统的可用性和稳定性。

负载均衡bond0支持多种负载均衡策略,例如基于轮询、基于源IP地址、基于目的IP地址等。

通过这些策略,系统可以根据不同的应用需求,动态地将数据流量分散到不同的物理接口上,实现负载均衡,提高系统的整体性能。

3. bond0的工作原理模式选择bond0支持多种模式,最常用的是”active-backup”、“balance-rr”和”“模式。

•“active-backup”模式:一个接口处于活动状态,其它接口处于备份状态。

当活动接口故障时,备份接口会自动接管其功能。

•“balance-rr”模式:轮询分发,将传输的数据平均分布到每个物理接口上。

•““模式:通过Link Aggregation Control Protocol(LACP)协议,将多个物理接口绑定在一起,形成一个逻辑链路,提供负载均衡和冗余性。

数据分发当一个数据包要发送时,bond0会根据所选择的模式,将数据包分发到不同的物理接口上。

根据负载均衡策略,可以采用轮询、源IP 地址、目的IP地址等算法来选择目标接口。

故障检测bond0会周期性地检测各个物理接口的状态。

如果一个接口失效或故障,bond0将会自动将流量切换到其他正常的接口上,以保证网络的连通性。

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

双网卡做成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用的比较多。

相关文档
最新文档