设为首页 收藏本站
查看: 1194|回复: 1

[经验分享] LVS中DR类型集群实现

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-10-24 09:57:06 | 显示全部楼层 |阅读模式

LVS负载均衡集群中DR类型的架构图示如下:

wKiom1WGToLzcx5PAAC0vyO0b6k852.jpg

图中,客户端发送的请求会由路由器和交换机转发后直接达到director。再由director调度给指定的real server ,最后由real server直接响应给客户端而不经过director,在此架构中director和real server的网络架构是此类型的重点。所以,配置DR类型一定要注意以下两点:

(1) 各RS要直接响应Client,因此,各RS均得配置VIP;但仅能够让Director上的VIP能够与本地路由直接通信;

(2) Director不会拆除或修改请求报文的IP首部,而是通过封闭新的帧首部(源MAC为Director的MAC,目标MAC为挑选出的RS的MAC)完成调度。

要完成上述的要求,着实很难,因为RS和DR都有VIP,而请求进入时必须最先发送给DR,所以,在DR类型中,首先通过ARP广播确认DR主机,其他RS主机不响应,这就确定了哪一个是DR主机。

但是在linux主机中,IP地址不属于网卡而是属于内核,就是说无论一个linux主机有多少个IP地址,它在接入的各个网络中都会公布它拥有的所有地址,这就给ARP广播的响应制造了困难,所以就需要修改内核参数来保证router发出ARP广播时,DR会响应RS不予响应,这里所说的内核参数分别为:

#arp_announce:定义arp通知级别;

0:默认级别,在各个网络中通告本机所含有的所有地址

1:尽量不在各个网络中通告本机中含有的不属于该网络的地址

2:不在各个网络中通告本机中含有的不属于该网络的地址

#arp_ignore:定义arp忽略arp请求或arp通告的级别;

0:(默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求

1:只回答目标IP地址是来访网络接口本地地址的ARP查询请求

2:只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内

3:不回应该网络界面的arp请求,而只对设置的唯一和连接地址做出回应

4-7:保留未使用

8:不回应所有(本地地址)的arp查询


举例1:VIP、DIP、RIP在同一网段时的DR类型负载均衡

首先设计网络拓扑,我在这里准备三个虚拟机,V1作为director,V2、V3作为real server。

wKioL1WGUEjzI3LeAACuCyUsm8g995.jpg

设计完拓扑,现在开始配置:

在V1上更改IP地址

Ifconfigeth0 172.16.50.11 up

Ifconfig eth0:0 172.16.50.12 netmask255.255.255.255 broadcast 172.16.50.12 up

Routeadd –host 172.16.50.12 dev eth0:0

wKioL1WGUV3wMkTvAAHQmUagnVQ455.jpg

在V2、V3上更改地址:

Ifconfigeth0 172.16.50.21 up

Ifconfiglo:0 172.16.50.12 netmask 255.255.255.255 broadcast 172.16.50.12 up

Route add –host 172.16.50.12 dev lo:0

Ifconfigeth0 172.16.50.31 up

Ifconfiglo:0 172.16.50.12 netmask 255.255.255.255 broadcast 172.16.50.12 up

Routeadd –host 172.16.50.12 dev lo:0

不留图了

更改V2、V3的内核参数(不更改的话会ping不通)

echo1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo2 > /proc/sys/net/ipv4/conf/all/arp_announce

如果觉得不放心的话,还可以再执行两个命令

echo1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo2 > /proc/sys/net/ipv4/conf/lo/arp_announce

现在就可以添加规则了

在V1上执行如下命令:

Ipvsadm–A –t 172.16.50.12:80 –s rr

Ipvsadm–a –t 172.16.50.12:80 –r 172.16.50.21 –g –w 1 这里加权重是为了以后改算法省事

Ipvsadm–a –t 172.16.50.12:80 –r 172.16.50.31 –g –w 2

这样就完成了同网段内DR类型的负载均衡配置。


举例2:VIP、DIP、RIP在不在同一网段时的DR类型负载均衡

首先设计网络拓扑,我在这里准备三个虚拟机,V1作为director,V2、V3作为real server。环境中应有两个网段172.16.0.1和192.168.0.254且打开了路由间转发功能。

wKiom1WGT_jDFbGQAAC3QoalvNo331.jpg


设计完拓扑,现在开始配置:

在V1上更改IP地址

Ifconfigeth0 192.18.0.11 up

Routeadd default gw 192.168.0.254

Ifconfigeth0:0 172.16.50.12 netmask 255.255.255.255 broadcast 172.16.50.12 up

Routeadd –host 172.16.50.12 dev eth0:0

在V2、V3上更改地址:

Ifconfigeth0 192.168.0.21 up

Routeadd default gw 192.168.0.254

Ifconfiglo:0 172.16.50.12 netmask 255.255.255.255 broadcast 172.16.50.12 up

Routeadd –host 172.16.50.12 dev lo:0

Ifconfigeth0 192.168.0.31 up

Routeadd default gw 192.168.0.254

Ifconfiglo:0 172.16.50.12 netmask 255.255.255.255 broadcast 172.16.50.12 up

Routeadd –host 172.16.50.12 dev lo:0

不留图了

更改V2、V3的内核参数(不更改的话会ping不通)

echo1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo2 > /proc/sys/net/ipv4/conf/all/arp_announce

如果觉得不放心的话,还可以再执行两个命令

echo1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo2 > /proc/sys/net/ipv4/conf/lo/arp_announce

现在就可以添加规则了

在V1上执行如下命令:

Ipvsadm–A –t 172.16.50.12:80 –s rr

Ipvsadm–a –t 172.16.50.12:80 –r 192.168.0.21:80 –g –w 1  这里加权重是为了以后改算法省事

Ipvsadm–a –t 172.16.50.12:80 –r 192.168.0.31:80 –g –w 2

这样就完成了不通网段内DR类型的负载均衡配置。


注意:在普通电脑上实现这个负载均衡,访问页面时会反应比较慢,不要以为没成功,是慢!慢!慢!



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-405816-1-1.html 上篇帖子: LVS 之 管理工具ipvsadm介绍 下篇帖子: LVS-DR负载均衡RIP和VIP在不同网络的实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表