keepalived 实现web应用的高可用

项目需求:公司需要我做privacyIDEA认证服务器的高可用,我的思路是在两台服务器上搭两套应用程序,后端存储公用一个mysql数据库,没有mysql数据库可以主备的形式,然后再做一下数据库的异地备份。基本思路就是这样的。

我主要介绍一下使用keepalived实现高可用。

本次实现使用两台机器master:10.236.44.62 ,slave:10.236.45.91

一、安装需要的软件(master和slave都操作)

yum install keepalived -y

yum install -y httpd

二、配置 master机器的 /etc/keepalived/keepalived.conf

! Configuration File forkeepalived
  
global_defs {                                               #全局定义段
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   [email protected]
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_script check_running {
	script "/usr/local/bin/check_running"
	interval 3
	weight 10
}

  
vrrp_instance VI_1 {                                 #实例名称
    state MASTER                                     #当前节点为主节点
    interface eno16777736                            #指定网卡
    virtual_router_id 132                            #虚拟路由ID,默认为51
    priority 100                                     #优先级,主节点要数字要大于从节点
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 111111
    }
    virtual_ipaddress {                               #虚拟IP地址
       10.236.44.77 
   }
   track_script {
	check_running weight 20
   }
}

三、配置 slave机器的 /etc/keepalived/keepalived.conf

! Configuration File forkeepalived
  
global_defs {                                          #全局定义段
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   [email protected]
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_script check_running {
        script "/usr/local/bin/check_running"
        interval 1
        weight 10
}
  
vrrp_instance VI_1 {                                 #实例名称
    state BACKUP                                     #当前节点为主节点
    interface eno16777736                            #指定网卡
    virtual_router_id 132                            #虚拟路由ID,默认为51
    priority 99                                      #优先级,主节点要数字要大于从节点
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 111111
    }
    virtual_ipaddress {                               #虚拟IP地址
        10.236.44.77
    }
    track_script {
       check_running weight 20
   }

}

四、编辑脚本文件:/usr/local/bin/check_running (master和slave都一样)

#!/bin/bash
systemctl status httpd |grep running
if [ $? -ne 0 ]
then 
    systemctl restart httpd.service
    sleep 1
    systemctl status httpd |grep running
    if [ $? -ne 0 ]
    then  
        systemctl stop keepalived.service
    fi
fi

给文件可执行权限 chmod +x /usr/local/bin/check_running

五、把httpd和keeplaived都启起来。(主和从上都操作)

systemctl  restart httpd.service

systemctl  restart keepalived.service

六、测试

编辑/var/www/html/index.html

master机器文件内容:master 机器  slave机器文件内容:slave 机器

①:访问vip:10.236.44.77

②:把master的http停掉,然后再访问vip:10.236.44.77

systemctl  stop httpd

这是因为我的脚本里会做判断,如果httpd停了,就把它启起来。

③:随便修改一下httpd的配置文件,让它不能正常启动,这个时候我们再把它停掉

systemctl  stop httpd.service

这个时候先看下主的ip show

再看下从的ip show

这个时候访问一下vip:10.236.44.77

时间: 2024-11-05 13:43:29

keepalived 实现web应用的高可用的相关文章

lvs+keepalived实现web负载及高可用

实验环境:lvs-master 192.168.1.236lvs-backup 192.168.1.237lvs-dr-vip 192.168.1.238web1       192.168.1.239web2       192.168.1.240 注:yum安装的软件包版本要一致 1.分别在两台服务器上安装lvs和keepalived[[email protected] ~]# yum -y install ipvsadm[[email protected] ~]# yum -y insta

Centos7+Nginx+Keepalived实现Apache服务的高可用&负载均衡

Centos7+Nginx+Keepalived实现Apache服务的高可用&负载均衡 今天是2017年的第一天,昨天也就是2016年的最后一天,我尝试部署了Centos7+Nginx+Keepalived实现WEB服务的高可用负载均衡服务,终于在2017年的第一天前完成了,所以在此分享给有需要的朋友:说到负载均衡,其实在linux下有很多服务可以实现,比如nginx.haproxy.lvs等服务,当前我们在前面的文章有介绍过了,但是对于高可用服务,我们在linux下最常见也是应用最多的是Kee

haproxy实现的web反向代理,动静分离,以及基于keepalived实现的haproxy的高可用

   haproxy于Nginx一样都是做反向代理,但是与其相比,haproxy更专注于web代理.HAProxy是单进程多请求,也支持多进程,HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接.       haproxy功能的实现全部基于配置文件,所以我们需要了解很多的配置指令,玩转指令,再结合实际情况,我们就玩转了haproxy,其实haproxy的配置也很简单,下面我们一起简单认识和了解一些haproxy的基本功能和相关知识.         CentOS6.5自带的rpm

用keepalived来实现haproxy的高可用性能

一.haproxy和keepalived的解释: 1.haproxy:haproxy是免费.极速且可靠的用于为TCP和基于HTTP应用程序提供负载均衡和代理服务的解决方案,尤其适用于高负载且需要持久连接或7层处理机制的web站点. 2.haproxy的特性:客户端侧的长连接(client-side keep-alive):TCP加速(TCP speedups): 响应池(response buffering):RDP协议:基于源的粘性(source-based stickiness):更好的统计

Keepalived实现LVS-DR模型的高可用_2015101601

Keepalived实现LVS-DR模型的高可用 >>>拓扑结构简介 本次实验所使用的系统发行版本为:centos6.6 (nod1)路由器,为一台linux主机模拟,共有两个接口eth0内网172.16.0.0/16网段,并且该接口为内网RS的网关:eth1为外网192.168.1.0/24网段,为外网客户端的网关 (nod55)为MASTER调度器,DIP为172.16.13.55/16,keepalived工作于抢占模式 (nod44)为BACKUP调度器,DIP为172.16.1

keepalived+lvs实现调度、高可用、高性能集群

6.keepalived+lvs实现调度.高可用.高性能集群 Keepalived的作用是: 检 测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服 务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务 器       (1)安装keepalived     # ./configure --prefix=/usr

Keepalived+Nginx实现双主高可用负载均衡

Keepalived+Nginx实现双主高可用负载均衡 一.部署Nginx+keepalived高可用有两种配置方案: 1.Nginx+keepalived 主从配置 前端使用两台机器,使用一个VIP,即其中一台为主负责全部请求,一台为备,只用在主出现故障时,才会替代主处理请求,平常处于闲置状态,此方案不够理想.  2.Nginx+keepalived 双主配置 前端使用2台机器,使用两个VIP,互为主备,不考虑其他情况时均衡处理请求,当其中一台机器出现故障时,另一台负责处理对两台机器的请求,此

Keepalived+Nginx实现负载均衡高可用

一.负载均衡高可用 Nginx作为负载均衡器,所有请求都到了Nginx,可见Nginx处于非常重点的位置,如果Nginx服务器宕机后端web服务将无法提供服务,影响严重. 为了避免负载均衡服务器的宕机故障,需要建立一个备份机.主备机上都运行高可用(High Availability)监控程序,通过传送心跳信息来监控对方的运行状况.当备份机不能在一定的时间内收到对方的正常心跳时,它就接管主服务器的服务IP并继续提供负载均衡服务:当备份管理器又从主管理器收到"I am alive"这样的信

keepalived + mysqlroute +mysql实现mysql高可用

一.环境介绍: 1.1服务器角色配置: mysql-master 10.0.0.101(外) 172.168.1.101(内) mysql-slave 10.0.0.103 (外) 172.168.1.103(内) mysql-router01 10.0.0.102 (外) 172.168.1.102(内) mysql-router02 10.0.0.104 (外) 172.168.1.104(内) jumpserver 10.0.0.128 (外) 172.168.1.128(内) 1.2配置