一、DR模式介绍

Director接收用户的请求,然后根据负载均衡算法选取一台realserver,将包转发过去,最后由realserver直接回复给用户。

运行模式如下:
– client向目标vip发出请求,Director接收。
– Director检查活跃的RS服务器,将报文进行对应修改
– 报文转发至RS(目标地址还是VIP的地址,LVS DR模式核心)
– RS服务器接收到请求后,检查到目标地址为自己(本地lo网卡绑定VIP地址),对报文进行处理后路由至client

二、安装ipvsadm

[root@test ~]# yum install ipvsadm -y   

三、配置LVS

  • 配置DR
  • 配置RS服务器arp抑制
  1. 配置DR
  • 开启ip_forward转发
     [root@test ~]# echo 1 >/proc/sys/net/ipv4/ip_forward
     [root@test ~]# sysctl -p
  • 配置超时时间
     [root@test ~]# ipvsadm --set 120 20 100
     120 表示tcp空闲等待时间为120 秒
     20 客户端关闭链接等待时间为20秒
     100 udp空闲等待为100秒
     [root@test ~]#  ipvsadm -Ln --timeout      //可以通过该命令
     Timeout (tcp tcpfin udp): 120 20 100
  • 指定VIP地址及端口
     [root@test ~]# ipvsadm -A -t 192.168.5.202:80 -s sh -p 360
     -A 添加地址
     -t 指定VIP的地址及端口
     -s 调度算法,这里采用hash散列
     -p LVS的超时时间,默认300秒,与hash表存储时间关联
  • 指定后端RS服务器
     [root@test ~]# ipvsadm -a -t 192.168.5.202:80 -r 192.168.5.201:80 -g -w 100
     -a 指定真实服务器
     -t VIP地址
     -r 后端rs服务器ip地址及端口
     -g 优先DR模式
     -w 权重值
  • 绑定高可用IP
[root@test ~]# ifconfig ens33:0 192.168.5.202 netmask 255.255.255.0 up
  • 其他相关命令
[root@test ~]# ipvsadm -D -t 192.168.1.159:80   //删除VIP地址及端口
[root@test ~]# ipvsadm -d -t 192.168.5.202:80 -r 192.168.5.207:80   //删除指定RS地址
[root@test ~]# ipvsadm -Ln                      //查看LVS转发规则
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.5.202:80 sh persistent 360
   -> 192.168.5.201:80             Route   100    0          0 
  1. 配置RS服务器arp抑制
  • arp抑制配置
[root@test ~]# echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
[root@test ~]# echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce
[root@test ~]# echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore
[root@test ~]# echo "2">/proc/sys/net/ipv4/conf/all/arp_announce
  • 绑定VIP地址
[root@test1 ~]# ifconfig lo:0 192.168.5.202 netmask 255.255.255.255
  • arp抑制脚本
     [root@LVS1 ~]# cat realserver.sh 
     #!/bin/bash  
     #description: Config realserver  

     VIP=192.168.5.202  
     /etc/rc.d/init.d/functions  

     case "1" in      start)             /sbin/ifconfig lo:0VIP netmask 255.255.255.255 broadcast VIP             /sbin/route add -hostVIP dev lo:0  
            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  
            sysctl -p >/dev/null 2>&1  
            echo "RealServer Start OK"  
            ;;  
     stop)  
            /sbin/ifconfig lo:0 down  
            /sbin/route del VIP >/dev/null 2>&1             echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore             echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce             echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore             echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce             echo "RealServer Stoped"             ;;      *)             echo "Usage:0 {start|stop}"  
            exit 1  
     esac  
     exit 0
  1. 访问测试
   [root@test-web ~]# curl http://192.168.5.202
最后修改日期: 2023年12月14日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。