标签:lvs
DR:客户端请求,director接收客户端响应,通过交换机进行调度分发其中某个服务器,然后该服务器直接响应用户请求
不需要再通过director响应客户端(director只处理进站请求)
ARP协议解析得到mac地址:广播
1、各集群节点必须和director在同一物理网络中(进行的是MAC地址通信)
2、RIP可以使用公网地址,实现便捷的远程管理和监控
3、director仅负责处理入站请求,响应报文则由RIP直接发往客户端
4、real sever不能将网关指向DIP,director直接只有一个网卡,都在同一网段
5、RIP必须隐藏VIP(VIP就是RIP上ip别名),director上也有VIP别名(也是隐藏VIP)
6、不支持端口映射
director
|
DR模型: |
客户端----》路由-------》交换机----》RS1
|
|
RS2
当客户端发起ip请求时,到达INPUT链进入PREROUTING链时,
监听在INPUT链上的director发现请求的是集群服务上的web服务的80端口时,根据规则修改报文的传输
(不会动报文的ip首部,tcp首部),director在原有的报文外面封装了一个MAC地址(源地址为director的MAC地址)
根据算法进行挑选RS,进行RS中ip地址所对应的MAC地址为目标地址
在每一个real server都配上一个VIP地址,RS响应完报文之后,直接通过交换机
路由将响应的报文传输给客户端
路由判断VIP:根据mac地址
arptables:定义规则哪些VIP给予响应,哪些不响应
内核参数:
arp_ignore:定义接收到ARP请求时的响应级别
0:默认级别(只要本地配置的有相应地址,就给予响应)
1:仅仅在请求的目标地址配置在请求到达的接口上的时候,才给予响应
arp_announce:定义将自己地址向外通告的通告级别
0:将本机任何接口上的任何地址向外通告(默认)
1:试图仅向目标网络通过与其网络匹配的地址
2:仅向与本地接口上地址匹配的网络进行通告
ip分配:
director:
DIP(eth0):只需要一块网卡
ip:192.168.31.100 gateway 192.168.31.1 netmask 255.255.255.0
VIP:
eth0:0
ifconfig eth0:0 192.168.31.111 broadcast 192.168.31.111 netmask 255.255.255.255 up
route add -host 192.168.31.111 dev eth0:0
route add -host VIP dev eth0:0(相当于就是当访问的是VIP的时候,从设备eth0:0进出)
RS1:
ip:192.168.31.112 gateway 192.168.31.1 netmask 255.255.255.0
配置完RIP之后再配置arp_announce,arp_ignore
/proc/sys/net/ipv4/conf/all/arp_announce全局配置为2
/proc/sys/net/ipv4/conf/all/arp_ignore全局配置为1
/proc/sys/net/ipv4/conf/eth0/arp_announce局部也需要配置为2
/proc/sys/net/ipv4/conf/eth0/arp_ignore局部也需要配置为1
然后最后配置VIP:
ifconfig lo:0 192.168.31.111 broadcast 192.168.31.111 netmask 255.255.255.255 up
route add -host 192.168.31.111 dev lo:0
RS2:
ip:192.168.31.113 gateway 192.168.31.1 netmask 255.255.255.0
配置完RIP之后再配置arp_announce,arp_ignore
/proc/sys/net/ipv4/conf/all/arp_announce全局配置为2
/proc/sys/net/ipv4/conf/all/arp_ignore全局配置为1
/proc/sys/net/ipv4/conf/eth0/arp_announce局部也需要配置为2
/proc/sys/net/ipv4/conf/eth0/arp_ignore局部也需要配置为1
然后最后配置VIP:
ifconfig lo:0 192.168.31.111 broadcast 192.168.31.111 netmask 255.255.255.255 up
route add -host 192.168.31.111 dev lo:0
接下来创建集群服务:
ipvsadm -A -t 192.168.31.111:80 -s wlc
ipvsadm -a -t 192.168.31.111:80 -r 192.168.31.112 -g -w 2
ipvsadm -a -t 192.168.31.111:80 -r 192.168.31.113 -g -w 1
于是访问浏览器:
http://192.168.31.111(访问的是VIP的IP地址)
director的DIP也可以作为RS的ip进行负载均衡,操作如下:
ipvsadm -a -t 192.168.31.111:80 -r 127.0.0.1 -g:添加本地ip到ipvsadm即可
curl:
--connect-timeout n:定义连接的超时时间
curl --connect-timeout 1 http://192.168.31.111
-I:获取页面的响应首部
-s:输出静音模式
记录:
当创建完成DR模型之后,本人开始使用的是RR算法进行轮询,但是在浏览器中输入ip之后,开始显示的RS1的web访问,中间间隔了几分钟都刷新不懂DR,几分钟之后再次刷新之后就不变成了RS2,不知道是怎么一回事,先mark一下:
标签:lvs
原文地址:http://6169353.blog.51cto.com/6159353/1769875