NLB多播模式下跨路由访问的配置方法

前些时间因为需大量访问共享文件,为提高访问的并发速度,就配置了两台服务器,采用windows的NBL来配置,配置方法在网上很多,配置完后,采用多播在本地可以访问,但其它网段就无法访问;后来又在网上查资料,有些说最好采用单播模式,这样支持跨网段的访问,又将NBL的工作模式改成单播模式,但出现有些机子能访问,有些不能访问,依据单播的工作原理,得知会修改网卡的物理地址改成以02BF开头的mac地址,在三层交换机上查看mac地址转发表,发现02bf开头的地地址只出现在一个物理端口上,另一台计臬机的端口上没有这个地址,因为交换机不支一个mac地址绑定两个端口,就只好将这个地址从地址转发表中删除掉,这就符合mac地址不绑定在具体端口上的要求了。测试所有计算机都可以访问了,问题得到解决。但随之而来的就是一个端口泛洪的问题,有一台计算机要给集群中的一台服务器传输大量数据,由于所有加入集群服务器的mac地址都一样,且这个mac地址在交换机的地址转发表中不存在,所以要向这个mac地址发数据时,就会发到当前VLAN的所有端口。下图就是端口泛洪的情况图

NLB多播模式下跨路由访问的配置方法_第1张图片
NLB多播模式下跨路由访问的配置方法_第2张图片
NLB多播模式下跨路由访问的配置方法_第3张图片
NLB多播模式下跨路由访问的配置方法_第4张图片
NLB多播模式下跨路由访问的配置方法_第5张图片
NLB多播模式下跨路由访问的配置方法_第6张图片
NLB多播模式下跨路由访问的配置方法_第7张图片

从上图中可以看出从18号端口流向19号端口的数据在其它端口都出现了,数据量大时都超过100Mbps,对网络的访问造成一定的压力。要解决这个问题,可以在当前三层下面再连接一个二层交换机,这样就能将将所有的流量引到这台二层交换机所在的端口,但这样一来,会使这台交换机成为访问的瓶颈,做NLB的意义就没有了。另一方面可以配置交换机支持虚拟MAC地址出现在配置NLB的的服务器端口上,这需很多最新版本的交换机软件支持,这这里用的华三 s5500-28-EI交换机不支持,软件升级也没条件,看来只有想其它办法了。

又回到NLB的多播模式上来,配置时启用多播的IGMP支持,在交换机上配置igmp-snooping,这样多播就只出现在配置了NLB的端口上,但是只能在同网段访问,如何跨网段访问?原来需访问NLB的ip地址,会向网络上发一个arp广播,当集群收到这个arp请求后,会给一个应答,告诉集群IP对应的MAC地址,这个地址是以0100开头的多播地址,在本网内这个地址会被发出请求的计算机收到,因此同一网段内可以访问的集群,但跨网段就无法访问到了。现在解决问题的办法就是让其它网段的计算机也知道这个集群地址存在。在网上查资料,有些解决的办法是将集群IP地址与多播MAC地址进行绑定,看来是一个办法,就试着在交换上进行相应的操作,但提示是非法MAC地址,无法绑定。通过查询交换机的说明书,从一些配置细节中看到一句可以不对ARP绑定进行检查的语句,试着在交换机上运行不进行ARP绑定检查,之后将集群IP与对应的多播MAC地址绑定成功,在其它网段的计算机上试着访问集群,可以访问到。但还是有些不能访问,仔细查看一下网络环境,访问不了的计算机没有直接与当前的三层交换机相连,而在另一台三层交换机上,登录到另一台三层交换机上,直接ping集群IP地址,无法访问,看来这台三层交换机对ARP绑定进行了检查,试着不进行ARP绑定,可以ping通,与之相连的计算机也能访问到集群,至此所有问题都解决。

上图中20点以后就是配置了多播模式的集群,从图上可以看出,端口泛洪没有了,网络流量正常了。

ps:华三交换机上的操作语句:

undo arp check enable #不对arp条目进行绑定,在两台三层交换机上都运行这句话,就可以进行绑定了

小结:

采用单播模式的NLB配置简单,可以跨网段访问,但会出现端口泛洪的问题,因此一般不用此工作模式。

采用多播模式的NLB配置,需对交换机做配置,最好启用支持IGMP,这样多播只传播到参与集群的端口中,网络压力小。

通过这次配置,对微软NLB进行了深入学习,从各个方面查资料,最后还是从交换机的说明书中找到解决问题的办法,因此,在解决各类问题时需对当前问题的症结所在搞清楚,而不是一次一次的试,看哪种情况能行,还是要对工作原理搞明白,用理论来指导实践,这样才能把问题解决。

你可能感兴趣的:(集群,多播,跨网段,NLB)