前景须知:

在redhat6 中网卡叫bond,在redhat7及centos7中改名team,此处只记录centos7中双网卡主备搭建过程。

应用情景:实现网络的高可用,防止一条网线或交换机故障影响该物理机进行数据交互

此次环境是由于在上线业务之前是没有做Team的 ,现在由于要撤掉交换机过程期间需要将网线连接到另外一台交换机,为了防止数据中断,因此采用Team主备模式,这样断掉一个网卡就不影响业务,测试发现重启网卡时候会有3到4个丢包

环境:centos7  网卡1 ens192  网卡2 ens224

配置方法:

  1.创建组:

  

[root@bogon ~]# nmcli connection add type team ifname team0 con-name team0 config '{"runner":{"name":"activebackup"}}'

add  添加

    type  设备类型

  ifname 接口名

  con-name 连接名

  activebackup    Team的主备模式

  会在/etc/sysconfig/network-scripts目录下生成一个ifcfg-team0的配置文件

  2.创建组接口地址:

[root@bogon ~]# nmcli connection modify team0 ip4 10.11.27.200/  gw4 10.11.27.1

  ip4  设置ipv4的ip及掩码

  gw4 设置网关

[root@bogon ~]# nmcli connection modify team0 ipv4.method manual

  ipv4.method manual  设置ipv4地址为静态地址非dhcp

  3.添加网卡到(Team)组

[root@bogon ~]# nmcli connection add ifname ens192 con-name team0-port1 type team-slave master team0   
[root@bogon ~]# nmcli connection add ifname ens224 con-name team0-port2 type team-slave master team0 

  会在/etc/sysconfig/network-scripts 目录生成ifcfg-team0-port1 ifcfg-team0-port2两个配置文件

  4.由于我这里配置team0的ip是我之前网卡ens192的ip ,为了避免冲突在重启网卡前需要将ens192的网卡配置清除。

   如果是初始配置,则不需要此步骤

[root@bogon ~]# mv /etc/sysconfig/network-scripts/ifcfg-ens192 /home/wxl/

  5.重启网卡服务

[root@bogon ~]# systemctl restart network

  配置完毕

  重启网卡之前在另外一台机器一直ping此服务器则可以检测到网路中断的时间。

  6.查看team0的状态

[root@bogon ~]# teamdctl team0 state
setup:
runner: activebackup #当前运行的模式 主备
ports:                         #绑定的网卡信息               
ens192
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up #此网卡当前运行情况up则表示正常
down count:
ens224
link watches:
link summary: down
instance[link_watch_0]:
name: ethtool
link: down #down表示此网卡被关闭
down count:
runner:
active port: ens192 #当前主网卡使用的是ens192

 7.测试则可以拔掉一根网线或者停掉一个网卡进行测试,找一台机器一直ping着team0的ip观察是否网络会中断

模拟ens2故障:

[root@bogon ~]# teamdctl team0 state
setup:
runner: activebackup
ports:
ens192
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count:
ens224
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count:
runner:
active port: ens192
[root@bogon ~]# ip link set ens224 down
[root@bogon ~]# teamdctl team0 state
setup:
runner: activebackup
ports:
ens192
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count:
ens224
link watches:
link summary: down
instance[link_watch_0]:
name: ethtool
link: down
down count:
runner:
active port: ens192 查看网络情况正常

[#@bh ~]$ ping 10.11.27.200
PING 10.11.27.200 (10.11.27.200) 56(84) bytes of data.
64 bytes from 10.11.27.200: icmp_seq=1 ttl=61 time=12.1 ms
64 bytes from 10.11.27.200: icmp_seq=2 ttl=61 time=12.6 ms
64 bytes from 10.11.27.200: icmp_seq=3 ttl=61 time=12.0 ms
64 bytes from 10.11.27.200: icmp_seq=4 ttl=61 time=11.5 ms
64 bytes from 10.11.27.200: icmp_seq=5 ttl=61 time=11.6 ms
64 bytes from 10.11.27.200: icmp_seq=6 ttl=61 time=12.3 ms


==============================================================================================

nmcli 命令集

显示当先网络设备状态:nmcli dev

显示所有网络连接:nmcli con show
显示活动网络连接:nmcli con show -active
显示指定网络连接的详情:nmcli con show eno16777728
显示网络设备连接状态:nmcli dev status
显示所有网络设备的详情:nmcli dev show
显示指定网络设备的详情:nmcli dev show eno16777728

启用网络连接:nmcli con up eno16777728

停用网络连接(可被自动激活):nmcli con down eno33554960
禁用网卡,防止被自动激活:nmcli dev dis eth0 
删除网络连接的配置文件:nmcli con del eno33554960
重新加载配置网络配置文件:nmcli con reload

动态获取IP方式的网络连接配置:nmcli con add con-name eno16777728 type ethernet ifname eno16777728
指定静态IP方式的网络连接配置:nmcli con add con-name eno16777728 ifname eno16777728 autoconnect yes type ethernet ip4 10.1.254.254/16 gw4 10.1.0.1

启用/关闭所有的网络连接:nmcli net on/off
禁用网络设备并防止自动激活:nmcli con dis eno33554960
查看添加网络连接配置的帮助:nmcli con add help

修改网络连接单项参数
nmcli con mod IF-NAME connection.autoconnect yes修改为自动连接
nmcli con mod IF-NAME ipv4.method manual | dhcp修改IP地址是静态还是DHCP
nmcli con mod IF-NAME ipv4.addresses “172.25.X.10/24 172.25.X.254”修改IP配置及网关
nmcli con mod IF-NAME ipv4.gateway 10.1.0.1修改默认网关
nmcli con mod IF-NAME +ipv4.addresses 10.10.10.10/16添加第二个IP地址
nmcli con mod IF-NAME ipv4.dns 114.114.114.114添加dns1
nmcli con mod IF-NAME +ipv4.dns  8.8.8.8添加dns2
nmcli con mod IF-NAME -ipv4.dns  8.8.8.8删除dns

nmcli命令修改所对应的文件条目
nmcli con mod           ifcfg-* 文件
ipv4.method manual       BOOTPROTO=none
ipv4.method auto         BOOTPROTO=dhcp
connection.id eth0        NAME=eth0
(ipv4.addresses          IPADDR0=192.0.2.1
“192.0.2.1/24           PREFIX0=24
192.0.2.254”)           GATEWAY0=192.0.2.254
ipv4.dns 8.8.8.8        DNS0=8.8.8.8
pv4.dns-search example.com   DOMAIN=example.com
pv4.ignore-auto-dns true    PEERDNS=no
connection.autoconnect yes   ONBOOT=yes
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address... HWADDR=...

centos7 搭建双网卡bond1(主备模式)实例的更多相关文章

  1. Centos7.6部署k8s v1.16.4高可用集群(主备模式)

    一.部署环境 主机列表: 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 master01 7.6. ...

  2. RHEL7 下双网卡绑定做主备(冗余)

    应用环境:在生产环境中,为了提高网络容错或吞吐量,一般服务器都会采取多网卡绑定的策略(此处只讲主备模式).  在RedHat 6.x下一般叫网卡做“bond”,在7.x版本中改名叫“Team”. 测试 ...

  3. 【 Keepalived 】Nginx or Http 主-备模式

    一.主-备模式: 操作系统:centos 6.4 x64 ka1: 192.168.2.10 ka2: 192.168.2.11 vip: 192.168.2.200 ka1-master服务器配置 ...

  4. springboot整合ActiveMQ 2(主备模式,负载均衡)

    基本使用,https://www.tapme.top/blog/detail/2018-09-05-10-38 主备模式,https://www.tapme.top/blog/detail/2018- ...

  5. Nginx+keepalived(高可用主备模式)

    Nginx+keepalived(高可用主备模式) 环境:centos6.7 准备:两台服务器(虚拟机).两台应用(Tomcat).Nginx.keepalived server1:192.168.2 ...

  6. (转)深度分析Linux下双网卡绑定七种模式

    现在一般的企业都会 使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在 网卡产商也会出一些针对window ...

  7. 深度分析Linux下双网卡绑定七种模式 多网卡的7种bond模式原理

    http://blog.csdn.net/abc_ii/article/details/9991845多网卡的7种bond模式原理 Linux网卡绑定mode共有七种(~) bond0.bond1.b ...

  8. 深度分析Linux下双网卡绑定七种模式

    现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操 ...

  9. 搭建和测试 Redis 主备和集群

    本文章只是自我学习用,不适宜转载. 1. Redis主备集群 1.1 搭建步骤 机器:海航云虚机(2核4GB内存),使用 Centos 7.2 64bit 操作系统,IP 分别是 192.168.10 ...

随机推荐

  1. 在Entity Framework 中实现继承关系映射到数据库表

    继承关系映射到数据库表中有多种方式: 第一种:TPH(table-per-hiaerachy) 每一层次一张表 (只有一张表) 仅使用名为父类的类型名的一张表,它包含了各个子类的所有属性信息,使用区分 ...

  2. c语言函数参考

                                                                                                        ...

  3. TP5之安全机制

    防止sql注入 1.查询条件尽量使用数组方式,具体如下: $wheres = array(); $wheres['account'] = $account; $wheres['password'] = ...

  4. PTA 模拟,【放着一定要写哈哈哈哈哈】(据说用string哟)

    实现一种简单原始的文件相似度计算,即以两文件的公共词汇占总词汇的比例来定义相似度.为简化问题,这里不考虑中文(因为分词太难了),只考虑长度不小于3.且不超过10的英文单词,长度超过10的只考虑前10个 ...

  5. Unity插值函数Lerp()与增量时间Time.deltatime

    一.Unity插值函数Lerp() 通过官方文档简单了解插值函数(https://docs.unity3d.com/ScriptReference/index.html),可以看到插值函数有很多 Ma ...

  6. Swift @objcMembers

    使用@objcMembers关键字,将类中的所有方法暴露给Objc (效果等同于为所有方法加上@objc). 示例代码: @objcMembers class MyController: UIView ...

  7. 1-docker基础

    docker有三个基本概念:镜像/容器/仓库 镜像:一个完整的root文件系统,但并非一个iso的打包文件,而是使用分层存储.构建镜像时,是一层一层的.新的镜像,也可以在原有镜像上添加新层. 容器:是 ...

  8. Folding UVA - 1630

    题目 ans[i][j]表示由原串第i个字符到第j个字符组成的子串的最短折叠长度如果从i到j本身可以折叠,长度就是本身长度或折叠后的长度的最小值***此处参考:http://blog.csdn.net ...

  9. 那些坑爹的python面试题

    python基础知识思维导图 MyProcessOn Python基础: 说说你眼中的python( 2 ) 谈谈你对python和其他语言的区别 1. python 中,变量是以内容为基准而不是像 ...

  10. PHP获取今天开始和结束的时间戳、每周开始结束的时间戳、每月开始结束的时间戳

    PHP获取今天内的时间 今天开始和结束的时间戳 $t = time(); $start = mktime(0,0,0,date("m",$t),date("d" ...