Linux系统——keepalived高可用集群服务

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> Linux系统——keepalived高可用集群服务

Linux系统——keepalived高可用集群服务

Keepalived服务介绍

   起初的设计是专门给LVS服务的,专门用来监控LVS集群系统中各个服务节点的状态,后来又加入了VRRP(Virtual Router Redundancy Protocol)虚拟路由器冗余协议,VRRP是为了解决静态路由单点故障,它有两大功能:健康检查与故障切换(主备之间快速切换)

HA的功能:

 在主备LB之间相互监控运行状态,一旦主LB宕机,备LB会立马接收主LB的所有资源(IP资源与VIP资源),然后接管主LB来运行LB的功能,一旦主LB恢复,它将资源还给主LB

健康检查:

 主要是对RS节点的运行健康性检查,一旦有节点宕机,它会不再将主求发给这个RS节点

Keepalived故障切换原理

   这种故障切换是通过VRRP协议来实现的,主节点会按一定的时间间隔发生心跳信息广播包,告诉备节点自己的存活状态,当主节点出现故障时,备节点就无法继续检测到主节点的心跳信息,从而调用自身的接管程序,接管主节点的IP资源及服务,当主节点恢复时,备节点会释放所接管的资源,恢复到接管前的状态

VRRP****协议:

 Virtual Router Redundancy Protocol虚拟路由器冗余协议,能过竞选的方式来实现的

Keepalived安装布署

官方网站:http://www.keepalived.org

下载并安装

wget http://www.keepalived.org/software/keepalived-1.1.7.tar.gz

tar zxf keepalived-1.1.7.tar.gz

cd keepalived-1.1.7

./configure

Keepalived configuration


Keepalived version   : 1.1.17

Compiler          : gcc

Compiler flags      : -g -O2

Extra Lib         : -lpopt -lssl -lcrypto

Use IPVS Framework    : Yes

IPVS sync daemon support : Yes

Use VRRP Framework    : Yes

Use LinkWatch       : No

Use Debug flags      : No

make && make install

拷贝配置文件****

/bin/cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/ 

#启动脚本

/bin/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ 

#配置启动脚本参数

mkdir /etc/keepalived -p 

#创建配置文件目录

/bin/cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

#配置文件模板

/bin/cp /usr/local/sbin/keepalived /usr/sbin/

#启动命令

启动服务

/etc/init.d/keepalived start

配置Keepalived单实例

主负载均衡器配置如下

[root@master keepalived]# vi keepalived.conf

! Configuration File for keepalived

global_defs {

   notification_email {

   abc@abc.com

   }

   smtp_server 192.168.1.1

   smtp_connect_timeout 30

   router_id LVS_7

}

vrrp_instance VI_1 {

    state MASTER

    interface eth1

    virtual_router_id 7

    priority 150

    advert_int 1

    authentication {

    auth_type PASS

    auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.254/24

    }

}

备负载均衡器配置

[root@backup keepalived]# vi keepalived.conf

! Configuration File for keepalived

global_defs {

   notification_email {

   abc@abc.com

   }

   smtp_server 192.168.1.1

   smtp_connect_timeout 30

   router_id LVS_8

}

vrrp_instance VI_1 {

    state BACKUP

    interface eth1

    virtual_router_id 8

    priority 100

    advert_int 1

    authentication {

    auth_type PASS

    auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.254/24

    }

}

两端服务重启

/etc/init.d/keepalived restart

检查主备负载均衡器VIP情况

[root@master keepalived]# ip add|grep 192.168.1.24 

inet 192.168.1.254/24 scope global eth1

[root@backup keepalived]# ip add|grep 192.168.1.254 

备服务器上没有出现VIP表明配置正确

测试故障切换

首先检查VIP联通性

Linux系统——keepalived高可用集群服务

停掉主服务器keepalived服务

/etc/init.d/keepalived stop

Linux系统——keepalived高可用集群服务

只会有短暂的超时就立马恢复了

安装WEB服务器测试故障切换

yum install httpd -y

   ##分别安装在两台主备服务器上

配置WEB-001****

echo “welcome to web of mingongge”/var/www/html/index.htm

配置WEB-002

echo “welcome to web of mingongge”/var/www/html/index.html 

为了测试两台服务器显示内容配置一致

for n in echl {1..3};do curl http://192.168.1.254;done

welcome to web of mingongge

welcome to web of mingongge

welcome to web of mingongge

测试WEB故障切换****

直接关闭主服务器测试

[root@master keepalived]#halt

for n in echl {1..5};do curl http://192.168.1.254;done

welcome to web of mingongge

welcome to web of mingongge

welcome to web of mingongge

welcome to web of mingongge

welcome to web of mingongge

实现服务器故障切换

备注:实际生产环境,需要注意两台WEB服务器上的数据一致性问题,使用NFS共享存储或其它共享存储就可以解决此问题

Linux系统——keepalived高可用集群服务 Linux系统——keepalived高可用集群服务
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> Linux系统——keepalived高可用集群服务


 上一篇
Nginx+Tomcat多实例及负载均衡配置 Nginx+Tomcat多实例及负载均衡配置
Nginx+Tomcat多实例及负载均衡配置 采用nginx的反向代理负载均衡功能,配合后端的tomcat多实例来实现tomcat WEB服务的负载均衡 01 安装nginx服务 安装所需的pcre库  tar zxf pcre-8.
2021-04-05
下一篇 
HTTP服务器Nginx服务介绍续 HTTP服务器Nginx服务介绍续
HTTP服务器Nginx服务 什么是Nginx 在此之前也介绍过相关的内容与安装过程,介于实际生产运维环境中使用之多,还是有必要详细了解和理解它的一些强大的功能与特性。 Nginx作为一个轻量级的HTTP服务器,相比Apache优
2021-04-05