Keepalived+LVS搭建高可用负载均衡器

IP Hostname 备注
192.168.88.80 rs1 真实服务器rs1
192.168.88.81 rs2 真实服务器rs2
192.168.88.83 dir 调度器dir
. VIP: 192.168.88.110 .

环境说明:firewalld关闭,selinux关闭。

1.安装所需软件包

[root@rs1 ~]# yum -y install net-tools		//rs服务器都需
[root@dir ~]# yum -y install ipvsadm keepalived		//dir安装

2.rs服务器编辑脚本并运行

[root@rs1 ~]# vi /usr/local/sbin/lvs_dr.sh   //rs2同rs1一样
#/bin/bash
vip=192.168.88.110
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip 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
[root@rs1 ~]# bash /usr/local/sbin/lvs_dr.sh

3.keepalived配置

[root@dir ~]# vim /etc/keepalived/keepalived.conf 
vrrp_instance VI_1 {
    state MASTER
    interface ens33				//网卡
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.88.110			//VIP
    }
    }
virtual_server 192.168.88.110 80 {
        delay_loop 1				//设置健康检查的时间间隔,单位是秒
        lb_algo wrr			//设置负载调度算法,这里设置为wrr,即权重轮询算法
        lb_kind DR			//设置LVS实现负载均衡的机制,有 NAT、TUN和DR三个模式可选
        #persistence_timeout 60	
        //会话保持时间,单位是秒。简单来说就是同一ip60秒内分配到同一rs主机上。
        protocol TCP				  	//虚拟服务使用的协议类型
real_server 192.168.88.80 80 {
        weight 100				//配置服务节点的权值
        TCP_CHECK {
                connect_timeout 3	//表示3秒无响应超时
                nb_get_retry 3		//表示重试次数
                delay before_retry 3	//表示重试间隔
                connect_port 80			//检查80端口
                }
        }
real_server 192.168.88.81 80 {
        weight 100
        TCP_CHECK {
                connect_timeout 3
                nb_get_retry 3
                delay before_retry 3
                connect_port 80
                }
        }
}

4.启动keepalived

[root@dir ~]# pkill keepalived     		
//若是重启keepalived,可使用该命令直接杀掉进程后再启动,以免出现卡进程的现象导致keepalived重启配置未生效。
[root@dir ~]# systemctl start keepalived

5.测试
查看当前连接情况

[root@dir ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.88.110:80 wrr
  -> 192.168.88.80:80             Route   100    0          0         
  -> 192.168.88.81:80             Route   100    0          0         

进入网页访问VIP多次F5刷新页面
查看ipvs模块的转发情况统计

[root@dir ~]# ipvsadm -Lnc
IPVS connection entries
pro expire state       source             virtual            destination
TCP 00:01  ESTABLISHED 192.168.88.1:57201 192.168.88.110:80  192.168.88.81:80
TCP 00:01  ESTABLISHED 192.168.88.1:57199 192.168.88.110:80  192.168.88.80:80
TCP 00:01  ESTABLISHED 192.168.88.1:57203 192.168.88.110:80  192.168.88.81:80
TCP 00:01  FIN_WAIT    192.168.88.1:57197 192.168.88.110:80  192.168.88.80:80
TCP 00:03  FIN_WAIT    192.168.88.1:57204 192.168.88.110:80  192.168.88.80:80
TCP 00:01  ESTABLISHED 192.168.88.1:57198 192.168.88.110:80  192.168.88.81:80
TCP 00:01  ESTABLISHED 192.168.88.1:57205 192.168.88.110:80  192.168.88.81:80
TCP 00:01  ESTABLISHED 192.168.88.1:57202 192.168.88.110:80  192.168.88.80:80

转发情况统计中80和81几乎轮询切换

发布了29 篇原创文章 · 获赞 15 · 访问量 2494

猜你喜欢

转载自blog.csdn.net/qq_20027745/article/details/105293845