在目前的数据中心解决方案中,二层多路径应该是一个大趋势,它可以消除环路,同时还能提供多路径负载。 但二层多路径中网关的设置在目前的方案中却提的比较少,收集了一些信息,目前的解决方案主要:
***种方案,TRILL/SPB + VRRPE/HSRP
在这张图中看不出来存在环路,这是因为只画了一台接入层交换机,如果存在N台接入层交换机,Core之间就存在二层环路了,TRILL/SPB可以使任何一个接入层交换机到4个Core的链路都处于转发状态,4个Core之间可以运行VRRPE/HSRP,使4台Core都可以转发,VRRPE/HSRP的负载均衡模式是基于ARP应答:
1. 如Host 1请求GW的ARP,应答Core 1 MAC,依次类推,每个Host都有属于自己的1个GW访问外部网络
2. 当Core 2连接Outer Network断开,会降低其权重,通知其余同伴自己失去了能力,这时同伴首领如Core 1可以立即发送一个ARP刷新所有Host上GW ARP,將发往Core 2的流量引向其余Core。#p#
第二种方案,不使用TRILL/SPB,使用IRF/VSS等N->1虚拟化技术,这是目前在TRILL/SPB标准尚未成熟的解决方案:
这种方式的特点:1. 多个Core通过专属互联,运行私有协议虚拟化成1台物理设备,这种虚拟化和服务器的1->N虚拟化正好相反
2. 当Core 1连接Outer Networks歇B,由于4个Core已经虚拟成1台设备,所以流量会自动切换到
3. 接入层交换机上联的4个Core的链路就变成连接到1台物理设备,所有接入层交换机和虚拟物理设备之间可以运行LACP进行链路聚合,在逻辑连接上消除了环路隐患,这种方案中Host的GW也是1台虚拟化的设备,负载均衡在接入层交换机和虚拟核心的LACP链路上,负载均衡要素可以是5元组、7元组等等,负载均衡的灵活性上要比***种方案要好,但IRF/VSS都是私有化技术,并不被业界所喜欢。#p#
第三种方案是在***种方案基础上,抛弃VRRPE/HSRP,而是在Host上配置多个GW,也就是说把3层负载均衡交给Host来做:
1. Host上分别配置4个默认GW,分别是Core 1~4的IP地址,就和路由器有4条默认路由的ECMP情况一致,4条路由都处于激活状态,Host可以根据Application在4个GW之间负载均衡,也可以指定其余顺序使用策略,负载灵活性上要比前2种方案都高。这种方式对操作系统也是蛮大的,但基于Linux的Server数量多,又可以改造,应该也是可行的方案。
2. 问题是当Core 1外联Outer Network歇B,怎么样切换到其余Core上,Core之间差不多完全独立,所以只能是Core 1告诉Host失去能力了,找其它Core吧,那么当Core 1又恢复了怎么办?Core 1再通知Host?前一个问题可以通过”信任制ICMP destination unreachable-route”来搞定,第二种情况就只能单独开发一套系统了,差不多是一种GW与Host之间的轻量级路由协议,这估计是这个方案的***挑战。
转载请注明:IT运维空间 » 运维技术 » 二层多路径环境中的网关负载
发表评论