继续上一篇关于“原理上搞懂LVS的DR和NAT模式缺陷,不看小心踩坑”,有很多人和幕客反应,希望了解更多这块的知识,幕客今天再继续介绍下更多的关于基于LVS+Nginx构建:
负载均衡的内容,大家如果有想法欢迎和我交流。
[幕客技术]负载均衡架构采用LVS中的nat和dr模式缺陷(续篇2)
一、nat模式架构缺陷补充
clientserver不能和nat模式的realserver在同一个网段。
什么意思呢?采用lvs的nat模式,可以支持realserver和lvs调度器同一个网段,但是客户端clientserver不能在同一个网段。
这样的情况是不能的,如图:
[幕客技术]负载均衡架构采用LVS中的nat和dr模式缺陷(续篇2)
原因:nat模式,vip是放在lvs调度器上的,所以数据库从realserver返回给用户,必须得通过lvs调度器,
但由于client端,和realserver在同一网络下,导致数据包直接通过mac地址表得二层交换就可以直接给用户端,从而响应得数据包不会通过lvs调度器了。
二、DR模式补充
需要防止arp抢夺,那么什么原理呢?
1、为什么会发生arp抢夺
说白了,就是交换机的arp列表mac记录信息被不同的机器发生争抢。
2、具体为什么呢
有两种情况会发生如下的情况:
1、当数据包通过lvs转发
我们都知道数据包,通过lvs会进行改写,如下:
clientip 222.112.12.2 --> Server 121.212.111.4
通过Server端的lvs将会作如下改下,如下:
(Client IP)222.112.12.2 (Client MAC) 6c:40:08:9f:64:c2 (Destination IP)222.112.12.2 (Real Server MAC) 6c:41:01:91:61:12
优先通过mac-address表记录了mac与port的信息,所以直接将包进行转发。
那么问题来了,这样就不会发生vip在交换机arp表中的抢夺了,其实不是,原因如下:
交换机,的arp表会记录vip和mac地址关系,当发生arp广播的时候,就会发生抢夺占用。
如果这个时候连接他们的同一个交换机下的一台业务服务器需要通过这个vip请求,这个时候,就会交换机的arp信息表就起作用了,把包转发到
了抢占的服务器上,而服务器并不能服务的。
大家明白了吗,后续4层、7层负载均衡将不断推出更多内容,
欢迎关注,幕客将分享更多技术内容!
共同学习,写下你的评论
评论加载中...
作者其他优质文章