linux如何配置bond?

linux如何配置bond?,第1张

1、编辑虚拟网络接口配置文件,指定网卡IP:
#
vi
/etc/sysconfig/network-scripts/ifcfg-bond0
或者下面命令#
cp
/etc/sysconfig/network-scripts/ifcfg-eth0
ifcfg-bond0
2、#vi
ifcfg-bond0
将第一行改成
DEVICE=bond0:#
cat
ifcfg-bond0
DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=1921686172NETMASK=255255255240#BROADCAST=1921686179#GATEWAY=1921686177这里要注意,不要指定单个网卡的IP
地址、子网掩码或网卡
ID。将上述信息指定到虚拟适配器(bonding)中即可。#
cat
ifcfg-eth0
DEVICE=eth0BOOTPROTO=noneONBOOT=yesHWADDR=00:15:17:CC:FC:35MASTER=bond0SLAVE=yes#
cat
ifcfg-eth1
DEVICE=eth1BOOTPROTO=noneONBOOT=yesHWADDR=00:15:17:CC:FC:34MASTER=bond0SLAVE=yes
3、
#
vi
/etc/modulesconf
编辑
/etc/modprobeconf或者/etc/modulesconf文件,加入如下两行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为
bond0加入下列两行:alias
bond0
bondingoptions
bond0
miimon=100
mode=1说明:miimon是用来进行链路监测的。
比如:miimon=100,那么系统每100ms监测一次路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。mode=0表示load
balancing
(round-robin)为负载均衡方式,两块网卡都工作。mode=1表示fault-tolerance
(active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡作,另一块做备份
bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用
4、 #
vi
/etc/rcd/rclocal
加入两行,加在启动自运行文件里面
ifenslave
bond0
eth0
eth1route
add
-net
172313254
netmask
2552552550
bond0 #如果需要的话加路由,不需要不用加
到这时已经配置完毕重新启动机器
重启会看见以下信息就表示配置成功了
Bringing
up
interface
bond0
OKBringing
up
interface
eth0
OKBringing
up
interface
eth1
OK

一、准备环境

VMware软件、Centos7虚拟机

二、添加网卡

为虚拟机再添加两块网卡,查看网卡信息,可以看到有ens32、ens34、ens35三块网卡

ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127001/8 scope host lo

      valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

      valid_lft forever preferred_lft forever

2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

    link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff

    inet 19216830142/24 brd 19216830255 scope global noprefixroute dynamic ens32

      valid_lft 1615sec preferred_lft 1615sec

    inet6 fe80::d089:c15:e69a:8ce4/64 scope link noprefixroute

      valid_lft forever preferred_lft forever

3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

    link/ether 00:0c:29:54:02:1a brd ff:ff:ff:ff:ff:ff

    inet 19216830143/24 brd 19216830255 scope global noprefixroute dynamic ens34

      valid_lft 1765sec preferred_lft 1765sec

    inet6 fe80::a4af:b843:9032:9dd3/64 scope link noprefixroute

      valid_lft forever preferred_lft forever

4: ens35: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

    link/ether 00:0c:29:54:02:10 brd ff:ff:ff:ff:ff:ff

    inet 19216830141/24 brd 19216830255 scope global noprefixroute dynamic ens35

      valid_lft 1765sec preferred_lft 1765sec

    inet6 fe80::b7cf:76d7:23aa:63c2/64 scope link noprefixroute

      valid_lft forever preferred_lft forever

查看网卡配置文件,可以看到添加网卡后,并没有生成对应的网卡文件

ls /etc/sysconfig/network-scripts/ifcfg

/etc/sysconfig/network-scripts/ifcfg-ens32  /etc/sysconfig/network-scripts/ifcfg-lo

可以为网卡生成配置文件,但在本文中不需要这样做

nmcli connection add type ethernet con-name ens34 ifname ens34 autoconnect yes

nmcli connection add type ethernet con-name ens35 ifname ens35 autoconnect yes

再次查看网卡配置文件,生成成功

ls /etc/sysconfig/network-scripts/ifcfg

/etc/sysconfig/network-scripts/ifcfg-ens32  /etc/sysconfig/network-scripts/ifcfg-ens35

/etc/sysconfig/network-scripts/ifcfg-ens34  /etc/sysconfig/network-scripts/ifcfg-lo

三,选定网卡绑定模式

多网卡一共有7种bond模式,这里直接选用mode=6 (balance-alb) Adaptive load balancing(适配器适应性负载均衡),该模式不需要交换机支持

四、开始配置

1、加载bonding模块,并设置开机启动

[root@localhost ~]#lsmod|grepbonding[root@localhost ~]#modprobe bonding[root@localhost ~]#lsmod|grepbondingbonding              152979  0

启用rclocal开机启动项

chmod +x /etc/rcd/rclocal

在文件中写入modprobe bonding

2、建立bond网口配置文件并进行配置

/etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

NAME=bond0

TYPE=Bond

BONDING_MASTER=yes

IPADDR=19216830250

PREFIX=2552552550

GATEWAY=192168302

DNS1=114114114114

ONBOOT=yes

BOOTPROTO=none

BONDING_OPTS="mode=6  miimon=100"

3、修改三块网卡的配置

vi /etc/sysconfig/network-scripts/ifcfg-ens32

DEVICE=ens32

ONBOOT=yes

BOOTPROTO=none

TYPE=Ethernet

MASTER=bond0

SLAVE=yes

vi /etc/sysconfig/network-scripts/ifcfg-ens34

DEVICE=ens34

ONBOOT=yes

BOOTPROTO=none

TYPE=Ethernet

MASTER=bond0

SLAVE=yes

vi /etc/sysconfig/network-scripts/ifcfg-ens35

DEVICE=ens35

ONBOOT=yes

BOOTPROTO=none

TYPE=Ethernet

MASTER=bond0

SLAVE=yes

4、重新加载网络配置

注意:这一步会断网!

nmcli connection reload && systemctl restart networkservice

使用新IP链接ssh

五、验证绑定是否生效

cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v371 (April 27, 2011)

Bonding Mode: adaptive load balancing

Primary Slave: None

Currently Active Slave: ens32

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: ens32

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:54:02:06

Slave queue ID: 0

Slave Interface: ens34

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:54:02:1a

Slave queue ID: 0

Slave Interface: ens35

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:54:02:10

Slave queue ID: 0

查看网卡状态

ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127001/8 scope host lo

      valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

      valid_lft forever preferred_lft forever

2: ens32: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000

    link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff

3: ens34: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000

    link/ether 00:0c:29:54:02:1a brd ff:ff:ff:ff:ff:ff

4: ens35: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000

    link/ether 00:0c:29:54:02:10 brd ff:ff:ff:ff:ff:ff

5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000

    link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff

    inet 19216830250/24 brd 19216830255 scope global bond0

      valid_lft forever preferred_lft forever

    inet6 fe80::20c:29ff:fe54:206/64 scope link

      valid_lft forever preferred_lft forever

查看接口带宽,带宽为3G

ethtool bond0

Settings for bond0:

        Supported ports: [ ]

        Supported link modes:  Not reported

        Supported pause frame use: No

        Supports auto-negotiation: No

        Supported FEC modes: Not reported

        Advertised link modes:  Not reported

        Advertised pause frame use: No

        Advertised auto-negotiation: No

        Advertised FEC modes: Not reported

        Speed: 3000Mb/s

        Duplex: Full

        Port: Other

        PHYAD: 0

        Transceiver: internal

        Auto-negotiation: off

        Link detected: yes

连续ping测试,并禁用第一个网卡,此时会丢一个包,网络依然正常运行

来自 19216830250 的回复: 字节=32 时间<1ms TTL=64

来自 19216830250 的回复: 字节=32 时间<1ms TTL=64

来自 19216830250 的回复: 字节=32 时间=1ms TTL=64

请求超时。

来自 19216830250 的回复: 字节=32 时间=1ms TTL=64

来自 19216830250 的回复: 字节=32 时间<1ms TTL=64

完毕!

网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。在应用部署中是一种常用的技术,我们公司基本所有的项目相关服务器都做了bond,这里总结整理,以便待查。
bond模式:
Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。
Mode=1(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。
Mode=2(balance-xor) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)
Mode=3(broadcast) 表示所有包从所有interface发出,这个不均衡,只有冗余机制和交换机的聚合强制不协商方式配合。
Mode=4(8023ad) 表示支持8023ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy)
Mode=5(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave
Mode=6(balance-alb) 在5的tlb基础上增加了rlb。
5和6不需要交换机端的设置,网卡能自动聚合。4需要支持8023ad。0,2和3理论上需要静态聚合方式
但实测中0可以通过mac地址欺骗的方式在交换机不设置的情况下不太均衡地进行接收。

Bond3交换机是不需要的。
Bond3交换机不管是高端的还是低端的,基本都是不需要配置插上电就可以使用的,只是这时只能实现基本的通信。
bond3交换机是一种在通信系统中完成信息交换功能的设备。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10530942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存