LVS-DR实战案例,实现四层负载均衡
环境准备:三台虚拟机(NET模式或者桥接模式)
192.168.88.200 (web1)(安装nginx服务器作为测试)
192.168.88.201 (服务器)(用于部署lvs-dr)
192.168.88.202 (web2) (安装nginx服务器作为测试)
三台虚拟机配置阿里云yum源,关闭firewalld,关闭selinux
一、1.LVS准备VIP和路由
1.1、添加VIP:
ifconfig ens33:0 192.168.88.123 broadcast 192.168.88.255 netmask 255.255.255.0 up
注释:在ens33上添加一个虚拟ip192.168.88.123
route add -host 192.168.88.123 dev ens33:0
注释:该命令将会把所有发往 IP 地址 192.168.88.123
的流量通过 ens33:0
接口发送。这通常用于指定主机的特定路由。(VIP与RIP要配到同一个网卡上 )
二、设置路由转发
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 (开启路由功能 )
扩展:
-
net.ipv4.conf.all.send_redirects = 0
-
#禁止转发重定向报文
-
-
net.ipv4.conf.ens33.send_redirects = 0
-
禁止ens33转发重定向报文
-
-
net.ipv4.conf.default.send_redirects = 0
-
禁止转发默认重定向报文
-
三、安装
1、安装ipvsadm
yum install ipvsadm -y
注解:ipvsadm: internet protocol virtual server admin 互联网 协议 虚拟 服务器 管理器
2、清理ipvs所有规则
ipvsadm -C
3、设置服务器,规定轮训
ipvsadm -A -t 192.168.88.123:80 -s rr
注解:设置虚拟服务器,地址是192.168.88.123:80,规则轮训 ,添加vip规则,对外提供地址,规则轮巡
4、添加真实的服务器
ipvsadm -a -t 192.168.88.123:80 -r 192.168.88.200:80 -g
ipvsadm -a -t 192.168.88.123:80 -r 192.168.88.202:80 -g
注解:添加真实的服务器,如果请求地址是123,将会通过轮巡的方式派发给200和202
参数说明
-
-A 添加virtual server
-
-t 指定使用tcp协议
-
-s 指定调度策略/负载算法为rr
-
-a 添加realserver
-
-r 指定realserver是谁
-
-g LVS类型DR
-
LVS类型:
-
-g:Gateway,DR(默认使用的类型)
-
-i:ipip,TUN
-
-m:masquerade(地址伪装),NAT
-
5、LVS让配置永久生效
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl enable ipvsadm
四、WEB集群
1、给两个web服务器的lo网卡设置子网掩码为32位vip
ifconfig lo:0 192.168.88.123/32
ifconfig lo:0 192.168.88.123/32