Linux 双网卡绑定实践

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

Linux 双网卡绑定实践

前言

工作中主要以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),如果大家有需求可以回复留言,我会在后续更新和补充。

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


更新记录

2015年02月09日 - 初稿

阅读原文 - http://wsgzao.github.io/post/bond-network/

扩展阅读


基础配置信息

常用的三种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.  
  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/network-scripts
  2.  
  3. [root@datanode09 network-scripts]# cat ifcfg-eth3
  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/network-scripts
  2.  
  3. #编辑eth0
  4. cat > ifcfg-eth0 << EOF
  5. DEVICE=eth0
  6. ONBOOT=yes
  7. BOOTPROTO=none
  8. USERCTL=no
  9. MASTER=bond0
  10. EOF
  11.  
  12. #编辑eth2
  13. cat > ifcfg-eth2 << EOF
  14. DEVICE=eth2
  15. ONBOOT=yes
  16. BOOTPROTO=none
  17. USERCTL=no
  18. MASTER=bond0
  19. EOF
  20.  
  21. #编辑bond0
  22. cat > ifcfg-bond0 << 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倍

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

----------------------------------------------------------------------------------------------------------------------------
原文发布时间:2015-02-23
本文来自云栖合作伙伴“linux中国”
目录
相关文章
|
29天前
|
存储 Linux 测试技术
无效数据处理之道:Linux系统编程C/C++实践探索(三)
无效数据处理之道:Linux系统编程C/C++实践探索
17 0
|
29天前
|
存储 测试技术 Linux
无效数据处理之道:Linux系统编程C/C++实践探索(二)
无效数据处理之道:Linux系统编程C/C++实践探索
30 0
|
29天前
|
安全 Linux 测试技术
无效数据处理之道:Linux系统编程C/C++实践探索(一)
无效数据处理之道:Linux系统编程C/C++实践探索
70 0
|
1月前
|
域名解析 运维 网络协议
Linux命令行全景指南:从入门到实践,掌握命令行的力量
Linux命令行全景指南:从入门到实践,掌握命令行的力量
82 0
|
22天前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
53 5
|
3月前
|
Unix Linux C语言
Linux重定向:深入理解与实践
Linux重定向:深入理解与实践
|
4月前
|
缓存 监控 Java
Linux系统资源监控实践详解
Linux系统资源监控实践详解
50 0
|
3月前
|
监控 Linux Shell
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)
在线上排查问题时,查询日志、查看系统配置和分析操作系统信息是至关重要的。这些操作可以帮助我们深入了解软件和服务的兼容性,并解决潜在的问题。在本次学习中,我们将介绍并深入学习一些我在处理类似问题时常用的指令。通过掌握这些指令,你将能够更加高效地定位和解决线上问题,提高系统的稳定性和性能。让我们一同进入这个学习过程吧!
43 0
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)
|
5天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
964 6
|
22天前
|
监控 Linux 编译器
Linux C++ 定时器任务接口深度解析: 从理论到实践
Linux C++ 定时器任务接口深度解析: 从理论到实践
65 2