阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux配置双网卡绑定实现负载均衡和高可用性配置

148次阅读
没有评论

共计 1443 个字符,预计需要花费 4 分钟才能阅读完成。

1. Bonding 简述

双网卡配置设置虚拟为一个网卡实现网卡的冗余,其中一个网卡坏掉后网络通信仍可正常使用,实现网卡层面的负载均衡和高可用性

1.1 Bonding 原理

网卡工作在混杂(promisc)模式,接收到达网卡的所有数据包,tcpdump 工作用的也是混杂模式(promisc),将两块网卡的 MAC 地址修改为相同接收特定 MAC 的数据帧,然后把相应的数据帧传送给 bond 驱动程序进行处理。

1.2 Bonding 模式

  • 轮询策略,值为 0,按照设备顺序依次传输数据包,提供负载均衡和容错能力

  • 主备策略,值为 1,只有主网卡处于工作状态,备网卡处于备用状态,主网卡坏掉后备网卡开始工作,提供容错能力

  • 异或策略,值为 2,根据源 MAC 地址和目的 MAC 地址进行异或计算的结果来选择传输设备,提供负载均衡和容错能力

  • 广播策略,值为 3,将所有数据包传输给所有接口通过全部设备来传输所有数据,一个报文会复制两份通过 bond 下的两个网卡分别发送出去,提供高容错能力

  • 动态链接聚合,值为 4,按照 802.3ad 协议的聚合自动配置来共享相同的传输速度,网卡带宽最高可以翻倍,链路聚合控制协议(LACP)自动通知交换机聚合哪些端口,需要交换机支持 802.3ad 协议,提供容错能力

  • 输出负载均衡模式,值为 5,输出负载均衡模式,只有输出实现负载均衡,输入数据时则只选定其中一块网卡接收,需要网卡和驱动支持 ethtool 命令

  • 输入 / 输出负载均衡模式,值为 6,输入和输出都实现负载均衡,需要网卡和驱动支持 ethtool 命令

2. 配置步骤

  1. 进入网卡配置目录
# cd /etc/sysconfig/network-scripts
  1. 创建双网卡绑定配置文件
# vi ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.1.3
NETMASK=255.255.255.0
#GATEWAY=192.168.1.254
ONBOOT=yes
USERCTL=no
MOCK=yes
NM_Cmock=no
BONDING_OPTS="mode=1 miimon=100"
  1. 修改绑定网卡

建议:在网卡绑定前,先对先前的网卡配置信息进行备份

  • 修改网卡 1 配置
# vi ifcfg-em1
DEVICE=em1
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethemet
USERCTL=no
MASTER=bond0
SLAVE=yes
  • 修改网卡 2 配置
# vi ifcfg-em2
DEVICE=em2
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethemet
USERCTL=no
MASTER=bond0
SLAVE=yes
  1. 配置 modprobe 参数

注意:RedHat6 以后没有了 modprobe.conf 这个配置文件。

vi /etc/modprobe.d/dist.conf
alias bond0 bonding
-- options bond0 中 mode= 1 表示的是网卡互备
options bond0 mode=1 miimon=50
  1. 关闭网络管理程序
# service  NetworkManager stop 
# chkconfig NetworkManager off
  1. 重启网络

说明:如果重启网络后不能 ping 通网络,需要重启一下机器。

# service network restart
  1. 查看当前使用网卡信息
# cat /proc/net/bonding/bond0

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-11/148410.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计1443字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中