RHEL系统配置主备网卡冗余

首先停止NetworkManager服务

配置“绑定网卡bond”的文件

[root@localhost network-scripts]# cat ifcfg-bond0 
DEVICE=bond0
BOOTPROTO=static
ONBOOT=yes
TYPE=Bond
IPADDR=192.168.149.211
GATEWAY=192.168.149.252
NETMASK=255.255.255.0
USERCTL=no                #是否允许非root用户控制该设备,设置为no,只能用root用户更改
BONDING_MASTER=yes
BONDING_OPTS="miimon=80 mode=6 primary=ens192"

上面的BONDING_OPTS="mode=6 miimon=80 primary=ens192" 表示这里配置的工作模式是mode6(adaptive load balancing), miimon表示监视网络链接的频度 (毫秒), 我们设置的是80毫秒, 根据你的需求也可以指定mode成其它的负载模式。

修改物理网卡的配置

[root@localhost network-scripts]# cat ifcfg-ens192 
DEVICE=ens192
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
MASTER=bond0
slave=yes

[root@localhost network-scripts]# cat ifcfg-ens224 
DEVICE=ens224
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
MASTER=bond0
slave=yes

配置 bond 网卡参数

[root@localhost network-scripts]# cat /etc/modprobe.d/bonding.conf 
alias bond0 bonding
options bond0 miimon=80 mode=1

使其开机自启

[root@localhost ~]# cat /etc/rc.d/rc.local 
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
ifenslave bond0 ens192 ens224
# ifenslave bond0 ens225 ens226

重启网络服务

 检查网卡信息可以加载出 bond0

[root@localhost ~]# ifconfig 
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
        inet 192.168.149.211  netmask 255.255.255.0  broadcast 192.168.149.255
        inet6 fe80::250:56ff:fe82:ee18  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:82:ee:18  txqueuelen 1000  (Ethernet)
        RX packets 1180694  bytes 73089091 (69.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 505  bytes 61003 (59.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens192: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 00:50:56:82:ee:18  txqueuelen 1000  (Ethernet)
        RX packets 590776  bytes 36581370 (34.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 505  bytes 61003 (59.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens224: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 00:50:56:82:ee:18  txqueuelen 1000  (Ethernet)
        RX packets 589918  bytes 36507721 (34.8 MiB)
        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

Bonding 技术:

bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载等功能,有很多优势。

bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动)。使用它需要系统有这个模块, 我们可以modinfo bonding查看下这个模块的信息, 一般来说都支持.

bonding的工作模式:

bonding技术提供了七种工作模式,在使用的时候需要指定一种,每种有各自的优缺点.

  1. balance-rr (mode=0) 默认, 有高可用 (容错) 和负载均衡的功能, 需要交换机的配置,每块网卡轮询发包 (流量分发比较均衡).
  2. active-backup (mode=1) 只有高可用 (容错) 功能, 不需要交换机配置, 这种模式只有一块网卡工作, 对外只有一个mac地址。缺点是端口利用率比较低
  3. balance-xor (mode=2) 不常用
  4. broadcast (mode=3) 不常用
  5. 802.3ad (mode=4) IEEE 802.3ad 动态链路聚合,需要交换机配置,没用过
  6. balance-tlb (mode=5) 不常用
  7. balance-alb (mode=6) 有高可用 ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接口不是特别均衡)

一般会用到0、1、4、6这几种模式。

总结:

active-backup(Mode 1)、balance-tlb(Mode 5) 和 balance-alb(Mode 6) 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和 EtherChannel

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值