IP规划:
servera(LVS-DR):192.168.145.128
serverb(WB1):192.168.145.129
servere(WB2):192.168.145.131
servera(LVS-DR):
添加VIP:
# 使用ifconfig命令配置虚拟网卡ens160:0的IP地址为192.168.145.123,广播地址为192.168.145.255,子网掩码为255.255.255.0,并启用该虚拟网卡
ifconfig ens160:0 192.168.145.123 broadcast 192.168.145.255 netmask 255.255.255.0 up# 使用route命令添加针对IP地址192.168.145.123的路由表项,指定数据通过ens160:0网卡发送
route add -host 192.168.145.123 dev ens160:0
开启路由转发功能:
vim /etc/sysctl.conf# 开启IP转发功能
net.ipv4.ip_forward=1# 禁止发送ICMP重定向消息
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.ens160.send_redirects=0
net.ipv4.conf.default.send_redirects=0
设置LVS规则:
参数说明:
-A添加virtualserver
-t指定使用tcp协议
-s指定调度策略/负载算法为rr
-a添加realserver
-r指定realserver是谁
-g LVS类型DR
yum install ipvsadm -y# 添加一个IPVS的虚拟服务器,监听192.168.145.123:80端口,使用轮询调度算法
ipvsadm -A -t 192.168.145.123:80 -s rr# 将192.168.145.129:80添加到IPVS的虚拟服务器中进行负载均衡,使用组播模式
ipvsadm -a -t 192.168.145.123:80 -r 192.168.145.129:80 -g# 将192.168.145.131:80添加到IPVS的虚拟服务器中进行负载均衡,使用组播模式
ipvsadm -a -t 192.168.145.123:80 -r 192.168.145.131:80 -g# 将当前的IPVS规则保存到/etc/sysconfig/ipvsadm-config文件中
ipvsadm-save > /etc/sysconfig/ipvsadm-config# 设置开机自启动
systemctl enable ipvsadm
serverb(WB1):
yum install httpd -y# 在 /var/www/html 目录下创建一个名为 index.html 的文件,内容为 "web"
echo web > /var/www/html/index.html# 重启 httpd 服务
systemctl restart httpd# 配置回环接口 lo:0 的IP地址为192.168.145.123/32
ifconfig lo:0 192.168.145.123/32# 设置所有接口忽略ARP请求
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore# 设置所有接口在ARP请求中使用自己的地址作为源地址
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
serverb(WB2):
yum install httpd -y# 在 /var/www/html 目录下创建一个名为 index.html 的文件,内容为 "web"
echo web > /var/www/html/index.html# 重启 httpd 服务
systemctl restart httpd# 配置回环接口 lo:0 的IP地址为192.168.145.123/32
ifconfig lo:0 192.168.145.123/32# 设置所有接口忽略ARP请求
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore# 设置所有接口在ARP请求中使用自己的地址作为源地址
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
任意一端通过VIP访问:
curl http://192.168.145.123
ipvsadm常见命令:
# 显示当前所有的IPVS虚拟服务器配置
ipvsadm -Ln# 显示当前所有的IPVS连接信息
ipvsadm -Lnc# 清除所有的IPVS配置
ipvsadm -C