a.RS可以使用私有地址,还可以使用公网地址,此时可以直接通过互联网连入RS,以实现配置、监控等
b.RS的网关一定不能指向DIP
c.RS跟Dirctory要在同一物理网络内(不能有路由器分隔)
d.请求报文经过Directory,但响应报文一定不经过Director
e.不支持端口映射
f.RS可以使用大多数的操作系统
2.LVS-DR模拟拓扑图
3.LVS-DR模拟数据流向图
如下图:当客户端请求VIP时,会将请求先发给Director(调度器),调度器发现请求的是一组集群服务,根据调度算法将这一请求转发给RealServer,注意在转发的过程中,仅仅是修改了数据报文中的MAC地址,所以这也是为什么我们要求DR和RS必须在同一个物理网络内,就是为了保证可以通过修改MAC地址而进行数据报文的转发。
另外关于各服务器网络的配置,首先每个服务有一个独立网卡即可。在DR上将DIP配置eth0上,将VIP配置在网络别名上,这样是为了以后调度器做高可用方便VIP做IP地址飘移。在各RS上同样需要配置好VIP,这样个RS就可以直接响应Client,而不需要再经过DR,但是一个物理网络之内是不允许有多个同名IP的,所以需要修改RS的内核参数,并且将VIP配置在LO上,让其保留VIP但是不允许对外进行广播,这样从RS出去的报文源地址就是VIP,当然这需要从真实的物理网卡出去,所以必须加一条路由,让访问VIP的数据包请求,对其响应的是配置了VIP的网卡,这样响应出去的报文源地址就是VIP,可以被Client接受。
4.实验流程之网络配置
首先说一下,我目前只有一个可以上外网的地址:192.168.1.211,于是我使用linux做了一个路由器,因此路由器的“外网就是192.168.1.211”,该主路由下划分子网,分别是192.168.0.0/24,172.16.0.0/16和10.10.10.0/8.如果我们可以通过192.168.0.10访问VIP172.16.0.8,并且该VIP服务由10.10.10.11和10.10.10.22提供,就证明我们实验成功了。
在Director上:
# ifconfig eth0 10.10.10.8/8
# ifconfig eth0:0 172.16.0.8/16
# route add -host 172.16.0.8 dev eth0:0
# route add default gw 172.16.0.1
# ifconfig eth0 10.10.10.11/8
# ifconfig lo:0 172.16.0.8 netmask 255.255.255.255 broadcast 172.16.0.8
# route add default gw 10.10.10.1
# route add -host 172.16.0.8 dev lo:0
# echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
# echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce
# echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
# ifconfig eth0 10.10.10.22/8
# ifconfig lo:0 172.16.0.8 netmask 255.255.255.255 broadcast 172.16.0.8
# route add default gw 10.10.10.1
# route add -host 172.16.0.8 dev lo:0
# echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
# echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce
# echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
5.实验流程只LVS配置
在Director上(为了演示实验效果,同样使用轮询rr的调度算法,一般企业多使用wlc调度算法):
# ipvsadm -C
# ipvsadm -A -t 172.16.0.8:80 -s rr
# ipvsadm -a -t 172.16.0.8:80 -r 10.10.10.11 -g
# ipvsadm -a -t 172.16.0.8:80 -r 10.10.10.22 -g
配置好以后如下图:
6.关于测试机的IP地址
7.访问测试
在调度器上查看一下模板信息,发现我们发出的请求是通过“主网关”192.168.1.211过来的,对其作出响应的分别是RS1和RS2,因此实验成功。