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双网卡绑定和解除
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系统配置双网卡绑定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网卡绑定的设置方法导读:为了更方便的上网,我们通常会让我们的电脑绑定网卡。
不过相对于Windows系统中绑定网卡的简便操作。
Linux系统中绑定网卡的操作步骤就显得较为复杂了。
现在就和小编一起来看看具体的设置步骤吧。
简介端口绑定就是将多个物理网卡绑定为一个逻辑网卡;根据模式不同可以网卡绑定的作用可分为提升吞吐量和热备份两个主要作用,一般都是提升吞吐量。
另外需要bonding内核模块的支持。
配置挂载模块修改模块挂载配置文件vim /etc/modprobe.confalias bond0 bondingoptions bond0 mode=balance-alb miimon=100 use_carrier=0修改网卡参数添加bond0配置vim /etc/sysconfig/network-script/ifcfg-bond0DEVICE=bond0USERCTL=noBOOTPROTO=noneONBOOT=yesIPADDR=192.168.110.2NETWORK=192.168.110.0NETMASK=255.255.255.0GATEWAY=192.168.110.1添加slave配置vim /etc/sysconfig/network-script/ifcfg-eth1DEVICE=eth1USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none重启网络service network restart以上就是Linux系统中绑定网卡的设置方法了,想要给自己的电脑绑定网卡的用户,就用这种方法进行设置吧。
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双网卡绑定的方法和步骤
虚拟机双网卡绑定的方法和步骤(1)vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0"ONBOOT="yes"BOOTPROTO=staticMASTER=bond0SLAVE=yesUSERCTL=no(2)vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE="eth1"ONBOOT="yes"BOOTPROTO=staticMASTER=bond0SLAVE=yesUSERCTL=no(3)vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0TYPE=EthernetBOOTPROTO=staticIPADDR=202.109.205.232PREFIX=27GATEWAY=202.109.205.230注:(2)、(3)的配置内容一样,就是"DEVICE"不一样,修改成对应的文件名即可。
(4)中的"IPADDR"根据对应服务器的IP来填写即可。
(4)vi /etc/modprobe.d/bond0.confalias bond0 bondingoptions bond0 miimon=100 mode=1(5)确定前面的四个文件的配置无误(编辑完内容后认真核对一遍或用cat命令检查一遍)后,重启网卡:"service network restart"(6)"ifconfig"===>>查看具体情况(7)用绑定后的IP新建会话并连接,连接后,打入命令:"sync"==>与磁盘同步(确保将修改的内容存到磁盘中)==>多执行几次!!(8)打入"reboot"命令重启服务器。
linux 网卡绑定
(Linux6.1/6.5下双网卡绑定的好处,0模式,可以实现双网卡的负载均衡,就是比如单网卡的网速是100M,双网卡就是200M,不过我们千兆网卡的双网卡绑定最大是140~150M,1模式,双网卡的主/备切换)。
1、检查系统配置上是否支持bonding:cat /boot/config-xxxxxxxx | grep -i bondingCONFIG_BONDING=m(返回CONFIG_BONDING=m 表示支持,否则需要编译内核使他支持bonding,需要编译时再百度)2、为防止出错,可以先备份网卡配置目录。
3、配置bond0/etc/sysconfig/network-scripts/下创建一个ifcfg-bond0,内容如下:DEVICE=bond0BOOTPROTO=staticNM_CONTROLLED=no (这里一定要是no)ONBOOT=yesIPADDR=192.168.1.51NETMASK=255.255.255.0GATEWAY=192.168.1.1USERCTL=noBONDING_OPTS="mode=0 miimon=200" (这里就是配置下绑定模式)3、修改ifcfg-em1 (一般机器是ifcfg-eth0,名字嘛,随便叫什么都没有关系)和ifcfg-em2 ,内容如下vim ifcfg-em1DEVICE=em1BOOTPROTO=staticMASTER=bond0SLAVE=yesONBOOT=yesUSERCTL=novim ifcfg-em2DEVICE=em2BOOTPROTO=staticMASTER=bond0SLAVE=yesONBOOT=yesUSERCTL=no4、修改/etc/modprobe.d/dist.conf文件,最后加上alias bond0 binding5、修改/etc/rc.d/rc.local文件,最后加上ifenslave bond0 eth0 eth16、关闭NetworkManager服务service NetworkManager stopchconfig NetworkManager off7、reboot机器,最好重启机器,不是重启网卡8、ifconfig,查看em1,em2的MAC地址是否与bond0一致9、查看bond0的运行状态cat /proc/net/bonding/bond0ser。
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下双网卡绑定七种模式现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。
而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(windows操作系统没有网卡绑定功能需要第三方支持)。
进入正题,linux有七种网卡绑定模式:Mode=0:round robinMode=1:active-backupMode=2:load balancing (xor)Mode=3:fault-tolerance (broadcast)Mode=4:lacpMode=5:transmit load balancingMode=6:adaptive load balancing第一种:bond0:round robin标准:round-robin policy: Transmit packets in sequential order from the first available slave through the last. This mode provides load balancing and fault tolerance.特点:(1)所有链路处于负载均衡状态,轮询方式往每条链路发送报文,基于per packet方式发送。
服务上ping 一个相同地址:1.1.1.1 双网卡的两个网卡都有流量发出。
负载到两条链路上,说明是基于per packet方式,进行轮询发送。
(2)这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。
实际绑定结果:cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)Bonding Mode: load balancing (round-robin)-----RR的模式MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eth0MII Status: upLink Failure Count: 0Permanent HW addr: 74:ea:3a:6a:54:e3Slave Interface: eth1MII Status: upLink Failure Count: 0应用拓扑:交换机端需要配置聚合口,cisco叫port channel。
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下安装双网卡绑定
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下双网卡绑定并设置双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下多网卡绑定bond及模式介绍
Linux下多⽹卡绑定bond及模式介绍【介绍】⽹卡bond⼀般主要⽤于⽹络吞吐量很⼤,以及对于⽹络稳定性要求较⾼的场景。
主要是通过将多个物理⽹卡绑定到⼀个逻辑⽹卡上,实现了本地⽹卡的冗余,带宽扩容以及负载均衡。
Linux下⼀共有七种⽹卡bond⽅式,实现以上某个或某⼏个具体功能。
最常见的三种模式是bond0,bond1,bond6.【bond0】平衡轮循环策略,有⾃动备援,不过需要"Switch"⽀援及设定。
balance-rr(Round-robin policy)⽅式:传输数据包的顺序是依次传输(即:第⼀个包⾛eth0,第⼆个包就⾛eth1……,⼀直到所有的数据包传输完成)。
优点:提供负载均衡和容错能⼒。
缺点:同⼀个链接或者会话的数据包从不同的接⼝发出的话,中间会经过不同的链路,在客户端可能会出现数据包⽆法有序到达的情况,⽽⽆序到达的数据包将会被要求重新发送,⽹络吞吐量反⽽会下降。
【bond1】主-备份策略active-backup(Active -backup policy)⽅式:只有⼀个设备处于活动状态,⼀个宕掉之后另⼀个马上切换为主设备。
mac地址为外部可见,从外⾯看,bond的mac地址是唯⼀的,switch不会发⽣混乱。
优点:提⾼了⽹络连接的可靠性。
缺点:此模式只提供容错能⼒,资源利⽤性较低,只有⼀个接⼝处于active状态,在有N个⽹络接⼝bond 的状态下,利⽤率只有1/N。
【bond2】平衡策略balance-xor(XOR policy)⽅式:基于特性的Hash算法传输数据包。
缺省的策略为:(源MAC地址 XOR ⽬标MAC地址) % slave数量。
# XRO为异或运算,值不同时结果为1,相同为0可以通过xmit_hash_policy选项设置传输策略。
特点:提供负载均衡和容错能⼒。
【bond3】⼴播策略broadcast⽅式:在每个slave接⼝上传输每⼀个数据包。
linux环境下如何进行网卡绑定
linux环境下如何进行网卡绑定bonding的原理:在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身MAC的以太网帧,过滤别的数据帧,以减轻驱动程序的负担;但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,bonding就运行在这种模式下,而且修改了驱动程序中的mac地址,将两块网卡的MAC地址改成相同,可以接收特定MAC的数据帧。
然后把相应的数据帧传送给bond驱动程序处理。
网卡绑定具体步骤:1、使用root身份进入linux系统文本操作界面。
2、使用ifconfig指令查看本台服务器的网卡信息,确定网卡是否正常:在显示中可以查看到两个网卡的IP 地址为eth0 IP addr: 10.0.1.92 broadcast :10.0.1.255 mask:255.255.255.0eth1 IP addr: 10.0.1.93 broadcast :10.0.1.255 mask:255.255.255.03、新建虚拟网卡绑定ifcfg-bond0:执行cd/etc/sysconfig/network-scripts 指令进入网卡配置文件目录,此目录下会有本台服务器上网卡的配置文件,其中ifcfg-eth0 对应eth0ifcfg-eth1 对应eth1在network-scripts目录下拷贝ifcfg-eth0为ifcfg-bond0,具体指令为:cp ifcfg-eth0 ifcfg-bond0之后再次使用ls指令浏览network-scripts目录就会发现里面新增了ifcfg-bond0配置文件,它的内容和ifcfg-eth0应该是一样的:4、编辑ifcfg-bond0文件:使用vi编辑指令对ifcfg-bond0文件进行编辑,具体指令:#vi ifcfg-bond0ifcfg-bond0原配置文件应该如下:修改第一行DEVICE=”bond0”并增加BONDING_OPTS="fail_over_mac=1"(默认fail_over_mac=0,当发生错误时,只改slave的MAC不改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服务器网卡绑定配置(loongnix)
Linux服务器⽹卡绑定配置(loongnix)1.⾸先关闭NetworkManager服务service NetworkManager stop2、查看⽹卡名称,确定要绑定的⽹卡,本次配置选择双⽹卡绑定ifconfig #使⽤ifconfig命令可以看到⽹卡的列表实现物理⽹⼝enp5s0f0,enp5s0f1⽹卡绑定,绑定后的虚拟逻辑⽹⼝bond03、modinfo bonding 检查⾃⼰的操作系统是否⽀持bonding[root@localhost ~]# modinfo bondingfilename: /lib/modules/3.10.0-693.lns7.8.mips64el/kernel/drivers/net/bonding/bonding.koauthor: Thomas Davis, tadavis@ and many othersdescription: Ethernet Channel Bonding Driver, v3.7.1version: 3.7.1license: GPLalias: rtnl-link-bondrhelversion: 7.4srcversion: 694CF99DDA3170BD385D0E1depends:intree: Yvermagic: 3.10.0-693.lns7.8.mips64el SMP preempt mod_unload modversions LOONGSON3 64BITparm: max_bonds:Max number of bonded devices (int)... ... ... ...... ... ... ...如果没有消息返回,说明内核不⽀持bonding4、创建⽹卡绑定配置⽂件cd /etc/sysconfig/network-scripts/备份原来的配置⽂件cp ifcfg-enp5s0f0 bak/cp ifcfg-enp5s0f1 bak/新建绑定⽂件vi ifcfg-bond0DEVICE=bond0TYPE=EthernetONBOOT=yesBOOTPROTO=noneIPADDR=10.150.1.200NETMASK=255.255.255.0GATEWAY=10.150.1.1DNS1=202.99.192.68DNS2=8.8.8.8USERCTL=no5、修改原⽹卡enp5s0f0和enp5s0f1配置⽂件ifcfg-enp5s0f0:DEVICE=enp5s0f0ONBOOT=yesBOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=noifcfg-enp5s0f1:DEVICE=enp5s0f1ONBOOT=yesBOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no6、修改modprobe相关设定⽂件,并加载bonding模块vi /etc/modprobe.d/bonding.confalias bond0 bondingoptions bonding mode=6 miimon=200执⾏命令加载模块modprobe bondingmiimon=100为每100毫秒(0.1秒)检查⽹络⼀次,可以根据⾃⼰需求修改mode为⽹卡⼯作模式,共七种,通常设置0、1、6这⼏种7、重启⽹卡[root@localhost network-scripts]# lsmod | grep bondingbonding 1342600[root@localhost network-scripts]# service network restart8、查看绑定状态[root@localhost network-scripts]# cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: fault-tolerance (active-backup)Primary Slave: NoneCurrently Active Slave: enp5s0f0MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: enp5s0f0MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 00:23:9e:05:72:7fSlave queue ID: 0Slave Interface: enp5s0f1MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 00:23:9e:05:72:80Slave queue ID: 09、断⽹测试(略)Mode模式说明:Mode功能功能说明0balance-rr负载均衡模式需要switch配置(trunk)⽀持才能发挥实际效果,具有容错功能,其中⼀块⽹卡失效仍可持续⼯作1active-backup同⼀时间终于⼀块⽹卡⼯作,Active Slave其中⼀块⽹卡断线时⾃动启⽤另⼀块⽹卡,不需要switch⽀持2balance-xor具容错作⽤3broadcast所有⽹卡⼀起收发⽹络数据包,具容错功能,其中⼀块⽹卡断线仍可持续⼯作4802.3ad⽆实际功能,不建议使⽤5balance-tlb 发送数据包⾃动负载均衡,接收数据包有Current Active Slave 负责,具容错功能,其中⼀块⽹卡失效仍可持续⼯作,不需要switch⽀持配置6balance-alb 发送及接收皆⾃动负载均衡。
Linux网卡绑定
Linux⽹卡绑定Bonding常⽤的mode种类:mode=0 ,即:(balance-rr) Round-robin policy(平衡轮循环策略)数据包的传输⽅式轮询传输,第⼀个包传输给eth0 ,第⼆个包传输给eth1,就这样循环下去,直到传输完毕,这⾥需要注意的是mode0能作为负载均衡作⽤,不提供容错功能,如果第⼀张⽹卡出现故障⽹络将⾯临瘫痪。
mode=1,即: (active-backup) Active-backup policy(主-备份策略)只有⼀个处于活动状态,当主⽹卡出现故障时,备⽹卡马上由备转变成主。
这个模式提供了较⾼的容错能⼒。
但是资源利⽤率较低。
mode=3,即:broadcast(⼴播策略)在每个slave接⼝上传输每个数据包,此模式提供了容错能⼒。
使⽤bonding软件设置1.查看系统是否⽀持bonding[root@linuxprobe network-scripts]# cat /boot/config-4.18.0-80.el8.x86_64 | grep -i bondingCONFIG_BONDING=m2.关闭NetworkManager服务(7系列版本以下开启NetworkManager与bonding会产⽣冲突)[root@linuxprobe network-scripts]# systemctl stop NetworkManager.service[root@linuxprobe network-scripts]# chkconfig NetworkManager off //关闭开机⾃启动3.创建虚拟⽹卡ifcfg-bond x[root@linuxprobe network-scripts]vim /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0 //设备名BOOTPROTO=static //IP的获取⽅式ONBOOT=yes //开机⾃启动IPADDR=10.129.49.240 //IP地址NETMASK=255.255.255.0 //掩码GATEWAY=10.129.49.1 //⽹关DNS1=10.112.15.30BONDING_OPTS="miimon=100,mode=1" //mode类型,⽹络链路检测频率100ms检查⼀次4.修改加⼊bond的⽹卡配置⽂件[root@linuxprobe network-scripts]vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesMASTER=bond0SLAVE=yes[root@linuxprobe network-scripts]vim /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth0ONBOOT=yesMASTER=bond0SLAVE=yes5.重启⽹络服务[root@linuxprobe network-scripts]systemctl restart network6.查看配置[root@cobbler-node1 network-scripts]# cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: load balancing (round-robin)MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eth0MII Status: upSpeed: UnknownDuplex: UnknownLink Failure Count: 0Permanent HW addr: 28:6e:d4:88:ce:5dSlave queue ID: 0Slave Interface: eth1MII Status: upSpeed: UnknownDuplex: UnknownLink Failure Count: 0Permanent HW addr: 28:6e:d4:88:ce:5eSlave queue ID: 0[root@cobbler-node1 network-scripts]# ifconfigbond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500 inet 10.129.49.240 netmask 255.255.255.0 broadcast 10.129.49.255inet6 fe80::2a6e:d4ff:fe88:ce5d prefixlen 64 scopeid 0x20<link>ether 28:6e:d4:88:ce:5d txqueuelen 1000 (Ethernet)RX packets 1675775 bytes 126050576 (120.2 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 3432 bytes 496778 (485.1 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0eth0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500ether 28:6e:d4:88:ce:5d txqueuelen 1000 (Ethernet)RX packets 837774 bytes 63015040 (60.0 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 1718 bytes 237790 (232.2 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0eth1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500ether 28:6e:d4:88:ce:5d txqueuelen 1000 (Ethernet)RX packets 838224 bytes 63053418 (60.1 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 1714 bytes 258988 (252.9 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0使⽤NetworkManager配置Nmcli⽅式(命令⾏)---------------------------------------------------------------------------------------------------------------------------------------------------------⼀.创建bonding创建名称为bond1的绑定[root ~]# nmcli connection add type bond con-name bond1 ifname bond1 mode active-backup //active-backup主备模式,balance-rr负载均衡模式Connection 'bond1' (74659382-3e46-4a95-851d-66f90b2ece30) successfully added.将enp7s0f0增加到bond1[root ~]# nmcli connection add type bond-slave ifname enp7s0f0 master bond1Connection 'bond-slave-enp7s0f0' (061f5c5c-3366-4025-8149-7c89e49ab1b3) successfully added.将enp7s0f1增加到bond1[root ~]# nmcli connection add type bond-slave ifname enp7s0f1 master bond1Connection 'bond-slave-enp7s0f1' (45440593-243e-4618-ab1a-0845555e11c1) successfully added.⼆.启动bonging启动从属接⼝enp7s0f0[root ~]# nmcli connection up bond-slave-enp7s0f0Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)启动从属接⼝enp7s0f1[root ~]# nmcli connection up bond-slave-enp7s0f1Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)启动绑定[root@localhost ~]# nmcli connection up bond1Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/11) [root@localhost ~]# ifconfigbond1: flags=5123 mtu 1500ether a0:36:9f:dc:5c:48 txqueuelen 0 (Ethernet)RX packets 34 bytes 6596 (6.4 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 12 bytes 1992 (1.9 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1.创建出⼀个bond⽹卡[root@linuxprobe ~]# nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=balance-rr"Connection 'bond0' (b37b720d-c5fa-43f8-8578-820d19811f32) successfully added.2.向bond0添加从属⽹卡[root@linuxprobe ~]# nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname ens160 master bond0Connection 'bond0-port1' (8a2f77ee-cc92-4c11-9292-d577ccf8753d) successfully added.[root@linuxprobe ~]# nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname ens192 master bond0Connection 'bond0-port2' (b1ca9c47-3051-480a-9623-fbe4bf731a89) successfully added.3.配置bond0设备的⽹卡信息可以使⽤nmcli命令依次配置⽹络的IP地址及⼦⽹掩码、⽹关、DNS、搜索域和⼿动配置等参数,也可以直接编辑⽹卡配置⽂件,或使⽤nmtui命令完成下⾯的操作。
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系统里面有一个内置的nameif的命令可以实现网卡绑定的功能
方法:可以写一个脚本,然后将脚本设置为开机启动即可。
参考如下:
(1) 首先写一个脚本,脚本路径为/etc/rc.d/init.d,脚本内容如下(针对两块网卡):
#cat /etc/rc.d/init.d/nameif.sh
#!/bin/sh
/sbin/nameif -s a0 00:E0:81:D3:30:74
/sbin/nameif -s a1 00:E0:81:D3:30:76
/sbin/nameif -s eth0 00:E0:81:D3:30:74
/sbin/nameif -s eth1 00:E0:81:D3:30:76
注释:此处的MAC为举例用的,应根据自己机器的实际情况来编写脚本。
(2) 写完脚本后,给脚本加权限
chmod 777 /etc/rc.d/init.d/nameif.sh
(3) 然后在对应的启动级别里做一个开机启动的连接,注意,nameif脚本需要执行在
network网络启动之前,否则无法生效
#cd /etc/rc.d/rc3.d
#ln -s /etc/rc.d/init.d/nameif.sh S016nameif
#cd /etc/rc.d/rc5.d
#ln -s /etc/rc.d/init.d/nameif.sh S016nameif
注释:由于内核里面事先记录了eth[0-1*]的网卡名字信息,若直接对eth*进行绑定的话,会存在网卡名字占用的问题,由此会造成设置无法生效。
所有上面所写的脚本里面首先将网卡的MAC地址赋给其他的名字,然后在重新指定给eth*,即可解决这个问题。