Linux bonding
驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余等。
二、bonding应用方向
1、网络负载均衡
对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大 的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如 果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是
bonding
2、网络冗余
对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding
也能为把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份网卡提供冗余的支持。
三、双网卡冗余mode1实验:
1、建立channel bonding interface
#vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.11.5.240
NETMASK=255.255.255.0
ONBOOT=yes
USERCTL=no
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=no
MASTER=bond0
SLAVE=yes
USERCTL=no
#vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=no
MASTER=bond0
SLAVE=yes
USERCTL=no
在eth0和eth1里把mac地址都注释掉。
2、编辑/etc/modprobe.d/
在/etc/modprobe.d/下新建bond0.conf文件,添加以下内容
#vim /etc/modprobe.d/bond0.conf
alias bond0 bonding
3、配置miimon和mode
#vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.11.5.240
NETMASK=255.255.255.0
ONBOOT=yes
USERCTL=no
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=no
MASTER=bond0
SLAVE=yes
USERCTL=no
#vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=no
MASTER=bond0
SLAVE=yes
USERCTL=no
在eth0和eth1里把mac地址都注释掉。
2、编辑/etc/modprobe.d/
在/etc/modprobe.d/下新建bond0.conf文件,添加以下内容
#vim /etc/modprobe.d/bond0.conf
alias bond0 bonding
3、配置miimon和mode
#ifconfig bond0 down
配置miimon
#echo 100 > /sys/class/net/bond0/bonding/miimon
配置mode
#echo 1 > /sys/class/net/bond0/bonding/mode
#ifconfig bond0 up
配置miimon
#echo 100 > /sys/class/net/bond0/bonding/miimon
配置mode
#echo 1 > /sys/class/net/bond0/bonding/mode
#ifconfig bond0 up
miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。
bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。
bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。
四、测试
ping其他能通的地址,然后交换down掉eth0和eth1.
转载于:https://blog.51cto.com/tonylinux/960076