09
2021
01
16:32:34

linux 网卡bonding设置,添加到vlan

实现将两块网卡虚拟成为一块网卡,这样两块网卡具有相同的IP地址而聚合成一个逻辑链路。bonding运行在混杂promisc模式,即接收网络上所有的帧。它修改了驱动程序中的mac地址,将两块网卡的Mac地址改成相同的,网卡接收到特定mac帧后,把相应的数据帧传送给bond驱动程序处理。

一、查看内核是否支持 bonding:

首先安装vconfig

$ yum install vconfig

$ dmesg | grep -i 802

$ modprobe 8021q (载入模块)

$ lsmod | grep 8021q (确认模組是否已经载入到核心內)

二、创建虚拟网络接口配置文件ifcfg-bond0,并配置好


$ cd /etc/sysconfig/network-scripts/

$ vi ifcfg-bond0

或直接复制一份

# cp ifcfg-eth0 ifcfg-bond0

ifcfg-bond0文件做类似如下修改:

DEVICE=bond0
BOOTPROTO=static
IPADDR=[IP]
NETMASK=[MASK]
BROADCAST=[BROADCAST]
GATEWAY=[GATEWAY]
ONBOOT=yes
TYPE=Ethernet 

如果配置bond4,则文件配置信息为:

参考1(没设定vlan):


DEVICE=bond4

NAME=bond4

TYPE=Bond

BOOTPROTO=static

BONDING_MASTER=yes

BONDING_OPTS="mode=802.3ad miimon=100 lacp_rate=fast"

GATEWAY=172.16.32.1

NETMASK=255.255.255.0

DNS1=172.16.32.241

DNS2=172.16.32.243

PEERDNS=yes

ONBOOT=yes


参考2(已设定vlan,就不能配置IP):


DEVICE=bond4

NAME=bond4

TYPE=Bond

BOOTPROTO=static

BONDING_MASTER=yes

BONDING_OPTS="mode=802.3ad miimon=100 xmit_hash_policy=2"

PEERDNS=yes

DEFROUTE=yes 

PEERROUTES=yes 

IPV4_FAILURE_FATAL=no 

IPV6INIT=yes 

IPV6_AUTOCONF=yes 

IPV6_DEFROUTE=yes 

IPV6_PEERDNS=yes 

IPV6_PEERROUTES=yes 

IPV6_FAILURE_FATAL=no

ONBOOT=yes


假设设定的vlan ID为1004(vconfig add bond4 1004,执行此命令前确保bond4无IP地址),则会存在ifcfg-bond4.1004文件(通常执行cp ifcfg-bond4 ifcfg-bond4.1004来创建),其内容为

DEVICE=bond4.1004

BOOTPROTO=static

ONBOOT=yes

VLAN=yes

IPADDR=10.128.4.14

NETMASK=255.255.255.0

三、修改物理网卡配置文件


修改ifcfg-eth0如下:

DEVICE=eth0

NAME=eth0

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0     #如果不写,则必须做第四步

SLAVE=yes             #如果不写,则必须做第四步

USERCTL=yes


类似地修ifcfg-eth1如下:

DEVICE=eth1

NAME=eth1

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0     #如果不写,则必须做第四步

SLAVE=yes             #如果不写,则必须做第四步

USERCTL=yes

四、修改/etc/modprobe.conf 这个配置文档


添加两行

alias bond0 bonding

options bond0 miimon=100 mode=1

基中的mode工作模式说明如下

mode=0 表示 load balancing (round-robin)为负载均衡方式,两块网卡都工作。 
mode=1 表示 fault-tolerance (active-backup)提供冗余功能,工作方式是主 从的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。  
mode=2 表示 XOR policy 为平衡策略。此模式提供负载平衡和容错能力  
mode=3 表示 broadcast 为广播策略。此模式提供了容错能力  
mode=4 表示 IEEE 802.3ad Dynamic link aggregation 为 IEEE 802.3ad 为 动态链接聚合。该策略可以通过 xmit_hash_policy 选项从缺省的 XOR 策略改变到其他策略。  
mode=5 表示 Adaptive transmit load balancing 为适配器传输负载均衡。该 模式的必要条件:ethtool 支持获取每个 slave 的速率  
mode=6 表示 Adaptive load balancing 为适配器适应性负载均衡。该模式包含 了 balance-tlb 模式,同时加上针对 IPV4 流量的接收负载均衡(receive load   balance, rlb),而且不需要任何 switch(交换机)的支持。

五、/etc/rc.local里加上开机自启动项,然后重启网络服务

/proc/net/vlan/config可查看所有设定的vlan,不过这样的設定下次重新开机就会失效,所以需要將设定语句写到/etc/rc.local

1.没有设定vlan的情况下

 ifenslave bond0 eth0 eth1

2.有vlan情况下

modprobe 8021q
vconfig add eth0 192
ifup eth0.192


$ service network restart

cat /proc/net/bonding/bond0 查看bonding信息




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/1600.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: