在實際的環境中,服務器通過網口綁定技術,可以很容易的實現網口冗余,負載均衡,從而達到高可用的目的,而且可以提升網絡的性能,大幅的提升網絡I/O。
一般情況下,Linux的多網口綁定使用的是內核中的“bonding”模塊,目前發行的各個Linux版本內核中都已經包含了該模塊。
這里演示一下綁定的過程。將測試服務器的eth2,eth3兩個網卡綁定成一個邏輯接口。
第一步:創建邏輯接口bond0的配置文件;
# vim ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.5.49
NETMASK=255.255.255.0
DNS2=202.96.128.86
GATEWAY=192.168.5.1
DNS1=202.96.134.133
第二步:配置成員接口;
在成員端口中加入配置:
MASTER=bond0
SLAVE=yes
第三步:修改modprobe相關配置文件;
# echo "alias bond0 bonding" >>/etc/modprobe.d/bonding.conf
# echo "options bonding miimon=100 mode=1" >>/etc/modprobe.d/bonding.conf
第四步:加載bonding模塊(如果重啟系統,就不需要手動加載)
# modprobe bonding
# lsmod | grep bonding (驗證加載結果)
bonding 128245 0
重啟網絡服務以后查看bond的網卡狀態:
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth2
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: e8:bd:d1:04:e0:12
Slave queue ID: 0
Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: e8:bd:d1:04:e0:13
Slave queue ID: 0
上面可以看到連個重要信息。
- 模式,這個就是我們配置的Mode=***,上面我們配置的是1。
- 可以看到當前Active的網口是eth2
做完以上的操作,基本上就綁定完成了。
通常情況下,我們會配合交換機的鏈路聚合功能,提高整體的網絡性能。這里,我們使用的是華為的5700交換機,在上面啟用eth-trunk功能,並配置的是LACP模式。
交換機配置如下:
interface Eth-Trunk5
description Test-DB-Bond-169
port link-type access
port default vlan 5
mode lacp
load-balance src-ip
lacp preempt enable
max active-linknumber 3
注意事項:配置交換機使用是,綁定的模式需要設置為4(802.3ad)
