LVS-DR的工作原理:
配置实现:
先准备配置各个主机,并准备期初起的环境:
1 在rs1和rs2上安装httpd软件,并添加页面:
2 添加页面:
3 启动httpd服务器,并测试:
4 配置路由器并设置路由转发:
5 设置rs服务器的网关:
6 测试从客户端ping,rs服务器:
7 使用脚本设置rs的内核参数:
脚本:
#!/bin/bash
vip=192.168.159.100
mask='255.255.255.255'
dev=lo:1
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
ifconfig $dev $vip netmask $mask #broadcast $vip up
#route add -host $vip dev $dev
echo "rs is ready"
;;
stop)
ifconfig $dev down
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
echo "rs is canceled"
;;
*)
echo "Usage: $(basename $0) start|stop"
exit 1
;;
在两个rs服务器上跑一下脚本:
查看网卡配置:
8 在调度器上,同样使用脚本:
先安装ipvsadm服务:
使用脚本:
脚本:
#!/bin/bash
vip='192.168.159.100'
iface='lo:1'
mask='255.255.255.255'
port='80'
rs1='192.168.159.10'
rs2='192.168.159.20'
scheduler='rr'
type='-g'
case $1 in
start)
ifconfig $iface $vip netmask $mask #broadcast $vip up
iptables -F
ipvsadm -A -t ${vip}:${port} -s $scheduler
ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1
ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1
echo "lvs start"
;;
stop)
ipvsadm -C
ifconfig $iface down
echo "lvs is top"
;;
*)
echo "Usage $(basename $0) start|stop"
exit 1
;;
esac
在lvs服务器上运行:
在客户端上测试:
编写脚本:
//因为调度器上的算法是rr,所以是轮序的。