LVS-DR实战
配置环境
client(客户端): 192.168.226.163
lvs(负载均衡器):192.168.226.164
web1:192.168.226.165
web2:192.168.226.166
vip:192.168.226.167(lvs的公网ip)
ip地址为自己本身机器的IP 不要使用这里的IP 会出错
LVS服务器:
ifconfig ens33:0 192.168.226.167 broadcast 192.168.226.167 netmask 255.255.255.0 up 配置vip
route add -host 192.168.226.167 dev ens33:0 指定vip的出口
设置路由转发:
# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 开启路由功能
net.ipv4.conf.all.send_redirects = 0 禁止转发重定向报文
net.ipv4.conf.ens33.send_redirects = 0 禁止ens32转发重定向报文
net.ipv4.conf.default.send_redirects = 0 禁止转发默认重定向报文
LVS设置负载均衡条目/规则:
设置IPVSADM
yum install ipvsadm -y
ipvsadm -A -t 192.168.0.123:80 -s rr 添加VIP规则
ipvsadm -a -t 192.168.0.123:80 -r 192.168.0.120:80 -g
ipvsadm -a -t 192.168.0.123:80 -r 192.168.0.121:80 -g
参数说明:
-A 添加virtual server
-t 指定使用tcp协议
-s 指定调度策略/负载算法为rr
-a 添加realserver
-r 指定realserver是谁
-g LVS类型DR
LVS类型:
-g:Gateway,DR(默认使用的类型)
-i:ipip,TUN
-m:masquerade(地址伪装),NAT
LVS让配置永久生效:
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl enable ipvsadm
WEB集群:
装上web服务:
yum install httpd -y
systemctl restart httpd
web1:
echo web1>/var/www/html/index.html
web2:
echo web2>/var/www/html/index.html
给两个web服务器的lo网卡设置子网掩码为32位vip :
ifconfig lo:0 192.168.226.167/32
给两个web服务器设置内核参数:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 忽略arp响应 ,不允许收
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 为了让vip发包出去,但允许发
测试:
客户端测试:
linux:elinks --dump http://192.168.226.163/
win:直接浏览器访问 http://192.168.226.163/
lpvsadm -Lnc 可以查看lvs的处理过程
ipvsadm -Ln 可以看lvs配置的规则
ipvsadm -C 清楚配置的所有规则