当前位置: 首页 > article >正文

teaming技术

一.介绍

在CentOS 6与RHEL 6系统中,双网卡绑定采用的是bonding技术。到了CentOS 7,不仅能继续沿用bonding,还新增了teaming技术。在此推荐使用teaming,因其在查看与监控方面更为便捷 。

二.原理

这里介绍两种最常见的双网卡绑定模式:

(1) roundrobin - 轮询模式

        所有链路处于负载均衡状态,这种模式的特点增加了带宽,同时支持容错能力。

部署——

(说明:要用kvm做,如果用VMware做会出问题)

1.准备两块网卡

[root@kvm ~]# virsh attach-interface vm-1 --type bridge --source virbr0 --persistent       

#添加网卡

[root@teaming ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
IPADDR=192.168.122.100
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
DNS1=114.114.114.114
ONBOOT=yes
BOOTPROTO=none
[root@teaming ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens9
DEVICE=ens9
NAME=ens9
IPADDR=192.168.122.200
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
DNS1=114.114.114.114
ONBOOT=yes
BOOTPROTO=none

2.重启网络并开启NetworkManager

[root@teaming ~]# systemctl restart network        #重启网络

[root@teaming ~]# systemctl start NetworkManager        #启动NetworkManager服务

3.配置teaming

[root@teaming ~]# yum install teamd        #安装管理 team 设备的工具

[root@teaming ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"roundrobin"}}'        #添加轮询模式团队连接

[root@teaming ~]# nmcli connection modify team0 ipv4.addresses 192.168.122.100/24 ipv4.gateway 192.168.122.1 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes

#修改团队连接网络配置

[root@teaming ~]# cat /etc/sysconfig/network-scripts/ifcfg-team0
TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=team0
UUID=b6b9a81d-3afd-4344-9f87-6ca1e1bc5dbb
DEVICE=team0
ONBOOT=yes
DEVICETYPE=Team
IPADDR=192.168.122.100
PREFIX=24
GATEWAY=192.168.122.1
DNS1=114.114.114.114
添加成功!

[root@teaming ~]# nmcli connection add type team-slave con-name team0-slave1 ifname eth0 master team0        #添加eth0至团队连接

[root@teaming ~]#  nmcli connection add type team-slave con-name team0-slave2 ifname ens9 master team0        #添加ens9至团队连接

[root@teaming ~]# nmcli connection show         #配置好了就会变成这个样子

[root@teaming ~]# teamdctl team0 st        #查看是否为轮询模式roundrobin

[root@teaming ~]# nmcli connection up team0        #激活

[root@teaming ~]# nmcli connection show        #显示网络连接配置信息

[root@teaming ~]# nmcli connection up team0-slave1       

#激活team0从连接配置team0-slave1

[root@teaming ~]# nmcli connection up team0-slave2

#激活team0从连接配置team0-slave2

[root@teaming ~]# nmcli connection show        #显示网络连接配置信息

4.测试

开两个终端以及一台客户机进行测试

[root@teaming ~]# yum install tcpdump        #安装tcpdump

终端1:

[root@teaming ~]# tcpdump -nn -i eth0 icmp        #在eth0抓icmp包信息

终端2:

[root@haproxy ~]# tcpdump -nn -i ens9 icmp        #在ens9抓icmp包信息

客户机:

[root@kvm ~]# ping 192.168.122.100

(2) activebackup - 主备模式

 一个网卡处于活动状态,另一个处于备份状态,所有流量都在主链路上处理,当活动网卡down掉时,启用备份网卡。

部署——

1.准备两块网卡

前面准备了就不用再准备了,如果没有准备就去准备一下,方法在上面。 

2.配置teaming

方法一:直接改配置文件

[root@teaming ~]# cat /etc/sysconfig/network-scripts/ifcfg-team0
TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=team0
UUID=b6b9a81d-3afd-4344-9f87-6ca1e1bc5dbb
DEVICE=team0
ONBOOT=yes
DEVICETYPE=Team
IPADDR=192.168.122.100
PREFIX=24
GATEWAY=192.168.122.1
DNS1=114.114.114.114

(就改这一个地方就行)

[root@teaming ~]# systemctl restart network        #重启网卡

[root@teaming ~]# teamdctl team0 st        #查看是否为主备模式activebackup

(配置成功)

[root@teaming ~]# nmcli connection up team0-slave1        #激活

[root@teaming ~]# nmcli connection up team0-slave2

 [root@teaming ~]# nmcli connection show

(这就配置好了,然后进行测试)

方法二:把team0配置文件删了,重新再敲一遍命令

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

只有这不一样,剩下的和上面的轮询配置完全一样。

3.测试

开三个终端以及一台客户机进行测试

[root@teaming ~]# yum install tcpdump        #安装tcpdump

终端1:

[root@teaming ~]# tcpdump -nn -i eth0 icmp        #抓包

终端2:

[root@haproxy ~]# tcpdump -nn -i ens9 icmp

客户机:

[root@kvm ~]# ping 192.168.122.100

 

终端3:


http://www.kler.cn/a/594970.html

相关文章:

  • Python深浅拷贝
  • 【QA】装饰模式在Qt中有哪些运用?
  • 服务器——报错解决:移动文件时,bash: /usr/bin/mv: Argument list too long
  • Java基础关键_027_IO流(五)
  • 软考-软件设计师-程序设计语言
  • 数据结构——顺序栈seq_stack
  • 力扣刷题——143.重排链表
  • 多数据源@DS和@Transactional踩坑之路
  • 【负载均衡系列】Nginx
  • 到底爱不爱我
  • stm32-定时器
  • GITLAB部署安装教程
  • JNI介绍
  • 算法及数据结构系列 - 二分查找
  • 游戏引擎学习第172天
  • 深度解析历年蓝桥杯算法题,助力提升编程技能
  • Saga 模式实战 Demo
  • Compose 实践与探索十五 —— 自定义触摸
  • Prometheus Exporter系列-Postgres_Exporter一键部署
  • Java 大视界 -- Java 大数据分布式计算中的通信优化与网络拓扑设计(145)