Linux——LVS+Keepalived高可用群集

一、Keepalived简介 

Keepalived 软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。

Keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router RedundancyProtocol(虚拟路由器冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行。

所以,Keepalived 一方面具有配置管理LVS的功能,同时还具有对LVS下面节点进行健康检查的功能,另一方面也可实现系统网络服务的高可用功能。

二、keepalived的三个功能

  • 管理LVS负载均衡软件
  • 实现LVS集群节点的健康检查
  • 作为系统网络服务的高可用性(failover)

三、Keepalived的工作原理 

        Keepalived高可用是通过 VRRP 进行通信的, VRRP是通过竞选机制来确定主备的,主的优先级高于备,因此,工作时主会优先获得所有的资源,备节点处于等待状态,当主挂了的时候,备节点就会接管主节点的资源,然后顶替主节点对外提供服务。

        在 Keepalived 服务之间,只有作为主的服务器会一直发送 VRRP 广播包,告诉备它还活着,此时备不会枪占主,当主不可用时,即备监听不到主发送的广播包时,就会启动相关服务接管资源,保证业务的连续性.接管速度最快可以小于1秒。

 四、Keepalived配置实例

1、初始配置

##关闭防火墙
[root@chicken ~]# systemctl disable firewalld --now
##关闭Selinux
[root@chicken ~]# setenforce 0

 2、两台调度节点配置并安装

[root@chicken ~]# yum -y install ipvsadm keepalived

3、修改配置文件

[root@chicken ~]# vim /etc/keepalived/keepalived.conf ##配置文件路径
Node1 配置内容
vrrp_instance VI_1 {
    state MASTER    角色 MASTER BACKUP
    interface eth0  本地网卡 ens32
    virtual_router_id 51  VRRP组号
    priority 100    优先级
    advert_int 1    VRRP传递时间 1s
    authentication {    VRRP认证
        auth_type PASS  类型密码
        auth_pass 1111  密码
    }
Node2 配置内容
vrrp_instance VI_1 {
    state BACKUP    角色 MASTER BACKUP
    interface eth0  本地网卡 ens32
    virtual_router_id 51  VRRP组号
    priority 90    优先级
    advert_int 1    VRRP传递时间 1s
    authentication {    VRRP认证
        auth_type PASS  类型密码
        auth_pass 1111  密码
    }
    virtual_ipaddress {  虚拟IP,VIP,漂移地址
        192.168.160.200
    }
}
##重启服务
[root@chicken ~]# systemctl restart keepalived.service 

验证虚拟IP交换

node1和node2查看虚拟IP

node1关闭keepalived服务 

[root@chicken ~]# systemctl stop keepalived.service 

查看node2虚拟IP

WEB节点配置服务及站点 

[root@chicken network-scripts]# yum -y install httpd
##在web1服务上配置
[root@chicken network-scripts]# echo "<h1>web1.aaaaaaaa</h1>" > /var/www/html/index.html
##在web2服务上配置
[root@chicken network-scripts]# echo "<h1>web2.bbbbbbbb</h1>" > /var/www/html/index.html

关联后端web节点,并配置节点切换策略

[root@chicken ~]# vim /etc/keepalived/keepalived.conf
virtual_server 192.168.200.100 80 {
    delay_loop 6
    lb_algo rr  轮询方式  
    lb_kind NAT LVS模式 NAT DR TUN
    persistence_timeout 50   超时时间50s
    protocol TCP 协议TCP
    
    节点服务器1             
    real_server 192.168.160.53 80 {
        weight 1  轮询权重
          CHECK {  开启检测
            connect_port 80  链接端口
            connect_timeout 3 链接超时3s
            nb_get_retry 3    重试次数
            delay_before_retry 3 重试间隔时间3s
        }
    }
    节点服务器2
    real_server 192.168.160.54 80 {
        weight 1
          CHECK {
            connect_port 80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    } 
}
##重启服务
[root@chicken ~]# systemctl restart keepalived.service 

LVS调度节点配置 

[root@chicken ~]# ipvsadm > /etc/sysconfig/ipvsadm
[root@chicken ~]# ipvsadm -a -t 192.168.223.100:80 -r 192.168.223.125:80 -g -w 1
[root@chicken ~]# ipvsadm -a -t 192.168.223.100:80 -r 192.168.223.126:80 -g -w 1
[root@chicken ~]# systemctl restart ipvsadm.service 
[root@chicken ~]# 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.223.100:80 rr
  -> 192.168.223.125:80           Route   1      0          0         
  -> 192.168.223.126:80           Route   1      0          0   

web节点配置

[root@chicken ~]# cd /etc/sysconfig/network-scripts/
[root@chicken network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@chicken network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.223.100
NETMASK=255.255.255.255
ONBOOT=yes
NAME=lo:0
##重启network服务
[root@chicken network-scripts]# systemctl restart network

验证WEB节点切换测试

访问WEB1

访问WEB2 

访问虚拟IP  

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值