前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 双网卡绑定实践

Linux 双网卡绑定实践

作者头像
星哥玩云
发布2022-07-04 13:31:00
4K0
发布2022-07-04 13:31:00
举报
文章被收录于专栏:开源部署
前言

工作中主要以SUSE为主,网络作为整个高可用架构中最重要的环节之一,在物理上一般是双网卡绑定模式,通常使用默认的mode=1(active-backup)作为主备关系。

在最近测试大数据的生产服务器中,考虑到性能优先,所以将绑定模式设置为mode=6(balance-alb),使用负载均衡提高1倍流量。与此同时针对SuSE HA架构由Skybility HA往Corosync/Openais+Pacemaker 的测试过程中,配合网络交换机Port Channel链路聚合采用mode=0(balance-rr ),凭借平衡轮询实现网络中断0丢包。

下文以CentOS为例(Red Hat类似),其它平台双网卡设置都较为简单,SuSE(YaST),AIX(SMIT),Windows(Intel),如果大家有需求可以回复留言,我会在后续更新和补充。

遵循高可用原则,实现失效保护和负载均衡

扩展阅读

  • 七种网卡绑定模式详解 - http://www.linuxidc.com/Linux/2014-10/107515.htm
基础配置信息
常用的三种Bond模式

配置过程以mode=6为例,其它7种模式请参考扩展阅读

mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

物理接口

interface

IP

type

eth0,eth2

两块生产网卡

eth3

10.129.46.19

私有地址

bond0

10.3.3.214

双网卡绑定地址

CentOS版本
  1. datanode01:~>cat /etc/RedHat-release
  2. CentOS release 6.4(Final)
禁用NetworkManager
  1. #立即关闭禁用NetworkManager并禁用开机自启动
  2. /etc/init.d/NetworkManager stop
  3. chkconfig NetworkManager off
  4. /etc/init.d/network restart
关闭iptables和selinux(可选)
  1. #立即关闭iptables并禁用开机自启动
  2. /etc/init.d/iptables stop
  3. chkconfig iptables off
  4. #立即关闭selinux并永久禁用
  5. setenforce 0
  6. sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘/etc/selinux/config
修改主机名
  1. vi /etc/sysconfig/network
  2. NETWORKING=yes
  3. HOSTNAME=namenode01
  4. #刷新生效
  5. hostname namnode01
  6. source /etc/sysconfig/network
配置IP
私有地址
  1. cd /etc/sysconfig/network-scripts
  2. [root@datanode09 network-scripts]# cat ifcfg-eth3
  3. DEVICE=eth3
  4. ONBOOT=yes
  5. BOOTPROTO=none
  6. IPADDR=10.129.46.19
  7. NETMASK=255.255.255.0
  8. IPV6INIT=no
  9. USERCTL=no
双网卡绑定
  1. cd /etc/sysconfig/network-scripts
  2. #编辑eth0
  3. cat > ifcfg-eth0 << EOF
  4. DEVICE=eth0
  5. ONBOOT=yes
  6. BOOTPROTO=none
  7. USERCTL=no
  8. MASTER=bond0
  9. EOF
  10. #编辑eth2
  11. cat > ifcfg-eth2 << EOF
  12. DEVICE=eth2
  13. ONBOOT=yes
  14. BOOTPROTO=none
  15. USERCTL=no
  16. MASTER=bond0
  17. EOF
  18. #编辑bond0
  19. cat > ifcfg-bond0 << EOF
  20. DEVICE=bond0
  21. TYPE=Ethernet
  22. ONBOOT=yes
  23. BOOTPROTO=none
  24. IPADDR=10.3.3.214
  25. NETMASK=255.255.255.0
  26. GATEWAY=10.3.3.1
  27. IPV6INIT=no
  28. USERCTL=no
  29. EOF
  30. #设置bond参数,注意mode选择
  31. cat >/etc/modprobe.conf << EOF
  32. alias bond0 bonding
  33. options bond0 miimon=100 mode=6
  34. EOF
  35. #加入开机自启动参数
  36. cat >>/etc/rc.local<< EOF
  37. ifenslave bond0 eth0 eth2
  38. EOF
  39. #重启网卡
  40. service network restart
  41. #使绑定网卡立即生效
  42. ifenslave bond0 eth0 eth2
  43. #测试绑定网络
  44. ping 10.3.3.1
常用3种网卡绑定模式对比
mode=0

中断任意一条链路或恢复链路,网络0丢包

优点:流量提高1倍

缺点:需要接入同一交换机做聚合配置,无法保证物理交换机高可用(Cisco似乎有解决方案?)

mode=1

中断任意一条链路丢失1-3个包(秒),恢复链路时0丢包

优点:交换机无需配置

缺点:如上

mode=6

中断任意一条链路0丢包,恢复链路时丢失10-15个包(秒)

优点:交换机无需配置,流量提高1倍

缺点:恢复链路时丢包时间过长

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 基础配置信息
  • 常用的三种Bond模式
  • 物理接口
  • CentOS版本
  • 禁用NetworkManager
  • 关闭iptables和selinux(可选)
  • 修改主机名
  • 配置IP
  • 私有地址
  • 双网卡绑定
  • 常用3种网卡绑定模式对比
  • mode=0
  • mode=1
  • mode=6
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档