Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Linux下的双网卡绑定bond0 em1 em2

Linux下的双网卡绑定bond0 em1 em2

作者头像
全栈程序员站长
发布于 2022-07-23 09:06:39
发布于 2022-07-23 09:06:39
2.4K0
举报

大家好,又见面了,我是你们的朋友全栈君。一、什么是bonding Linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余 二、bonding应用方向 1、网络负载均衡 对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多 个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是 bonding 2、网络冗余 对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份 三、bonding实验环境及配置 1、实验环境 系统为:CentOS,使用2块网卡(em1、em2 ==> bond0)来实现bonding技术 2、bonding配置 第一步:先查看一下内核是否已经支持bonding 1)如果内核已经把bonding编译进内核,那么要做的就是加载该模块到当前内核;其次查看ifenslave该工具是否也已经编译 modprobe -l bond* 或者 modinfo bonding modprobe bonding lsmod | grep ‘bonding’ echo ‘modprobe bonding &> /dev/null’ >> /etc/rc.local(开机自动加载bonding模块到内核) which ifenslave 注意:默认内核安装完后就已经支持bonding模块了,无需要自己手动编译 2)如果bonding还没有编译进内核,那么要做的就是编译该模块到内核 (1)编译bonding tar -jxvf kernel-XXX.tar.gz cd kernel-XXX make menuconfig 选择 ” Network device support ” -> ” Bonding driver support “ make bzImage make modules && make modules_install make install (2)编译ifenslave工具 gcc -Wall -O -I kernel-XXX/include ifenslave.c -o ifenslave 第二步:主要有两种可选择(第1种:实现网络负载均衡,第2种:实现网络冗余) 例1:实现网络冗余(即:mod=1方式,使用em1与em2) (1)编辑虚拟网络接口配置文件(bond0),并指定网卡IP vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.0.254 BROADCAST=192.168.0.255 NETMASK=255.255.255.0 NETWORK=192.168.0.0 GATEWAY=192.168.0.1 USERCTL=no TYPE=Ethernet 注意:建议不要指定MAC地址 vi /etc/sysconfig/network-scripts/ifcfg-em1 DEVICE=em1 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes 注意:建议不要指定MAC地址 vi /etc/sysconfig/network-scripts/ifcfg-em2 DEVICE=em2 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes 注意:建议不要指定MAC地址 (2)编辑模块载入配置文件(/etc/modprobe.conf),开机自动加载bonding模块到内核 vi /etc/modprobe.conf alias bond0 bonding options bond0 miimon=100 mode=1 alias net-pf-10 off #关闭ipv6支持 说明:miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3,4,5,6六种模式,常用为0,6,1三种,具体后面会介绍 mode=0,表示load balancing (round-robin)为负载均衡方式,两块网卡都工作,但是与网卡相连的交换必须做特殊配置( 这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址 mode=6,表示load balancing (round-robin)为负载均衡方式,两块网卡都工作,但是该模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址 mode=1,表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份 注意:bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。 最后,为了验证你的绑定是否正确,重启操作系统吧。(完) 网卡绑定就是多张网卡逻辑上作为一张网卡用。可分为,负载均衡绑定和冗余绑定两种。 1.编辑虚拟网络接口配置文件 [root@test~]# more /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 IPADDR=172.16.4.100 NETMASK=255.255.255.0 BROADCAST=172.16.4.255 NETWORK=172.168.4.100 ONBOOT=yes 2.编辑各网卡的配置文件,注意编辑之前做好备份工作 [root@test~]# more /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO=none TYPE=Ethernet DEVICE=eth0 ONBOOT=yes MASTER=bond0 slave=yes [root@test ~]# more /etc/sysconfig/network-scripts/ifcfg-eth1 BOOTPROTO=none TYPE=Ethernet DEVICE=eth1 ONBOOT=yes MASTER=bond0 slave=yes 3.修改/etc/modprobe.conf 文件,同样做好备份,最后加入2行 alias bond0 bonding options bond0 miimon=100 mode=1 注: (1)、miimon 是链路监测的时间间隔单位是毫秒,miimon=100的意思就是,每100毫秒检测网卡和交换机之间是否连通,如不通则使用另外的链路。 (2)、mode=0 表示负载均衡方式,两块网卡都工作,需要交换机作支持 mode=1 表示冗余方式,网卡只有一个工作,一个出问题启用另外的 mode=6 表示负载均衡方式,两块网卡都工作,不需要交换机作支持 [root@test~]# more /etc/modprobe.conf alias eth0 b44 alias eth1 8139too alias usb-controller ehci-hcd alias usb-controller1 ohci-hcd alias bond0 bonding options bond0 miimon=100 mode=0 4.在/etc/rc.d/rc.local 加入如下一行 ifenslave bond0 eth0 eth1 [root@test~]# more /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don’t # want to do the full Sys V style init stuff.

touch /var/lock/subsys/local ifenslave bond0 eth0 eth1 5.重新启动后负载平衡已经能正常工作,service network restart, 6.查看bond0的工作状态 [root@test~]# more /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v2.6.1 (October 29, 2004)

Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0

Slave Interface: eth0 MII Status: up Link Failure Count: 1 Permanent HW addr: 00:1b:b9:58:8b:b2

Slave Interface: eth1 MII Status: down Link Failure Count: 0 Permanent HW addr: 00:07:40:6c:ac:c8 7.查看经过绑定后的网卡工作情况 [root@test ~]# ifconfig -a bond0 Link encap:Ethernet HWaddr00:1B:B9:58:8B:B2 inet addr:172.16.4.100 Bcast:172.16.4.255 Mask:255.255.255.0 inet6 addr:fe80::200:ff:fe00:0/64 Scope:Link UP BROADCAST RUNNINGMASTER MULTICAST MTU:1500 Metric:1 RX packets:744154errors:0 dropped:0 overruns:0 frame:0 TX packets:1866915errors:0 dropped:0 overruns:0 carrier:0 collisions:0txqueuelen:0 RX bytes:1099876146 (1.0GiB) TX bytes:121233595 (115.6 MiB)

eth0 Link encap:Ethernet HWaddr00:1B:B9:58:8B:B2 inet6 addr:fe80::21b:b9ff:fe58:8bb2/64 Scope:Link UP BROADCAST RUNNINGSLAVE MULTICAST MTU:1500 Metric:1 RX packets:744154errors:0 dropped:0 overruns:0 frame:0 TX packets:1866905errors:0 dropped:0 overruns:0 carrier:0 collisions:0txqueuelen:1000 RX bytes:1099876146 (1.0GiB) TX bytes:121232839 (115.6 MiB) Interrupt:9

eth1 Link encap:Ethernet HWaddr00:1B:B9:58:8B:B2 inet6 addr:fe80::21b:b9ff:fe58:8bb2/64 Scope:Link UP BROADCAST SLAVEMULTICAST MTU:1500 Metric:1 RX packets:0 errors:0dropped:0 overruns:0 frame:0 TX packets:10 errors:0dropped:0 overruns:0 carrier:0 collisions:0txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:756 (756.0 b) Interrupt:11 Baseaddress:0x1000

lo Link encap:Local Loopback inetaddr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128Scope:Host UP LOOPBACKRUNNING MTU:16436 Metric:1 RX packets:2129 errors:0dropped:0 overruns:0 frame:0 TX packets:2129 errors:0dropped:0 overruns:0 carrier:0 collisions:0txqueuelen:0 RX bytes:1998893 (1.9MiB) TX bytes:1998893 (1.9 MiB)

sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 Metric:1 RX packets:0 errors:0dropped:0 overruns:0 frame:0 TX packets:0 errors:0dropped:0 overruns:0 carrier:0 collisions:0txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) 附: DEVICE=物理设备名 IPADDR=IP地址 NETMASK=掩码值 NETWORK=网络地址 BROADCAST=广播地址 GATEWAY=网关地址 ONBOOT=[yes|no](引导时是否激活设备) USERCTL=[yes|no](非root用户是否可以控制该设备) BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议) HWADDR = 你的MAC地址

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126825.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月8,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
H3C 交换机链路聚合与服务器 bond0 负载均衡设置
display link-aggregation verbose | include /0/2
以谁为师
2019/05/28
4K0
Linux下Bond技术实现负载均衡
一般企业内用于提供NFS服务、samba服务或者vsftpd服务时,要求系统必须提供7*24小时的网络传输服务。它所能提供的最大网络传输速度为100MB/s,但是当访问的用户数量特别多时,服务器的访问压力非常大,网络传输速率特别慢。
星哥玩云
2022/07/14
3.3K0
Linux下Bond技术实现负载均衡
Linux下多网卡绑定bond及模式介绍
主要是通过将多个物理网卡绑定到一个逻辑网卡上,实现了本地网卡的冗余,带宽扩容以及负载均衡。
用户8705048
2021/06/08
7.8K0
Linux下实现多网卡绑定详解
由于服务器上对于可用性的要求都比较高,对于各项功能都会有有冗余设计,比如,磁盘、电源、网卡、甚至服务器本身等等,今天尝试做一下网卡绑定实现网卡的冗余。
星哥玩云
2022/07/13
3.5K0
CentOS6/CentOS7 双网卡配置bonding
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/79582944
shaonbean
2019/05/26
5.2K0
Linux 多网卡的7种bond模式原理
网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6
用户6543014
2019/10/25
8.1K0
详解Linux双网卡绑定之bond0「建议收藏」
网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。Kernels 2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。
全栈程序员站长
2022/07/21
12.3K0
linux 实现双网卡绑定单个IP——bond篇
双网卡绑定单个IP 地址 为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。 bond在Linux下叫bonding,IBM称为etherchanel,broadcom叫team,但是名字怎么变,效果都是将两块或更多的网卡当做一块网卡使用,在增加带宽的同时也可以提高冗余性。
小手冰凉
2020/08/28
5.8K0
Linux 双网卡绑定
Linux 双网卡绑定 Linux 双网卡绑定 双网卡绑定的常用模式: mode1:active-backup 模式,即主备模式。 mode0:round-broin 模式,即负载均衡模式(需要交换机配置聚合口 cisco叫 port channel) 步骤: 1.创建bond0启动配置文件: 2:编辑网卡配置文件ifcfg-eth0,ifcfg-eth1 2.1:配置网卡一 2.2:配置网卡二 3:创建并配置modprobe.conf文件 4:设置开机启动 5:查看并测试 5.1:查看bond0信息 (/
程序员同行者
2018/06/22
30.1K1
Linux系统之Bonding 网卡绑定配置方法
Linux系统之Bonding 网卡绑定配置方法一、检查本地系统环境1.检查系统版本[root@Server001 ~]# cat /etc/os-release NAME="CentOS Linux"VERSION="7 (Core)"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="7"PRETTY_NAME="CentOS Linux 7 (Core)"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:centos:centos:7"HOME_U
江湖有缘
2023/01/21
6.4K0
Linux系统之Bonding 网卡绑定配置方法
Linux网卡bond的七种模式详解
像Samba、Nfs这种共享文件系统,网络的吞吐量非常大,就造成网卡的压力很大,网卡bond是通过把多个物理网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,具体的功能取决于采用的哪种模式。
子润先生
2021/06/17
6.4K0
linux中配置双网卡实现双网卡绑定,负载均衡
linux 主机安装双网卡,共享一个IP地址,对外提供访问,实际 同样 连接两条物理线路到交换机 实现平时 双网卡同时工作,分流网络压力,同时提供冗余备份,监控,防止物理线路的单点故障。
jwangkun
2021/12/23
10.9K0
linux中配置双网卡实现双网卡绑定,负载均衡
Linux系统双网卡绑定配置教程
Linux系统双网卡绑定配置教程 环境说明 系统版本 [root@ ~]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@ ~]# uname -r 2.6.32-642.6.1.el6.x86_64 网卡说明 eth0 192.168.1.8(服务器外网卡) eth1 eth2 两块服务器网卡(内网) 关闭相关服务 关闭防火墙 [root@ ~]# /etc/init.d/iptables stop [root@ ~]# c
民工哥
2020/09/16
5.5K0
bond0脚本
cat > /etc/sysconfig/network-scripts/ifcfg-bond0 <<-EOF DEVICE=bond0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=none IPADDR=192.168.146.128 PREFIX=24 IPV6INIT=no USERCTL=no GATEWAY=192.168.146.2 EOF cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<-EOF DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=none IPV6INIT=no USERCTL=no MASTER=bond0 SLAVE=yes EOF cat > /etc/sysconfig/network-scripts/ifcfg-eth1 <<-EOF DEVICE=eth1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=none IPV6INIT=no USERCTL=no MASTER=bond0 SLAVE=yes EOF cat > /etc/modprobe.d/bond0.conf <<-EOF alias bond0 bonding options bonding mode=0 miimon=100 EOF systemctl restart network 查看网卡协商速率 ethtool 网卡名
全栈程序员站长
2022/07/25
5930
CentOS 7.4双网卡绑定实现高可用
一、用bond方式  (1)bond几种主要模式介绍 第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略) 特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降
星哥玩云
2022/07/25
1.8K0
CentOS/Linux 双网卡绑定单一IP,网卡热备
随着技术的发展,四张千兆以太口网卡已经变成了服务器的标配。而在生产环境中,为了保证CentOS/Linux服务器的网络稳定,会对服务器的两张网卡进行绑定一个IP来现实网卡的热备。具体操作方法如下:
星哥玩云
2022/07/04
1.5K0
Linux 双网卡绑定实践
工作中主要以SUSE为主,网络作为整个高可用架构中最重要的环节之一,在物理上一般是双网卡绑定模式,通常使用默认的mode=1(active-backup)作为主备关系。
星哥玩云
2022/07/04
4.1K0
Linux 双网卡绑定实践
Linux下快速设定ip bond
    在计算机网路普及的初期,很多OS系统都使用的为单网卡方式,即一个网卡使用一个IP地址。随着网络要求的不断提高,我们可以对多个网卡进行绑定聚合当一个逻辑网络接口来使用,从而大幅提升服务器的网络吞吐(I/O),同时也可以根据不同的场景和需求来设置其绑定模式。本文简要描述一下其配置过程。
Leshami
2018/08/13
3.3K0
修改双网卡脚本
em1='/etc/sysconfig/network-scripts/ifcfg-em1'
用户1168904
2021/05/19
1.5K0
生产环境主机服务器部署小结
这两天跟同事一起去部署一个新项目的所有主机服务器,记录下大体过程备忘。 环境: 主机型号:HP ProLiant DL380 Gen9 基本配置:512GB内存,CPU 2颗E5-2630 2.40GHz,12块4TB SATA 7200转硬盘 RAID卡:Smart HBA H240ar(支持RAID1,RAID5,RAID50,RAID1+0等) 生产环境主机服务器部署,在机房一般需要做下面几个事情,其他的都可以等网络通之后远程来做。
Alfred Zhao
2022/05/06
1.8K0
相关推荐
H3C 交换机链路聚合与服务器 bond0 负载均衡设置
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文