Linux下bonding的设置

Linux下bonding的设置

bonding简介

Linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余。

1、网络负载均衡

对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多 个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是 bonding

2、网络冗余

对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding也能为网卡提供冗余的支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份

实例

# 第一步
# 检查内核是否已经支持bonding
# 显示如下,说明默认内核安装后就已经支持bonding模块了
[[email protected] ~]# modprobe -l bond* 
kernel/drivers/net/bonding/bonding.ko
[[email protected] ~]# modinfo bonding    
filename:       /lib/modules/2.6.32-573.el6.x86_64/kernel/drivers/net/bonding/bonding.ko
author:         Thomas Davis, [email protected] and many others
description:    Ethernet Channel Bonding Driver, v3.7.1
version:        3.7.1
license:        GPL
alias:          rtnl-link-bond
srcversion:     4E0AE4BD567D42DFB061C63
depends:        
vermagic:       2.6.32-573.el6.x86_64 SMP mod_unload modversions 
parm:           max_bonds:Max number of bonded devices (int)
parm:           tx_queues:Max number of transmit queues (default = 16) (int)
......

# 检查Linux下有没有负载均衡的执行文件(负载均衡工具也就是bonding),执行如下命令
[[email protected] ~]# which ifenslave
/sbin/ifenslave
[[email protected] ~]# 

# 第二步
# 创建bonding驱动设备配置文件
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp ifcfg-eth0 ifcfg-bond0
[[email protected] network-scripts]# vi ifcfg-bond0 
修改如下
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
USERCTL=no           #表明该设备只能由root用戶來控制
BOOTPROTO=static
IPADDR=192.168.41.129
NETMASK=255.255.255.0
BROADCAST=192.168.41.255
GATEWAY=192.168.41.2
NETWORK=192.168.41.0

# 修改网卡eth0 eth1 配置文件
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改如下:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[[email protected] network-scripts]# vi ifcfg-eth1 
将DEVICE=eth0 改为DEVICE=eth1即可

# 第三步
# 编辑/etc/modprobe.d/bonding.conf文件
[[email protected] network-scripts]# vi /etc/modprobe.d/bonding.conf   
添加如下:
alias bond0 bonding
options bond0 miimon=80 mode=0

# 加入/etc/rc.d/rc.local 启动项
[[email protected] network-scripts]# echo "ifenslave bond0 eth0 eth1" >> /etc/rc.d/rc.local 
[[email protected] network-scripts]# 

# 最后重启网卡就可以了
时间: 2024-10-14 04:01:36

Linux下bonding的设置的相关文章

Linux下别名alias设置(输入一个别名即可打印日志)

在Linux环境下,经常需要查看后台web日志,每次都要cd.很麻烦. 查看日志的时候,能否不用这么多cd呢?答案是能.方法如下: 步骤1:   vi  .profile 步骤2:在文件末尾增加别名showLog alias showLog='tail -100f  /pboss/iom/domain/iom/log.log' 保存文件.profile 步骤3:linux下,输入showLog,即可显示日志信息 总结:到此为止,大功告成.勉励自己继续积累吧 Linux下别名alias设置(输入一

linux下PS1命令提示符设置

linux下PS1命令提示符设置 在此文件最后一行添加:vim /etc/profileexport PS1='[\[email protected]\h \W]\$ '   #这里必须用单引号. \d :代表日期,格式为weekday month date,例如:"Mon Aug 1" \H :完整的主机名称.例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux \h :主机名 \t :显示时间为24小时格式,如:HH:MM:SS \T :显示时间为12小时格式

Linux 下防火墙端口设置

方式1: /sbin/iptables -I INPUT -p tcp --dport 8011 -j ACCEPT  #开启8011端口 /etc/rc.d/init.d/iptables save                                       #保存配置 /etc/rc.d/init.d/iptables restart                                    #重启服务 /etc/init.d/iptables status  

linux下查看和设置软件的安装路径

1:你可以通过whereis 软件名来查找系统里的文件位置 比如你想查找eclipse文件,那么就: [[email protected] ~]# whereis eclipse 会显示: eclipse: /usr/bin/eclipse /usr/lib/eclipse /usr/share/eclipse 2.如果是源码安装的话,你可以使用-prefix指定安装路径 3.如果是rpm包安装的话,可以使用rpm -qal查询一下 rpm -qf /路径/程序名 可以查到一个程序属于哪个rpm

Linux下环境变量设置

Linux下环境变量设置 1) 针对当前特定的用户起作用的环境变量 vi ~/.bashrc export PATH="$PATH:/NEW_PATH" 2) Linux系统环境变量配置文件 2.1) /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 2.2) /etc/bashrc : 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取..

Linux下环境变量设置 (转)

Linux下环境变量设置 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变量?简单说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件. 设置变量对于一般人最实用的功能就是: 不用拷贝某些dll文件到系统目录中了,而path 这一系统变量就是系统搜索dll文件的一系列路径 在Linux系统下,如果你下载并安装应用程序,很有可

Linux下获取和设置IP

在Linux下获取关于IP和网关的操作:重点是对struct ifreq 的操作. 那么进入目录/usr/include/net/if.h下看查找struct ifreq结构体. /* Interface request structure used for socket ioctl's. All interface ioctl's must have parameter definitions which begin with ifr_name. The remainder may be in

Linux下 环境变量设置方法

etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. /etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量. ~/.profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

Linux下mysql相关设置

在Linux下安装完mysql之后,通常需要作如下修改才能比较方便地使用 1.  添加一个远程连接用户 通常我们需要从外部远程连接mysql数据库,mysql数据库默认是没有设置允许远程连接的用户的,我们需要自己添加. 可以先查看当前mysql数据库中已存在的用户: use mysql; select host,user,password from user; 以上结果中,host表示允许该用户连接到数据库的主机,user表示用户名,password表示密码 添加一个新的用户: GRANT AL