[Original]NetAPP的负载均衡
NetAPP存储支持以下三种端口聚合方式:
a.single-mode 端口工作在active和standby状态,只有一个端口处于actvie状况。当active端口失效,系统自动从standby中选择一个端口成为active口。不需要交换机支持aggre,也不需要在交换机上做任何相关配置。所有端口具有相同的MAC地址,实现最基本的链路冗余。
b.multi-mode(static) 与IEEE 802.3ad(static)兼容,所有端口处于active状态,具有相同的mac地址;能够检测端口的链路状态,但不能数据的丢失;交换机需要支持 LAC;;在multimode(包括static和dynamic)下,存储系统对outbound traffic支持三种load-balance算法:IP-based/MAC-based/Round robin;。
c.multi-mode(dynamic) 与IEEE 802.3ad(dynamic)兼容,即lLACP协议(cisco叫做PAgP),所有端口均处于active状态,具有相同的mac地址。交换机需要支持LACP。在lacp下,vif接口必须配置为 first-level,并且LB应该配置为IP-based(这也是默认方式);在lacp下,存储系统不仅能检测链路的丢失,还能检测数据流的丢失,因此该模式与HA环境相兼容。此种模式有其局限性,只能使用IP Balance算法。
三种load-balance算法的比较:
a. ip balance 根据来源IP动态负载均衡,得出的结果不会太平均。故障切换,会有一个丢包。在故障恢复后,会将流量重定向回该端口。
b. mac balance 多个不同mac地址的端口,平均分配负载。比较有意思的是,长期测试之后,会发现,其中接收包都集中在一个端口,发送包集中在另一个端口。在拔掉一个接口的情况下,另一个接口会接管所有流量。在网络断掉的一瞬间,会有一个丢包。
c. rr balance (Round-Robin Scheduling) 轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。适用于请求方软硬件条件和请求数差不多的情况。
d. port balance方式下,所有流量由两个端口均衡,得出的结果平均。在网络断掉的一瞬间,会有一个丢包。从端口和带宽利用率来考虑,这是最佳方式。
以上所说丢包,都是基于连续ping测试。
以下是IBM NS3600做VIF的一个实例
NTN3600B> ifconfig e0a down
NTN3600B> ifconfig e0b down
NTN3600B> ifconfig vif1 down
ifconfig: vif1: no such interface
NTN3600B> vif destroy vif1
vif1 is not a valid vifname
NTN3600B> vif create multi vif1 -b port e0a e0b
NTN3600B> ifconfig vif1 192.168.125.2
NTN3600B> ifconfig vif1 up
NTN3600B> ping 192.168.125.2
192.168.125.2 is aliveNTN3600B> vif stat vif1
Virtual interface (trunk) vif1
e0b e0a
Pkts In Pkts Out Pkts In Pkts Out
1 83 66 23
0 3 3 0
1 5 4 0
0 4 4 0
0 4 4 0
0 4 4 0
0 4 4 0
0 4 4 0
0 4 4 0
0 4 4 0NTN3600B> vif status
default: transmit ‘IP Load balancing’, VIF Type ‘multi_mode’, fail ‘log’
vif1: 2 links, transmit ‘IP+port Load balancing’, VIF Type ‘multi_mode’ fail ‘default’
VIF Status Up Addr_set
up:
e0b: state up, since 10Mar2010 14:02:01 (00:02:45)
mediatype: auto-1000t-fd-up
flags: enabled
input packets 2, input bytes 128
output packets 131, output bytes 9414
up indications 1, broken indications 0
drops (if) 0, drops (link) 0
indication: up at 10Mar2010 14:02:01
consecutive 164, transitions 1
e0a: state up, since 10Mar2010 14:02:01 (00:02:45)
mediatype: auto-1000t-fd-up
flags: enabled
input packets 113, input bytes 9006
output packets 23, output bytes 1576
up indications 1, broken indications 0
drops (if) 0, drops (link) 0
indication: up at 10Mar2010 14:02:01
consecutive 164, transitions 1
最近评论