首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>安装配置>正文

在Linux操作系统中,通过bonding 绑定实现网络负载均衡 v0.1b

http://www.oklinux.cn  2007-01-01  来源: LinuxSir 北南南北  会员收藏  游客收藏  【 】 
作者:北南南北
来自:oklinux
摘要:如何把多个网卡绑定成为一个网卡,并且指定为一个IP地址,解决网络负载问题;本文在Slackware Linux系统进行实例进行解说实现的方法,希望对新手弟兄在解决网络负载问题过程中有点帮助;
目录

    1. 什么是bonding; 2.bonding 应用方向;
      2.1 网络负载均衡; 2.2 网络冗余;
    3. 网络负载均衡应用实例;
      3.1 系统环境及实现目标; 3.2 对于System V的风格Linux系统的解决办法; 3.3 在Slackware下通过bonding来实现网络负载均衡;
        3.31 判定内核版本; 3.32 编译bonding; 3.33 编译 ifenslave ; 3.34 修改网络相关配置文件; 3.35 尝试绑定多个网卡为一个设备bond0;
    4. 关于本文; 5. 更新日志; 6. 参考文档; 7.相关文档;


正文


1. 什么是bonding;
Linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余。 The Linux bonding driver provides a method for aggregating multiple network interfaces into a single logical bonded interface. The behavior of the bonded interfaces depends upon the mode; generally speaking, modes provide either hot standby or load balancing services. Additionally, link integrity monitoring may be performed.
2.bonding 应用方向;

2.1 网络负载均衡;
对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个治理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。假如在内网中,文件服务器为了治理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,非凡是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,究竟网线和网卡对数据的吞吐量是有限制的。假如在有限的资源的情况下,实现网络负载均衡,最好的办法就是 bonding ;
2.2 网络冗余;
对于服务器来说,网络设备的稳定也是比较重要的,非凡是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把网个网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡也能提供正常的服务。
3. 网络负载均衡应用实例;

3.1 系统环境及实现目标 ;
操作系统环境:Slackware 11.0,内核 2.6.20
网卡:三张;
实现目标:让三张网卡eth0、eth1、eth2 绑定为一张,实现网络负载均衡。 通过Google能找到好多bonding的文档,但大多是洋文的,国内也有一篇吧,好象是在Redhat/Fedora环境下的应用,也就是说对于System V风格的init脚本启动脚本的。对于BSD风格的启动服务的脚本的Linux操作系统,网上并没有太多的现成文档。对于Debian 、Fedora、Redhat、Ubuntu都是System V风格的。 对于Slackware来说则是BSD-like风格的。除了在Slackware的官方文档中,提到bonding的用法以外,网上的文档比较少。我为此走了不少弯路。最主要的原因是我还是没读懂Slackware,虽然Slackware用起来简单,但假如不读文档,一样解决不了问题。看来官方文档对我来说是多么重要了,假如你解决不了呢?是不是也和我一样不去读DOC?假如和我一样,还是象我一样,老老实实的读官方DOC吧,只要是应用的问题,大多是可以解决的。
3.2 对于System V的风格Linux系统的解决办法;
对于Debian 、Fedora、Redhat、Ubuntu都是System V风格的系统,您可以参考 《Bonding》
3.3 在Slackware下通过bonding来实现网络负载均衡;
本文主要是解决网络负载均衡,并非是通过bonding 来实现到网络设备冗余的实现;
3.31 判定内核版本;
[root@linuxsir:/home/beinan#] uname -a

Linux linuxsir 2.6.20 #7 SMP Sun May 6 00:20:14 CST 2007 x86_64 x86_64 x86_64 GNU/Linux
根本内核版本来安装您的内核源码包,一般发行版都有提供。安装好后,一般是放在/usr/src目录中。假如您是自己编译的,你应该知道你的源码包放的位置;比如我把源码包放在了 /usr/src/linux-2.6.20。
3.32 编译bonding;
bonding 是需要编译才能用的,Linux的内核默认是否已经支持了,可以通过 modinfo bonding 来查看;
[root@linuxsir:/home/beinan#] /sbin/modinfo modinfo
假如没有具体的信息输出,可能就不支持了,您应该自己编译;要把Bonding driver support以模块方式编译; 内核编译方法,请参考《》 挂载bonding 模块的方法;
[root@linuxsir:/home/beinan#] modprobe bonding

3.33 编译 ifenslave ;
在Linux 比较新的内核中,ifenslave 并不是默认被内核支持的,需要我们自己编译;我们要进入内核源码包中类似如下的位置;
[root@linuxsir:/home/beinan#] cd /usr/src/linux-2.6.20/Documentation/networking
[root@linuxsir:/home/networking#] gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux-2.6.20/include ifenslave.c -o ifenslave
[root@linuxsir:/home/networking#] cp ifenslave /sbin/ifenslave

3.34 修改网络相关配置文件;
在Slackware 中,我们首先要修改 /etc/rc.d/rc.inet 文件;找到 如下一行;
. /etc/rc.d/rc.inet1.conf
加入下面一段;
# bonding conf
/sbin/ifenslave bond0 eth0
/sbin/ifenslave bond0 eth1
/sbin/ifenslave bond0 eth2
共3页: 上一页 1 [2] [3] 下一页

上一篇:rsync 服务器架设方法 v0.1b (正在修订中)   下一篇:Servlet、Jsp中的多国语言显示


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·rsync 服务器架设方法 v0.1b (正在修订中)
·软RAID 0的技术概要及实现 v0.1b (正在修订之中)
·ntfs-3g的安装和配置
·关于Apache (httpd)服务器防DDOS模块mod_evasive的使
·PHP加速器 eaccelerator 介绍
·Fedora Core 4.0 安装教程,菜鸟图文版
·通过U盘给Linux系统安装网卡驱动的方法
·Linux系统 常用服务程序配置
·Vista与Linux操作系统双启动
·Linux下安装Realtek 80SC千兆网卡驱动
·CheckInstall-便民的Linux源码安装工具
·fc7下常用软件安装包括字体
·RHAS4gcc安装记
·X60-B57AtherosWifi在SuSE下的驱动安装手记
·甩开Lilo,使用Grub
·通过Grub安装或者升级Fedora1.0Redhat9.08.07.XAS2.1A
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·将Linux加入到WindowsNT/2000的启动选
·UbuntuLinux系统帐户密码找回功能
·一行命令在Ubuntu上装好Firefox 3 Beta
·小企鹅(FCITX)输入法快速安装笔记
·如何清理Ubuntu系统中的无用软件包
·Ubuntu 7.10 (Gutsy) 下安装 Tor 的过
·Ubuntu Linux系统下硬盘ISO启动方法介
·将Ubuntu Linux系统放到你的移动硬盘中
·重装Windows操作系统后修复Fedora的Gru
·Ubuntu 7.0下配置安装VirtualBox .5.4
·Linux操作系统下如何配置Qt(4.3.2)环境
·如何制作Ubuntu Linux系统的本地源
  阅读排行
·Redhat5 Server下载、序列号以及相关介
· 在U盘上安装Damn Small Linux
·Linux的GRUB引导程序配置方法大全
·新手学堂 详细讲解Ubuntu Server安装过
·新手入门 Fedora Linux 7系统的安装指
·从硬盘安装RHEL 5(Red Hat Enterprise
·RedHat AS 4.0 硬盘安装图解一
·什么是Linux?Linux与UNIX之间的关系
·Linux不是Windows
·Intel 845集成显示驱动
·简介 PLAYSTATION 3 上的 Linux
·安装大型Linux 集群: 配置服务和安装
·Linux操作系统配置基础祥解:GRUB入门
·tagfile帮你定制安装slackware
·介绍Linux操作系统下添加新硬盘的方法
网摘收藏: