lvs之DR模式的实操演练

发布时间 2023-11-15 01:20:04作者: 马昌伟

 

理论

 

我是内部服务,代替我访问外部网络,这是正向代理;代替外部网络访问我,这是反向代理

 

 槽位

 

 

 

 

 

 

 

 

 sh根据源地址。调度到某个节点,dh,根据目标地址,调度到某个节点,

 

 

 

 

 

 实战演练

默认策略以及修改策略

查看

[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.0.14:80 wlc
  -> 172.168.1.15:80              Masq    1      0          0         
  -> 172.168.1.16:80              Masq    1      0          0         
TCP  10.0.0.14:443 wlc
  -> 172.168.1.16:443             Masq    1      0          0         
  -> 172.168.1.25:443             Masq    1      0          0         
[root@mcw04 ~]#

清除后添加,默认是wlc

[root@mcw04 ~]# ipvsadm -C
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[root@mcw04 ~]# ipvsadm -A -t 10.0.0.14:80
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.0.14:80 wlc
[root@mcw04 ~]# 

wrr理论

 

 wrr实践演练

 清空以前的,然后添加wrr的lvs集群

[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.0.14:80 wlc
[root@mcw04 ~]# ipvsadm -C
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[root@mcw04 ~]# ipvsadm -A -t 10.0.0.14:80 -s wrr
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.0.14:80 wrr
[root@mcw04 ~]# 

添加rs 1 2 3 ,权重分别是1 2 3 。并且是nat模式

[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.0.14:80 wrr
[root@mcw04 ~]# ipvsadm -a -t 10.0.0.14:80 -r 172.168.1.15 -m -w 1
[root@mcw04 ~]# ipvsadm -a -t 10.0.0.14:80 -r 172.168.1.16 -m -w 2
[root@mcw04 ~]# ipvsadm -a -t 10.0.0.14:80 -r 172.168.1.25 -m -w 3
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.0.14:80 wrr
  -> 172.168.1.15:80              Masq    1      0          0         
  -> 172.168.1.16:80              Masq    2      0          0         
  -> 172.168.1.25:80              Masq    3      0          0         
[root@mcw04 ~]# 

我们在客户端mcw03上访问,可以看到,的确是 1 2 3 的比例,被调度到

[root@mcw03 ~]# 
[root@mcw03 ~]# for i in {1..6}
> do
> curl 10.0.0.14
> done
hello rs3
machangwei06 rs2 
machangwei05 rs1 
hello rs3
hello rs3
machangwei06 rs2 
[root@mcw03 ~]# 

如果是访问12次呢,我们可以看到,的确还是1:2:3的概率

[root@mcw03 ~]# for i in {1..12}; do curl 10.0.0.14; done
hello rs3
machangwei06 rs2 
machangwei05 rs1 
hello rs3
hello rs3
machangwei06 rs2 
hello rs3
machangwei06 rs2 
machangwei05 rs1 
hello rs3
hello rs3
machangwei06 rs2 
[root@mcw03 ~]#