LVS的两种模式实践

使用LVS NAT模式搭建一个nginx负载
  • 环境准备
Real server 1: 192.168.188.10(需要搭建NGINX服务)
Real server 2: 192.168.188.20(需要搭建NGINX服务)
Director Server: 192.168.188.5/172.16.50.10(模拟外网ip)
  • Director Server开启转发功能,关闭selinux和防火墙功能
  • 在 Director Server 添加LVS规则
ipvsadm -A -t 172.16.50.10:80 -s wrr   ## 创建一个服务
ipvsadm -a -t 172.16.50.10:80 -r 192.168.188.10:80 -m   ## 添加规则
ipvsadm -a -t 172.16.50.10:80 -r 192.168.188.20:80 -m
ipvsadm -e -t 172.16.50.10:80 -r 192.168.188.20:80 -w 3 -m  ## 修改规则,-w指定权重
ipvsadm -L -n  ## 查看lvs规则
  • 在Real server中将网关设置为: 192.168.188.5 ; 防火墙也需要放开
使用LVS DR模式搭建一个nginx负载
  • 环境准备
VIP: 172.16.50.65
Real server 1: 172.16.50.66(需要搭建NGINX服务)
Real server 2: 172.16.50.67(需要搭建NGINX服务)
Director Server: 172.16.50.10
  • Director Server关闭selinux和防火墙功能
  • 在 Director Server 配置VIP和添加路由
ifconfig ens32:0 172.16.50.65/24 up
route add -host 172.16.50.65 dev ens32:0
  • 在 Director Server 配置lvs规则
ipvsadm -A -t 172.16.50.65:80 -s wrr
ipvsadm -a -t 172.16.50.65:80 -r 172.16.50.66:80 -g -w 1
ipvsadm -a -t 172.16.50.65:80 -r 172.16.50.67:80 -g -w 2
  • 在Real server中配置VIP和添加路由
ifconfig lo:0 172.16.50.65 netmask 255.255.255.255 broadcast 172.16.50.65
route add -host 172.16.50.65  dev lo:0
  • 在Real server修改内核参数,控制Real server的响应模式
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.lo.arp_announce=2