Keepalived+LVS高可用负载均衡

 

 

文章目录

 


前言


lvs 没有健康检查
keepalived

通过keepalived来管理lvs

1.可以自动生成VIP地址
2.可以自动创建虚拟服务器和真实服务器
3.可以实现对后端的真实服务器实现健康检查,工作异常的主机,会从调度表中移除,恢复后再自动添加回来
4.可以实现lvs的高可用


 

一、部属

环境准备:LVS-Master: 
                   DIP: 192.168.218.102
                   VIP: 192.168.218.181
                   LVS-Backup: 
                   DIP: 192.168.189.103
                   RS1:
                   RIP: 192.168.189.123
                   RS2:
                   RIP: 192.168.189.104

 


         安装配置:

systemctl stop firewalld

setenforce 0

    四台虚拟机都关闭防火墙 


            LVS_MASTER:  

yum -y install keepalived ipvsadm

         安装服务 

vim /etc/keepalived/keepalived.conf

   配置keepalived配置文件

! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
!   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.218.181
    }
}

virtual_server 192.168.218.181 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    protocol TCP

   real_server 192.168.218.104 80 {
        weight 1
        TCP_CHECK {
            connect_port 80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.218.123 80 {
        weight 1
        TCP_CHECK {
            connect_port 80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}
              

 

配置如上

systemctl start keepalived

其余的配置删掉即可,保存退出之后启动keepalived 


        LVS_BACKUP: 

       配置参考LVS_MASTER

 scp root@192.168.189.172:/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

可复制配置

并将MASTER改成BACKUP

将优先级改为小于100的数字 


      RS1:

先布置httpd

yum -y install httpd
systemctl start httpd

安装httpd并开启

echo web1 > /var/www/html/index.html

在文件里写入内容 

 

配置VIP:

cd /etc/sysconfig/network-scripts
cp ifcfg-lo ifcfg-lo:0

 复制ifcfg-l0

vim ifcfg-lo:0

进入并修改如下图 

DEVICE=lo:0
IPADDR=192.168.218.181
NETMASK=255.255.255.255
ONBOOT=yes

保存退出之后启动

 ifup lo:0

设置arp级别

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

配置静态路由

 route add 192.168.218.181 dev lo:0

 RS2:

配置参考RS1将写入配置文件的内容改成web2


二、测试

1、查看vip的生成:

ip a

效果如上

2、查看LVS调度表

ipvsadm -Ln

效果如上

 

3、最终测试负载均衡效果

若能看到任务别调度到不同的服务器上,说名实现了负载均衡


lvs高可用测试
   停止master主机上keepalived,查看VIP是否漂移到BAKCUP节点,成功漂移,并且依然可以通过访问VIP测试到负载均衡
   效果,说明高可用效果实现成功

健康检查 
   停止其中一台RS,在调度表中可以看到被自动删除,访问虚拟服务器,任务不再给故障的主机调度,说明健康检查功能实现成功


三、配置永久ipvsadm规则

vim /etc/sysctl.conf

进入配置文件

net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

插入如上配置

sysctl -p

 

查看永久配置

ipvsadm -Sn

永久保存(仅适用于centos7) 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值