温和的方式请参考:https://www.cnblogs.com/zzf0305/p/9594093.html

一:传统的bond方式(饭已验证)------------本种的绑定方式比较暴躁

(1)  bond几种模式介绍。

mode 0 :load balancing(round-robin)模式,需要交换机端支持,支持多端口负载均衡,支持端口冗余,slave接口的mac相同

mode 1:active-backup模式,最大支持两个端口,一主一备,同一时间只有一块网卡工作,不支持抢占

mode 4:采用IEEE802.3ad方式的动态协商机制聚合端口,需要交换机开启lacp并配置为主动(active)模式

mode 5和 mode 6类似mode 1的主备模式,不常用

(2)bond配置

需要关闭NetworkManager服务

systemctl stop NetworkManager

systemctl disable NetworkManager

查看内核是否加载bonding

lsmod |grep bonding  (如果未加载,用#modprobe --first-time bonding    饭:这只是临时的加载,重启就没了,永久的需要做下面的配置文件)

   配置bonding驱动

vi /etc/modprobe.d/bond.conf (没有则新建),写入以下内容:

  alias bond0 bonding

  options bond0 miimon=100 mode=0 //miimon是用来进行链路监测的,后面指定的是检查的间隔时间,单位是ms

 注:网卡配置文件,“=”左边均为大写,右边为小写,如bond0的不成功,请细心检查配置文件。

(3)配置bond接口

   # vi /etc/sysconfig/network-scripts/ifcfg-bond0(新建,写入以下内容)

     TYPE=Bond
BOOTPROTO=none
ONBOOT=yes
USERCTL=no //是否允许普通用户控制此设备
DEVICE=bond0
IPADDR=192.168.0.111
PREFIX=24
NM_CONTROLLED=no //NetworkManager服务的参数,配置修改后无重启立即生效
BONDING_MASTER=yes

我的实际配置文件:

[root@cnbgdphapwanp01 network-scripts]# cat ifcfg-bond0

DEVICE="bond0"
BOOTPROTO=none
ONBOOT="yes"
IPADDR=10.11.1.137
NETMASK=255.255.255.0
GATEWAY=10.11.1.1
TYPE=Ethernet

(4)配置slave接口

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

TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no 

其他slave网卡与此配置相同

我的实际配置文件

[root@cnbgdphapwanp01 network-scripts]# cat ifcfg-bond1

DEVICE="bond1"
BOOTPROTO=none
ONBOOT="yes"
IPADDR=221.99.229.226
NETMASK=255.255.255.0
GATEWAY=211.99.229.21
TYPE=Ethernet

(5)重启network服务,并检查

systemctl restart network

cat  /proc/net/bonding/bond0

  二.NetworkManager服务的nmcli方式(暂时未测试)

  推荐参考自己的另一篇:https://www.cnblogs.com/zzf0305/p/9594093.html

(1)查看网络设备状态

[root@compute ~]# nmcli dev
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
eth1 ethernet connected Wired connection 1
lo loopback unmanaged --

(2)查看网络连接状态

[root@compute ~]# nmcli con sh
NAME UUID TYPE DEVICE
Wired connection 1 d75d7715-1098-353e-bb11-4b718e51ff38 802-3-ethernet eth1
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eth0

(3)创建team0(也就是bond接口)

按照下面的语法,用 nmcli 命令为网络组接口创建一个连接。

nmcli con add type team con-name CNAME ifname INAME [config JSON]

CNAME 指代连接的名称,INAME 是接口名称,JSON (JavaScript Object Notation) 指定所使用的处理器(runner)。JSON语法格式如下:

‘{"runner":{"name":"METHOD"}}‘

METHOD 是以下的其中一个:broadcast、activebackup、roundrobin、loadbalance 或者 lacp

下面以“roundrobin”为例:

[root@compute ~]# nmcli con add type team con-name team0 ifname team0 config ‘{"runner":{"name":"roundrobin"}}‘
Connection ‘team0‘ (64021ca5-85c3-429d-b930-56802dc0ccc4) successfully added.

设置team0的ip,gateway,dns

[root@compute ~]# nmcli con modify team0 ipv4.address "192.168.0.222/16" ipv4.gateway "192.168.0.1"
[root@compute ~]# nmcli con modify team0 ipv4.dns "223.5.5.5"

设置team0的属性为手动(manual)

[root@compute ~]# nmcli con modify team0 ipv4.method manual

添加slave网卡

[root@compute ~]# nmcli con add type team-slave con-name team-port2 ifname eth1 master team0
Connection ‘team-port2‘ (df74a4c7-f8ff-4ae3-b04f-3dd1210598cd) successfully added.
[root@compute ~]# nmcli con add type team-slave con-name team-port1 ifname eth0 master team0
Connection ‘team-port1‘ (757648c4-114f-439f-b022-5bcf63ae0cb3) successfully added.

启动team0网口,并检查

[root@compute ~]# nmcli con up team0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
[root@compute ~]# teamdctl team0 sta
setup:
runner: roundrobin
ports:
eth0
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
eth1
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0

三.清除bond信息(未测试)

1. #

ifconfig bond0 down

2. 清除对应配置文件信息

3. #lsmod |grep bonding 存在则用rmmod bonding删除,更改NetworkManager开机自启,重启系统。

查看网卡速率: ethtool  网卡名(eth0)

常见故障:

启动team0网口,team0仍旧为down

[root@compute network-scripts]# ip a

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

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

    inet 127.0.0.1/8 scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host 

       valid_lft forever preferred_lft forever

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

    link/ether 00:0c:29:4f:fd:82 brd ff:ff:ff:ff:ff:ff

    inet 192.168.0.222/16 brd 192.168.255.255 scope global eth0

       valid_lft forever preferred_lft forever

    inet6 fe80::20c:29ff:fe4f:fd82/64 scope link 

       valid_lft forever preferred_lft forever

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

    link/ether 00:0c:29:4f:fd:8c brd ff:ff:ff:ff:ff:ff

    inet 192.168.0.160/16 brd 192.168.255.255 scope global dynamic eth1

       valid_lft 7191sec preferred_lft 7191sec

    inet 192.168.0.159/16 brd 192.168.255.255 scope global secondary dynamic eth1

       valid_lft 6300sec preferred_lft 6300sec

    inet6 fe80::86d1:12d7:5a7c:2d88/64 scope link 

       valid_lft forever preferred_lft forever

4: team0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN

排错:

1.检查网络连接状态,发现team-port1和team-port2以及team0没有连接到网卡设备

[root@compute network-scripts]# nmcli con sh

NAME        UUID                                  TYPE            DEVICE 

eth0        5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0   

eth1        22a287d8-6206-4d10-bdd9-5299b063300e  802-3-ethernet  eth1    

team-port1  757648c4-114f-439f-b022-5bcf63ae0cb3  802-3-ethernet  --     

team-port2  df74a4c7-f8ff-4ae3-b04f-3dd1210598cd  802-3-ethernet  --     

team0       64021ca5-85c3-429d-b930-56802dc0ccc4  team            --

2.删除eth0和eth1的连接

[root@compute network-scripts]# nmcli con del eth0 eth1

3再次查看发现team0及slave接口正常连接到设备

[root@compute ~]# nmcli con sh

NAME        UUID                                  TYPE            DEVICE 

team-port1  757648c4-114f-439f-b022-5bcf63ae0cb3  802-3-ethernet  eth0   

team-port2  df74a4c7-f8ff-4ae3-b04f-3dd1210598cd  802-3-ethernet  eth1   

team0       64021ca5-85c3-429d-b930-56802dc0ccc4  team            team0

4.查看team0接口状态并测试连通性

[root@compute ~]# ip a

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

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

    inet 127.0.0.1/8 scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host 

       valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master team0 state UP qlen 1000

    link/ether 00:0c:29:4f:fd:82 brd ff:ff:ff:ff:ff:ff

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master team0 state UP qlen 1000

    link/ether 00:0c:29:4f:fd:82 brd ff:ff:ff:ff:ff:ff

4: team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000

    link/ether 00:0c:29:4f:fd:82 brd ff:ff:ff:ff:ff:ff

    inet 192.168.0.222/16 brd 192.168.255.255 scope global team0

       valid_lft forever preferred_lft forever

    inet6 fe80::ac47:e724:cd16:c5ca/64 scope link tentative dadfailed 

       valid_lft forever preferred_lft forever

    inet6 fe80::acce:9394:eafe:57bb/64 scope link tentative dadfailed 

       valid_lft forever preferred_lft forever

    inet6 fe80::e1a2:77fd:6148:c7c6/64 scope link tentative dadfailed 

       valid_lft forever preferred_lft forever

[root@compute ~]# ping baidu.com

PING baidu.com (111.13.101.208) 56(84) bytes of data.

64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=1 ttl=52 time=30.6 ms

64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=1 ttl=52 time=30.7 ms (DUP!)

^C

--- baidu.com ping statistics ---

1 packets transmitted, 1 received, +1 duplicates, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 30.684/30.696/30.708/0.012 ms

[root@compute ~]#

注意测试中出现以下状况是由于交换机端没有做端口聚合配置造成

[root@compute ~]# ping baidu.com

PING baidu.com (111.13.101.208) 56(84) bytes of data.

64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=1 ttl=52 time=28.2 ms

64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=1 ttl=52 time=28.2 ms (DUP!)

64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=2 ttl=52 time=29.2 ms

64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=2 ttl=52 time=29.2 ms (DUP!)

64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=3 ttl=52 time=29.8 ms

64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=3 ttl=52 time=29.9 ms (DUP!)

64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=4 ttl=52 time=27.7 ms

64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=4 ttl=52 time=27.7 ms (DUP

转自:著作权归作者所有:来自51CTO博客作者BigManer的原创作品,如需转载,请注明出处,否则将追究法律责任

 

Centos7网卡绑定的方法的更多相关文章

  1. Centos7网卡绑定的两种方法

    https://blog.51cto.com/youdong/1963416 选择模式4,并且layer选择3+4,交换机要配置LAG 一.传统的bond方式 (1)bond几种主要模式介绍 ü mo ...

  2. Centos7 / RHEL 7 双网卡绑定

    http://www.cnblogs.com/hukey/p/6224969.html 1. 简要    双网卡绑定技术在centos7中使用了teaming技术,而在rhel6/centos7中使用 ...

  3. [转帖]ESXi 网卡绑定 增加吞吐量的方法

    VMware ESX 5.0 网卡负载均衡配置3种方法 http://blog.chinaunix.net/uid-186064-id-3984942.html (1) 基于端口的负载均衡 (Rout ...

  4. LINUX修改、增加IP的方法,一张网卡绑定多个IP/漂移IP【转】

    临时增加IP命令:ifconfig eth0:1 ip地址 netmask 子网码 broadcast 广播地址 gateway 网关  ifconfig eth0:1 10.1.104.65 net ...

  5. 不同linux下两网卡绑定方法

    记得原来在做性能测试时,为了提高网络吞吐率.必须将两个网卡绑定一起工作.绑定方法如下: 一.CentOS 配置   1.编辑虚拟网络接口配置文件,指定网卡IP: # vi /etc/sysconfig ...

  6. centos7中的网卡一致性命名规则、网卡重命名方法

    一致性网络设备命名(Consistent Network Device Naming) 背景介绍: 在centos5的时候,我们习惯了eth0这样的网络设备命名,在centos6发现网络设备变成了em ...

  7. Centos7多网卡绑定操作,通过nmcli命令操作。

    运行 ip link 命令查看系统中可用的接口1.创建bond网卡nmcli con add type team con-name team0 ifname team0 config '{" ...

  8. linux系统下单网卡绑定多个IP地址方法

    说明: 操作系统:CentOS 6.2 IP地址:192.168.21.164 子网掩码:255.255.255.0 网关:192.168.21.2 问题: 现在要增加一个IP地址:192.168.2 ...

  9. Centos7 team 绑定多网卡

    1.nmcli connection show 查看所有的网络连接 nmcli connection show 接下来我们要使用 ens37 ens38 两个网卡绑定 , 绑定的网卡取名: agg-e ...

随机推荐

  1. Python_字符串处理方法

    1.字符串转换 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 1.字符串复制 #s ...

  2. python杂乱知识点

    1. =  == is =: ==:比较 值是否相等 is:比较,比较的是内存地址 2. id(内容):得到内容的起始内存地址 3.数字,字符串,存在小数据池的概念,如果如果创建了一样的数字或者字符串 ...

  3. Linux(centos6.8)配置Mysql环境

    1.下载mysql安装包 https://downloads.mysql.com/archives/community/ 2.查询mysql信息 [1]查询mysql是否已经安装 [root@plut ...

  4. C# 中的本地函数

    今天我们来聊一聊 C# 中的本地函数.本地函数是从 C# 7.0 开始引入,并在 C# 8.0 和 C# 9.0 中加以完善的. 引入本地函数的原因 我们来看一下微软 C# 语言首席设计师 Mads ...

  5. RSA脚本环境配置-攻防世界-OldDriver

    [Crypto] 题目链接 [RSA算法解密] 审题分析 首先拿到一个压缩包,解压得到文件enc.txt. 先不用去管其他,第一眼enc马上联想到 RSA解密.接着往下看 [{"c" ...

  6. Vue3 Teleport

    为什么需要 Teleport? 以 Dialog 组件为例,通常需要在一个组件中引入 Dialog 组件.然而,有时一部分逻辑属于 Dialog 所在的组件中,从技术角度来看,最好将这一部分移动到根节 ...

  7. iOS图文混排的几种方式

    最近优化升级了之前做的一个项目,现在这一期已接近尾声了,今天可以腾出些时间总结一下最近项目中用的比较多的图片文字混排显示的内容.现在遇到比较多的图文混排的基本有三种:一种是在标签中显示 价格符号+价格 ...

  8. wraps装饰器的使用

    functools模块中的wraps装饰器 说明 使用functools模块提供的wraps装饰器可以避免被装饰的函数的特殊属性被更改,如函数名称__name__被更改.如果不使用该装饰器,则会导致函 ...

  9. wsgi_uwsgi_nginx

    1.一些重要概念 https://www.cnblogs.com/xiaonq/p/8932266.html 1.1 web容器 什么是web容器 1.web容器是帮助我们部署java.php.pyt ...

  10. 一枚程序猿的MacBook M1详细体验报告

    前言 2020年11月11日双十一上午,苹果发布了M1芯片的新款Mac,其最大的变化就是将处理器从Intel换成了苹果自研的ARM芯片M1. 上一次苹果更换Mac芯片要追溯到2006年,14年前,苹果 ...