四层负载均衡LVS/DR模式的配置

  • Post author:
  • Post category:其他


1、环境准备

准备 3 台纯净的虚拟机,两台 web 服务器,并关闭所有的防火墙和selinux

2、部署说明:

• 网络使用NAT模式

• DR模式要求Director DIP 和 所有RealServer RIP必须在同一个网段及广播域

• 所有节点网关均指定真实网关

3、LVS-server 安装lvs管理软件

    yum -y install ipvsadm

4、需要手动生成ipvsadm文件否则启动会报错

    [root@vm-2 ~]# ipvsadm --save > /etc/sysconfig/ipvsadm
启动:
    [root@vm-2 ~]# systemctl start ipvsadm

5、配置ipvsadm:

    [root@vm-2 ~]# ip addr add dev ens33 10.30.161.200/32
    设置VIP
    [root@vm-2 ~]# ipvsadm -A -t 10.30.161.200:80 -s rr
    -A添加一个VIP,-t用的是tcp协议,-s rr采用轮训算法
 添加转发到realserverip真实服务器的ip:
    [root@vm-2 ~]# ipvsadm -a -t 10.30.161.200:80 -r 10.30.161.214:80 -g
    [root@vm-2 ~]# ipvsadm -a -t 10.30.161.200:80 -r 10.30.161.241:80 -g
 保存:
    [root@vm-2 ~]# ipvsadm -S > /etc/sysconfig/ipvsadm       
 查看:
    [root@vm-2 ~]# ipvsadm -ln
    [root@vm-2 ~]# ipvsadm -ln --stats
    显示统计信息

6、配置RS真实服务器

    [root@real-server1 ~]# yum install -y nginx
    [root@real-server1 ~]# echo "real-server1" >> /usr/share/nginx/html/index.html
    两台机器都安装,按顺序添加不同的主机名以示区分
    [root@vm-4 ~]# ip addr add dev lo 10.30.161.200/32   #在lo接口上绑定VIP
    [root@vm-4 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    arp_ignore 设置为1,意味着当别人的arp请求过来的时候,如果接收的设备没有这个ip,就不做出响应(这个ip在lo上,lo不是接收设备的进口)
    [root@vm-4 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #匹配精确ip地址回包
    [root@vm-4 ~]# systemctl start nginx
    [root@vm-4 ~]# systemctl enable nginx

7、测试

    curl 10.30.161.200
    [root@localhost ~]# curl 10.30.161.200
    server1
    [root@localhost ~]# curl 10.30.161.200
    server2
            负载均衡实现成功