准备环境
Director Server
- VIP:
192.168.123.123
- DIP:
192.168.123.10
Real Server-1
- RIP1:
192.168.123.20
- VIP:
192.168.123.123
Real Server-2
- RIP2:
192.168.123.30
- VIP:
192.168.123.123
都是桥接模式
<center>拓扑图如下</center>
DR模型是修改目标mac地址实现调度的。
地址配置
DS地址配置
配置DIP
~]# nmtui
地址配置如下:将DIP
配置到网卡
配置VIP
~]# ip addr add 192.168.123.123/32 dev ens33:0
掩码为32位,表示本网络只有一个主机。另外这里演示地址之前都有提到,请根据自己的实际情况做修改
RS地址配置
由于每个机器都需配置VIP,但是同一个网络里不允许出现同一个地址。这里的解决方法:第一,当网络中有主机广播的时候,本主机不做回应。第二,本机也不不做广播。
Real Server-12
~]# nmtui
修改网卡地址为:192.168.123.20 (RS1)
修改网卡地址为:192.168.123.30 (RS2)
这里配置VIP要先设置内核参数:
~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
arp_ignore 值为1的时候,不响应其他主机的广播;arp_announce 值为2的时候,本机不发出广播
~]# ip addr add 192.168.123.123/32 dev lo:0
RS的VIP配置脚本
#!/bin/bash
#
VIP=192.168.123.123
case $1 in
start)
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
ip addr add ${VIP}/32 dev lo:0
;;
stop)
ip addr del ${VIP}/32 dev lo:0
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
esac
在RS 1/2上启动httpd测试服务
启动httpd服务,分别为其提供index.html,参考下文#打开测试httpd服务
添加调度规则
Director Server:
~]# ipvsadm -A -t 192.168.123.123:80 -s wrr #添加集群,算法为加权轮询
~]# ipvsadm -a -t 192.168.123.123:80 -r 192.168.123.20 -g -w 1 #权重为1
~]# ipvsadm -a -t 192.168.123.123:80 -r 192.168.123.20 -g -w 3 #添加RS服务,-g为Dr模式,(权重为3)
测试后调度正常,三次192.168.123.30,一次192.168.123.20
<center>END</center>