
关注
Linux系统bond配置 原创
2020-02-23 15:19:24
5点赞
linux言叙
码龄7年
关注
1、bond简介
bond是多块物理网卡虚拟为一块网卡,使多块网卡看起来像一块网卡。
2、bond优点
linux系统下配置bond,通过网卡绑定可增加服务器可靠性,同时可增加网络带宽,提供稳定的网络服务。
3、bond模式
(1)mode=1:在主备模式下,只有主网卡工作,备份网卡不工作,只有当一个网络接口失效时(例如交换机掉电等),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护功能。
(2)mode=0:在负载均衡模式下,两块网卡都工作,提供两倍带宽。需要配置的第一个重要部分是网络,在FreeBSD中网络功能的地位非常重要。通过Sysinstall下的Network配置,可以配置网络的基本设置内容,如IP、域名、缺省网关等,也可以设置基本的网络应用,如FreeBSD是否用作NFS Client、NFS Server、匿名ftp服务器,以及是否启动路由交换软件routed或gated等等。使用Sysinstall就能设置一个正常运行的网络客户计算机,并能对FreeBSD系统提供的几种基本网络服务进行设置,非常简便和直观。
1、设置网络界面
如果安装方式是NFS或ftp等网络安装方式,这一步应该在选择安装方式之后就需要进行设置,否则无法完成复制系统文件的过程。
图1
设置网络界面时首先要选择进行设置的网络界面,FreeBSD将列出内核探测出所有的网络界面,包括网卡、串口和并口等网络界面。一般这里只对网卡对应的网络界面进行设置,对应于并口、串口的网络界面常常需要较复杂的设置过程,需要在启动系统之后在额外设置。本例中系统有一个novell的网卡,网络界面名字为ed0。
图2
对选定的网络界面ed 0,可以配置主机名、域名网关、名字服务器、IP地址和子网掩码等基本的网络设置。配置好这个界面之后,不需要重新启动系统就可以立即使其发挥作用,从而使得在安装过程中就可以连接到网络上。
使用Tab 键可以在各个栏目之间进行切换,请输入适当的信息:
Host(机器名称):完整的机器名称,例如本例中的 ghqexamplecom 。
Domain(域名): 您机器所在的域名称,如本例的 examplecom
IPv4 Gateway(IPv4网关): 输入将数据包传送到远端网络的机器IP地址。只有当机器是网络上的一个接点时才要输入。如果这台机器要作为您局域网的网关, 请将此处设为空白。IPv4网关,也被称作默认网关或默认路由器。
域名服务器: 本地网络中的域名服务器的IP地址。本例中假设机器所在的网络中没有域名服务器,所以填入的是ISP提供的域名服务器地址 (213168245。)
IPv4 地址: 本机所使用的IP地址。本例为 19216801。
子网掩码:本范例中的IP地址属于一个C类地址 (19216800 - 192168255255)。默认的子网掩码为 (2552552550)。
ifconfig 额外参数设定:任何ifconfig命令跟网卡接口有关的参数。 本范例中没有。
使用 Tab 键选择 [ OK ]然后按 Enter键。然后在该对话框中选择Yes,使ed0这个网卡以前面设置的内容正常运行。基础配置信息
常用的三种Bond模式
配置过程以mode=6为例,其它7种模式请参考扩展阅读
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。
物理接口
2015610165454336jpg (274×145)
CentOS版本
复制代码代码如下:
datanode01:~>cat /etc/redhat-release
CentOS release 64 (Final)
禁用NetworkManager
复制代码代码如下:
#立即关闭禁用NetworkManager并禁用开机自启动
/etc/initd/NetworkManager stop
chkconfig NetworkManager off
/etc/initd/network restart
关闭iptables和selinux(可选)
复制代码代码如下:
#立即关闭iptables并禁用开机自启动
/etc/initd/iptables stop
chkconfig iptables off
#立即关闭selinux并永久禁用
setenforce 0
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config
修改主机名
复制代码代码如下:
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=namenode01
#刷新生效
hostname namnode01
source /etc/sysconfig/network
配置IP
私有地址
复制代码代码如下:
cd /etc/sysconfig/network-scripts
[root@datanode09 network-scripts]# cat ifcfg-eth3
DEVICE=eth3
ONBOOT=yes
BOOTPROTO=none
IPADDR=101294619
NETMASK=2552552550
IPV6INIT=no
USERCTL=no
双网卡绑定
复制代码代码如下:
cd /etc/sysconfig/network-scripts
#编辑eth0
cat > ifcfg-eth0 << EOF
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0
EOF
#编辑eth2
cat > ifcfg-eth2 << EOF
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0
EOF
#编辑bond0
cat > ifcfg-bond0 << EOF
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=1033214
NETMASK=2552552550
GATEWAY=10331
IPV6INIT=no
USERCTL=no
EOF
#设置bond参数,注意mode选择
cat > /etc/modprobeconf << EOF
alias bond0 bonding
options bond0 miimon=100 mode=6
EOF
#加入开机自启动参数
cat >> /etc/rclocal << EOF
ifenslave bond0 eth0 eth2
EOF
#重启网卡
service network restart
#使绑定网卡立即生效
ifenslave bond0 eth0 eth2
#测试绑定网络
ping 10331
常用3种网卡绑定模式对比
mode=0
中断任意一条链路或恢复链路,网络0丢包
优点:流量提高1倍
缺点:需要接入同一交换机做聚合配置,无法保证物理交换机高可用(Cisco似乎有解决方案?)
mode=1
中断任意一条链路丢失1-3个包(秒),恢复链路时0丢包
优点:交换机无需配置
缺点:如上
mode=6
中断任意一条链路0丢包,恢复链路时丢失10-15个包(秒)
优点:交换机无需配置,流量提高1倍在Linux系统中,通常会将多个网卡绑定为一个逻辑网卡,这样可以提高网络的稳定性,那么要如何将多个网络绑定为一个呢下面小编就给大家介绍下Linux下多网卡绑定的bond模式原理。
将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严
重的瓶颈。其它的应用,比如ftp服务器,高负载的下载网站,
都有类似的问题。因此使用Linux
teaming或bond来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大幅提升服务器的网络吞吐(I/O)。
Linux的多网卡绑定功能使用的是内核中的“bonding”模块,关于此模块可以参考Linux
Ethernet
Bonding
Driver文档,
但是目前发布各个Linux版本内核均已包含了此模块,大多数情况下不需要重新编译内核。
Linux
的
bonding
驱动提供了绑定/集成(bond)多个网卡为一个虚拟逻辑网口的功能。并请注意绑定的网口(bonded)有多种工作模式;
一般来说,分为
热后备(hot
standby)
和
负载均衡(load
balancing)。
在Redhat/Fedora和其它类Redhat
Linux中是比较容易配置的。
1创建bond0配置文件
vi
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
--物理设备名字
IPADDR=19216812
--IP地址
NETMASK=2552552550
--子网掩码
GATEWAY=19216811
--网关
DNS=8888
--DNS
ONBOOT=yes
--随机启动
NAME=bond0
BOOTPROTO=none
USERCTL=no
--是否允许非root用户控制该设备
2修改被绑定的eth0和eth1的配置文件
vi
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=“eth0”
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
HWADDR=00:15:17:CC:FC:35
eth1的配置文件与之相同,只是device的值改为eth1即可。
3装在bond模块驱动
编辑/etc/modprobeconf或者/etc/modulesconf文件,加入如下内容,使系统启动时加载bonding模块驱动
alias
bond0
bonding
option
bond0
miimon=100
mode=1
说明:
1)miimon=100
用来进行链路监测的。即每100ms监测一次链路状态。bonding只监测主机与交换机之间链路。如果交换机出去的链路出问题而本身没有问题,那么bonding认为链路没有问题而继续使用。
2)mode=1
表示提供冗余功能。除此之外还可以为0、2、3,共四种模式。0表示负载均衡
4在/etc/rcd/rclocal文件中加入如下语句,使得系统启动自动运行
ifenslave
bond0
eth0
eth1
route
add
-net
1921681254
netmask
2552552550
bond0
#如有需要才加该路由
5检测、验证配置
首先执行命令装载bonding模块:modprobe
bonding
重启网络服务,并确认bond0正确启动:service
network
restart
确认设备已经正确加载:less
/proc/net/bonding/bond0
列出所有网口:ifconfig
上面就是Linux下多网卡绑定bond模式原理的介绍了,bond模式原来一般有7种,这里只介绍了其中的一种,希望对你有所帮助。您好,方法
网卡bond的模式
网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6。 常用的有三种:
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。
我就我的一次bonding经历,来给大家分享一下,如何做网卡bond,我这次做的是bond6,在centos60上完成。
三、网卡bond前期准备
1由于服务器网卡比较多,逻辑顺序与物理顺序不一定一致。首先要确定哪几块网卡布置了网线,一般是有两块网卡对应两根网线,分别连接不同的交换机。查看所有网卡
$lspci|grep net
查看网卡2的信息,Link detected:yes表示有网线插入
$ethtool eth2
如果Link detected:no 的话,尝试用命令ifconfig eth2 up,如果用ethtool查看任然为no的话,才能说明此网卡确实没有网线插入。
2注意如果ifcfg-bond0的配置文件如果是从其他网卡配置文件拷贝过来的,HWADDR地址一定要删除,《linux就该这么学》DEVICE名字要改。
3NetworkManager要关闭,建议临时和永久都关闭一下。
$chkconfig NetworkManager off $service NetworkManager stop
四、更改要bond网卡的配置文件
eth2,eth3为bond前的网卡名称,bond0为bond后的网卡名称,我们需要对这三个配置文件做更改。
eth2:
$vi /etc/sysconfig/network-scripts/ifcfg-eth2 DEVICE=eth2 HWADDR=44:A8:42:25:7C:FE BOOTPROTO=none ONBOOT=yes SLAVE=yes MASTER=bond0 TYPE=Ethernet
eth3:
$vi /etc/sysconfig/network-scripts/ifcfg-eth3 DEVICE=eth3 HWADDR=44:A8:42:25:7D:01 BOOTPROTO=none ONBOOT=yes SLAVE=yes MASTER=bond0 TYPE=Ethernet
bond0:
$vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static ONBOOT=yes IPADDR=100100100100 NETMASK=2552552550 GATEWAY=1001001001 TYPE=Ethernet
5
五、配置模式为bond6
$vi /etc/modprobed/distconf
在最后添加下面2行
alias bond0 bonding options bond0 miimon=100 mode=6
也可以用下面的命令添加
$sed -i '$a alias bond0 bonding' /etc/modprobed/distconf $sed -i '$a options bond0 miimon=100 mode=6' /etc/modprobed/distconf
六、重启网络服务
$service network restart
6
七、用nload查看流量
$vim /root/bash_profileexport PATH alias nload='nload -m -s 5 -u m -t 2000 bond0 eth2 eth3'$source /root/bash_profile$nloadbond基本上都是两个网关的
bond网络模式
1原理:
多块网卡虚拟成一张,实现冗余;多张网卡对外显示一张,具有同一个IP;网络配置都会使用Bonding技术做网口硬件层面的冗余,防止单个网口应用的单点故障。
对于多物理网卡的 Bond 网卡而言,其中一块物理网卡会被设置为 Master(主设备),其他的网卡都是 Slave(从设备),Bond 网卡的 MAC 地址取自标志为 Master 的物理网卡,然后将这个 MAC 地址复制到其他物理网卡上
2工作模式:
在主备模式下 , 只有主网卡 eth0 工作,eth1 作为备份网卡是不工作的,只有当一个网络接口失效时 ( 例如主交换机掉电等 ),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护的功能。
在负载均衡模式下,由于两块网卡都正常工作,它能提供两倍的带宽,在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用。可以。
bond的英文释义为纽带、联系,那么在Linux中,bond是一种虚拟网卡的技术,可以把几块网卡联系起来,虚拟成一块网卡来对外提供服务。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)