环境准备:三台虚拟机
1)此环境是针对内部服务的LVS架构,如数据库,缓存,共享存储等业务。
虚拟机角色 | IP地址 | 备注 |
LVS负载均衡器 | 192.168.116.129 | VIP地址:192.168.116.100 |
http服务器RS1 | 192.168.116.130 | |
http服务器RS2 | 192.168.116.131 |
LVS负载均衡器
vim /usr/local/sbin/lvs_dr.sh
#!/bin/bash
yum install -y net-tools ipvsadm
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.116.100
rs1=192.168.116.130
rs2=192.168.116.131
#注意这里的网卡名字
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:2
$ipv -C
$ipv -A -t $vip:80 -s wrr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1
http服务器RS1、http服务器RS2
vim /usr/local/sbin/lvs_dr.sh
#/bin/bash
yum install -y net-tools
vip=192.168.116.100
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
运行脚本
bash /usr/local/sbin/lvs_dr_rs.sh
在httpd服务器创建文件测试
yum install -y httpd && echo "this is one" >> /var/www/html/index.html && systemctl restart httpd