设为首页 收藏本站
查看: 1139|回复: 0

[经验分享] RHEL7聚合网络

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-6-1 09:14:24 | 显示全部楼层 |阅读模式
实际生产环境中,大公司的网络要求是比较严格的,特别是针对有特别服务的服务器,是要求不能出现问题的。要保证365x24的运行,以便提供更好的服务。还有,针对流量访问大的服务,还要求提供负载均衡,保证服务器不会出现访问拥堵的情况。本实验,我们简单介绍下Linux环境中的的聚合网络,通过多块网卡的绑定实现负载和容错的功能。



1.课程目标
  • 了解什么是聚合网络;
  • 了解聚合网络的作用、益处;
  • 掌握聚合网络的配置;
  • 能够单独熟练运用聚合网络。



2.添加网卡
首先,关闭虚拟机,添加两块网卡。此过程不在赘述,相信大家都OK的!添加后如下:
wKioL1VoXp2DOI22AAJUReAQTpc729.jpg
在虚拟机环境中,①&②两块网卡要在同一个桥接模式。添加好后,点击【开启此虚拟机】开机。



3.nmcli的使用
根据以往的经验,在虚拟机中,关机之后添加的网卡,再次开机是不会自动生成配置文件的,但是ifconfig可以查看的到。
Ifconfig查看网卡信息
[iyunv@freeit ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fe70:f064  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:70:f0:64  txqueuelen 1000  (Ethernet)
        RX packets 122  bytes 16482 (16.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 71  bytes 12785 (12.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:70:f0:6e  txqueuelen 1000  (Ethernet)
        RX packets 17  bytes 4171 (4.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:70:f0:78  txqueuelen 1000  (Ethernet)
        RX packets 17  bytes 4171 (4.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
注:
  • 在RHEL7系统中,网卡的默认显示名是BIOS读取设备信息之后取的,如:第一块网卡名为eno16777736。此处显示eth0、eth1、eth2是因为之前人工修改了第一块网卡名为eth0,所以之后添加的网卡默认为eth1、eth2……


查看网卡配置文件文件
[iyunv@freeit ~]# ls /etc/sysconfig/network-scripts/
ifcfg-eno16777736.bak  ifdown-post      ifup-eth     ifup-Team
ifcfg-eth0             ifdown-ppp       ifup-ippp    ifup-TeamPort
ifcfg-lo               ifdown-routes    ifup-ipv6    ifup-tunnel
ifcfg-Profile_1        ifdown-sit       ifup-isdn    ifup-wireless
ifdown                 ifdown-Team      ifup-plip    init.ipv6-global
ifdown-bnep            ifdown-TeamPort  ifup-plusb   network-functions
ifdown-eth             ifdown-tunnel    ifup-post    network-functions-ipv6
ifdown-ippp            ifup             ifup-ppp
ifdown-ipv6            ifup-aliases     ifup-routes
ifdown-isdn            ifup-bnep        ifup-sit
如上:只有ifcfg-eth0的配置文件,没有另外两块网卡的配置文件。而此时的eth1、eth2处于未活动状态,还没有active。
按照之前在RHEL6及之前系统中的实验做法,是把eth0的文件复制之后修改其配置信息为eth1的,然后重启网络服务,让eth1处于active状态。但是这种做法是没办法修改网卡的UUID的(UUID为系统自动分配的设备唯一标示符。针对此,下面我们将介绍一种更好的生成新增网卡配置文件的方式,就是使用nmcli命令。

nmcli是在RHEL7中一个管理NetworkManager很方便工具,会自动把配置文件写到/etc/sysconfig/network-scripts下,下面就看其具体使用。

在生成网卡配置文件之前,我们先查看下当前网卡标示信息,查看那些网卡为active状态
[iyunv@freeit ~]# nmcli connection show
NAME       UUID                                  TYPE            DEVICE
Profile 1  3dc840bd-b13f-4e51-b1ac-6fe0a9dcc498  802-3-ethernet  eth0   
如上:现在只有缺省的eth0。还没有另外两块网卡信息。

使用nmcli添加eth1、eth2的配置文件信息并激活两块网卡
[iyunv@freeit ~]# nmcli connection add con-name eth1 type ethernet ifname eth1
//add添加名为eth1的网卡,类型为以太网,物理设备名字为eth1(如果没改en16777736为eth0的话默认就是原设备名)
Connection 'eth1' (042d6385-8670-4dcd-91c4-989e4924df66) successfully added.
[iyunv@freeit ~]# nmcli connection add con-name eth2 type ethernet ifname eth2
Connection 'eth2' (36e513bf-07b1-4ee7-b8be-b04aa3cd383e) successfully added.
------------------------------------------------添加成功之后查看------------------------------------------------
[iyunv@freeit ~]# nmcli connection show
NAME       UUID                                  TYPE            DEVICE
eth2       36e513bf-07b1-4ee7-b8be-b04aa3cd383e  802-3-ethernet  eth2   
eth1       042d6385-8670-4dcd-91c4-989e4924df66  802-3-ethernet  eth1   
Profile 1  3dc840bd-b13f-4e51-b1ac-6fe0a9dcc498  802-3-ethernet  eth0  

查看是否生成配置文件
[iyunv@freeit ~]# ls /etc/sysconfig/network-scripts/
ifcfg-eno16777736.bak  ifdown-ipv6      ifup-aliases  ifup-routes
ifcfg-eth0             ifdown-isdn      ifup-bnep     ifup-sit
ifcfg-eth1             ifdown-post      ifup-eth      ifup-Team
ifcfg-eth2             ifdown-ppp       ifup-ippp     ifup-TeamPort
如上,使用nmcli之后,自动生成了网卡配置文件,并active了网卡。

以eth1为例,使用nmcli为eth1设置IP地址
[iyunv@freeit network-scripts]# nmcli connection modify eth1 ipv4.addresses "172.16.30.100/24" ipv4.method manual
[iyunv@freeit network-scripts]# nmcli connection up eth1
//启用此网卡
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
[iyunv@freeit network-scripts]# ifconfig eth1
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.30.100  netmask 255.255.255.0  broadcast 172.16.30.255
        inet6 fe80::20c:29ff:fe70:f06e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:70:f0:6e  txqueuelen 1000  (Ethernet)
        RX packets 132  bytes 21376 (20.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 117  bytes 13546 (13.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

除了使用上面的一条命令直接设置外,还可以分步骤设置,如下:
[iyunv@freeit ~]# nmcli con edit "eth1"
//打开编辑模式
===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'eth1'

Type 'help' or '?' for available commands.
Type 'describe [<setting>.<prop>]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> set ipv4.addresses  172.16.30.100/24 172.16.30.1
//设置IP地址
nmcli> save
//保存设置
Connection 'eth1' (042d6385-8670-4dcd-91c4-989e4924df66) successfully updated.
nmcli> activate eth1
//激活网卡
Monitoring connection activation (press any key to continue)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

nmcli> quit
//退出编辑模式



4.聚合网络设置
聚合网络的原理
wKioL1VoXsCgx2bmAAA0D0KYfUQ699.jpg
真实的ip地址并不是在物理网卡上设置的,而是把两个或多个物理网卡聚合成一个虚拟的网卡,在虚拟网卡上设置地址,而外部网络访问本机时,就是访问的这个虚拟网卡的地址,虚拟网卡接到数据后经过两个网卡的负载交给服务器处理。如果一块网卡出现问题,则通过另一块传递数据,保证正常通信。此原理与CISCO的HSRP协议相似,懂网络的同学理解更容易。

本部分实验我们将详细介绍网卡的绑定,实现聚合网络以达到负载和容错的能力。
聚合网络实验过程中,添加的两块新网卡可以不是active状态,甚至nmcli connect show查看没有新添加的网卡信息。也可以使active状态的网卡。前者聚合后的网络,eth1&eth2的MAC地址是一样的,而后者聚合后的网络,eth1&eth2的MAC地址是不一样的。本实验接着上部分实验继续。
添加虚拟网卡配置文件并设置策略自动激活(active)此虚拟网卡、自动容错切换
[iyunv@freeit ~]# nmcli connection add con-name team0 type team ifname team0 config '{"run":{"name":"activeback"}}'
//team类型、卡名team0为规定。无物理设备,名字可以填写虚拟的team0。Config后为策略,让网卡之间出问题时自动切换。
Connection 'team0' (8d0a1f5a-348f-4537-8adf-aaf87d106277) successfully added.
[iyunv@freeit ~]# nmcli connection show
NAME       UUID                                  TYPE            DEVICE
Profile 1  3dc840bd-b13f-4e51-b1ac-6fe0a9dcc498  802-3-ethernet  eth0   
eth2       36e513bf-07b1-4ee7-b8be-b04aa3cd383e  802-3-ethernet  eth2   
team0      8d0a1f5a-348f-4537-8adf-aaf87d106277  team            team0  

添加虚拟网卡之后,为其设置IP
[iyunv@freeit ~]# nmcli connection modify  team0 ipv4.addresses "172.16.30.100/24" ipv4.method manual connection.autoconnect yes
//设置自动连接

把两块网卡添加到team0中,即把两块网卡聚合在一起
[iyunv@freeit ~]# nmcli connection add con-name slave1 ifname eth1 type team-slave master team0
Connection 'slave1' (8abcd1af-21b3-4571-a72b-b5835228e570) successfully added.
[iyunv@freeit ~]# nmcli connection add con-name slave2 ifname eth2 type team-slave master team0  
Connection 'slave2' (824a0b75-bfe9-40a7-bd72-4c41a05cd763) successfully added.

查看聚合后的信息
[iyunv@freeit ~]# nmcli connection show
NAME       UUID                                  TYPE            DEVICE
Profile 1    3dc840bd-b13f-4e51-b1ac-6fe0a9dcc498  802-3-ethernet        eth0   
eth2       36e513bf-07b1-4ee7-b8be-b04aa3cd383e  802-3-ethernet       eth2   
slave2      824a0b75-bfe9-40a7-bd72-4c41a05cd763  802-3-ethernet       --     
slave1      8abcd1af-21b3-4571-a72b-b5835228e570  802-3-ethernet       eth1   
team0      8d0a1f5a-348f-4537-8adf-aaf87d106277  team                team0

启用网卡
[iyunv@freeit ~]# nmcli connection up team0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)

Ifconfig查看网卡信息
[iyunv@freeit ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fe70:f064  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:70:f0:64  txqueuelen 1000  (Ethernet)
        RX packets 1573  bytes 145080 (141.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1202  bytes 138099 (134.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:70:f0:6e  txqueuelen 1000  (Ethernet)
        RX packets 34  bytes 5999 (5.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 117  bytes 16308 (15.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:70:f0:78  txqueuelen 1000  (Ethernet)
        RX packets 181  bytes 26498 (25.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 137  bytes 13867 (13.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 6  bytes 560 (560.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 560 (560.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

team0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.30.100  netmask 255.255.255.0  broadcast 172.16.30.255
        inet6 fe80::20c:29ff:fe70:f06e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:70:f0:6e  txqueuelen 0  (Ethernet)
        RX packets 2  bytes 283 (283.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 54  bytes 7770 (7.5 KiB)
        TX errors 0  dropped 1 overruns 0  carrier 0  collisions 0
如上,启动之后,只有team0有地址,其余两个网卡为team0的负载网卡。

验证(请自行验证):
使用同网段的主机ping  team0地址:172.16.30.100,然后断开其中一块网卡的连接,可以看到ping仍然在继续,并没有断开。如果断开全部聚合的网卡,则ping中断。这也就体现了聚合网络的负载和容错能力。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-72656-1-1.html 上篇帖子: CentOS6.6禁用Ctrl+Alt+Del重启功能 下篇帖子: RHEL6子接口及双网卡绑定配置 网络
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表