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

Linux 双网卡绑定实践

181次阅读
没有评论

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

前言

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

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

Linux 双网卡绑定实践

下文以 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”支援及设定。

物理接口

interfaceIPtype
eth0,eth2  两块生产网卡
eth310.129.46.19 私有地址
bond010.3.3.214 双网卡绑定地址

CentOS 版本

  1. datanode01:~>cat /etc/RedHatrelease
  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.  
  5. # 立即关闭 selinux 并永久禁用
  6. setenforce 0
  7. sed i s/SELINUX=enforcing/SELINUX=disabled/‘/etc/selinux/config

修改主机名

  1. vi /etc/sysconfig/network
  2.  
  3. NETWORKING=yes
  4. HOSTNAME=namenode01
  5.  
  6. # 刷新生效
  7. hostname namnode01
  8. source /etc/sysconfig/network

配置 IP

私有地址

  1. cd /etc/sysconfig/networkscripts
  2.  
  3. [root@datanode09 networkscripts]# cat ifcfgeth3
  4. DEVICE=eth3
  5. ONBOOT=yes
  6. BOOTPROTO=none
  7. IPADDR=10.129.46.19
  8. NETMASK=255.255.255.0
  9. IPV6INIT=no
  10. USERCTL=no

双网卡绑定

  1. cd /etc/sysconfig/networkscripts
  2.  
  3. # 编辑 eth0
  4. cat > ifcfgeth0 << EOF
  5. DEVICE=eth0
  6. ONBOOT=yes
  7. BOOTPROTO=none
  8. USERCTL=no
  9. MASTER=bond0
  10. EOF
  11.  
  12. # 编辑 eth2
  13. cat > ifcfgeth2 << EOF
  14. DEVICE=eth2
  15. ONBOOT=yes
  16. BOOTPROTO=none
  17. USERCTL=no
  18. MASTER=bond0
  19. EOF
  20.  
  21. # 编辑 bond0
  22. cat > ifcfgbond0 << EOF
  23. DEVICE=bond0
  24. TYPE=Ethernet
  25. ONBOOT=yes
  26. BOOTPROTO=none
  27. IPADDR=10.3.3.214
  28. NETMASK=255.255.255.0
  29. GATEWAY=10.3.3.1
  30. IPV6INIT=no
  31. USERCTL=no
  32. EOF
  33.  
  34. # 设置 bond 参数,注意 mode 选择
  35. cat >/etc/modprobe.conf << EOF
  36. alias bond0 bonding
  37. options bond0 miimon=100 mode=6
  38. EOF
  39.  
  40. # 加入开机自启动参数
  41. cat >>/etc/rc.local<< EOF
  42. ifenslave bond0 eth0 eth2
  43. EOF
  44.  
  45. # 重启网卡
  46. service network restart
  47.  
  48. # 使绑定网卡立即生效
  49. ifenslave bond0 eth0 eth2
  50.  
  51. # 测试绑定网络
  52. ping 10.3.3.1
  53.  

常用 3 种网卡绑定模式对比

mode=0

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

优点:流量提高 1 倍

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

mode=1

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

优点:交换机无需配置

缺点:如上

mode=6

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

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

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

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