Linux系统下多网卡绑定操作方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统下多网卡绑定操作方法相关的知识,希望对你有一定的参考价值。
参考技术A 在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=192.168.1.2
--IP地址
NETMASK=255.255.255.0
--子网掩码
GATEWAY=192.168.1.1
--网关
DNS=8.8.8.8
--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/modprobe.conf或者/etc/modules.conf文件,加入如下内容,使系统启动时加载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/rc.d/rc.local文件中加入如下语句,使得系统启动自动运行
ifenslave
bond0
eth0
eth1
route
add
-net
192.168.1.254
netmask
255.255.255.0
bond0
#如有需要才加该路由
5.检测、验证配置
首先执行命令装载bonding模块:modprobe
bonding
重启网络服务,并确认bond0正确启动:service
network
restart
确认设备已经正确加载:less
/proc/net/bonding/bond0
列出所有网口:ifconfig
上面就是Linux下多网卡绑定bond模式原理的介绍了,bond模式原来一般有7种,这里只介绍了其中的一种,希望对你有所帮助。
Linux下多网卡bonding
一、什么是Bonding
Bonding,就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过Bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。
二、Bonding的几种工作模式
Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
Mode 1 (active-backup)
活动-备份(主备)策略:在绑定中,只有一个slave被激活。当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力。
三、Bonding中的Mode1配置演示
1、首先在虚拟机上添加一块网卡
[[email protected] ~]# ifconfig -a //ifconfig -a 查看所有的网卡设备 eth0 Link encap:Ethernet HWaddr 00:0C:29:9C:63:16 inet addr:10.1.252.122 Bcast:10.1.255.255 Mask:255.255.0.0 inet6 addr: fe80::20c:29ff:fe9c:6316/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:111504 errors:0 dropped:0 overruns:0 frame:0 TX packets:1487 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8815045 (8.4 MiB) TX bytes:176077 (171.9 KiB) eth1 Link encap:Ethernet HWaddr 00:0C:29:9C:63:20 添加成功! BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
二、创建bonding设备的配置文件
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 IPADDR=10.1.0.222 NETMASK=255.255.0.0 GATEWAY=10.1.0.1 DNS1=114.114.114.114 BONDING_OPTS="miimon=100 mode=1"
三、创建网卡的配置文件
[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth* DEVICE="eth0" SLAVE=yes MASTER=bond0 DEVICE="eth1" SLAVE=yes MASTER=bond0 [[email protected] ~]#
四、重新启动网卡的配置文件并测试
ping10.1.0.222这个主机
然后断开eth0这个网卡
查看此时的信息
再把eth1也断开,然后ping主机
因为两块网卡都断开了,所以没有人提供服务了,让我们再次把eth0连上,然后再次ping主机
实验成功!!谢谢浏览!!
本文出自 “学無止境” 博客,请务必保留此出处http://dashui.blog.51cto.com/11254923/1846417
以上是关于Linux系统下多网卡绑定操作方法的主要内容,如果未能解决你的问题,请参考以下文章