keeplived配置

keeplived简介

keeplived是一个基于VRRP协议来实现的WEB服务高可用方案,可以利用其来避免单点故障。一个WEB服务至少会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

#全局定义块

global_defs {
      notification_email {           #指定keepalived在发生切换时需要发送email到的对象,一行一个
         123456@gmail.com

}
     notification_email_from      #指定发件人
     smtp_server 127.0.0.1           #指定smtp服务器地址
     smtp_connect_timeout 3          #指定smtp连接超时时间
     router_id LVS_DEVEL             #运行keepalived机器的一个标识
}

#监控haproxy 进程
vrrp_script chk_haproxy {            # Requires keepalived-1.1.13
     script "killall -0 haproxy"       # widely used idiom
     interval 2                            # check every 2 seconds
     weight 2                       
    }

#VRRP实例定义块
vrrp_sync_group VG_1{               #监控多个网段的实例
        group {
  inside_network                    #实例名
  outside_network
 }
 notify_master /path/xx.sh          #指定当切换到master时,执行的脚本
 netify_backup /path/xx.sh          #指定当切换到backup时,执行的脚本
 notify_fault "path/xx.sh VG_1"     #故障时执行的脚本
 notify /path/xx.sh
 smtp_alert                         #使用global_defs中提供的邮件地址和smtp服务器发送邮件通知
}
vrrp_instance inside_network {
    state BACKUP                    #指定那个为master,那个为backup,如果设置了nopreempt这个值不起作用,主备考priority决定

# nopreempt                       #设置为不抢占 注:这个配置只能设置在backup主机上,而且这个主机优先级要比另外一台高
    interface eth0                  #设置实例绑定的网卡
    dont_track_primary              #忽略vrrp的interface错误(默认不设置)
    track_interface{                #设置额外的监控,里面那个网卡出现问题都会切换
     eth0
     eth1
    }

mcast_src_ip                    #发送多播包的地址,如果不设置默认使用绑定网卡的primary ip
    garp_master_delay               #在切换到master状态后,延迟进行gratuitous ARP请求
    virtual_router_id 50            #VPID标记 ,路由ID,可通过#tcpdump vrrp查看
    priority 99                     #优先级,高优先级竞选为master
    advert_int 1                    #检查间隔,默认1秒

preempt_delay                   #抢占延时,默认5分钟
    debug                           #debug级别
    authentication {                #设置认证
        auth_type PASS              #认证方式
        auth_pass 111111            #认证密码
    }
    virtual_ipaddress {             #设置vip
        172.16.31.30
    }
}

#虚拟服务器定义块
virtual_server 172.16.31.3123 {
    delay_loop 6                    #健康检查时间间隔
    lb_algo rr                      #lvs调度算法rr|wrr|lc|wlc|lblc|sh|dh
    lb_kind DR                      #负载均衡转发规则NAT|DR|RUN
    persistence_timeout 5           #会话保持时间
    protocol TCP                    #使用的协议
    persistence_granularity  #lvs会话保持粒度
    virtualhost            #检查的web服务器的虚拟主机(host:头)   
    sorry_server     #备用机,所有realserver失效后启用
    real_server 192.168.200.5 23 {
               weight 1             #默认为1,0为失效
               inhibit_on_failure   #在服务器健康检查失效时,将其设为0,而不是直接从ipvs中删除
               notify_up|   #在检测到server up后执行脚本
               notify_down|#在检测到server down后执行脚本
   
               TCP_CHECK {
               connect_timeout 3    #连接超时时间
               nb_get_retry 3       #重连次数
               delay_before_retry 3 #重连间隔时间
               connect_port 23      #健康检查的端口的端口
               bindto  
                         }
              HTTP_GET | SSL_GET{
              url{                  #检查url,可以指定多个
              path /
              digest      #检查后的摘要信息
              status_code 200       #检查的返回状态码
                 }
              connect_port
              bindto
              connect_timeout 5
              nb_get_retry 3
              delay_before_retry 2
                              }

SMTP_CHECK{
              host{
              connect_ip
              connect_port  #默认检查25端口
              bindto
                  }
              connect_timeout 5
              retry 3
              delay_before_retry 2
              helo_name|   #smtp helo请求命令参数,可选
                       }
             MISC_CHECK{
             misc_path|#外部脚本路径
             misc_timeout        #脚本执行超时时间
             misc_dynamic        #如设置该项,则退出状态码会用来动态调整服务器的权重,返回0 正常,不修改;返回1,检查失败,权重改为0;返回2-255,正常,权重设置为:返回状态码-2
                       }
      }

}

时间: 2024-10-29 19:12:02

keeplived配置的相关文章

Keeplived配置Nginx双机高可用

一.简介不管是Keepalived还是Heartbeat做高可用,其高可用,都是站在服务器脚本去说的高可用,而不是服务的角度.也就是说,如果服务器DOWN机或者网络出现故障,高可用是可以实现自动切换的.如果运行的服务,比如Nginx挂掉这些高可用软件是意识不到的,需要自己写脚本去实现服务的切换. 二.安装配置Keepalived # ./configure # make# make install # cp /usr/local/etc/rc.d/init.d/keepalived /etc/r

LB(Load balance)负载均衡集群--{LVS-[NAT+DR]单实例实验+LVS+keeplived实验} 菜鸟入门级

LB(Load balance)负载均衡集群 LVS-[NAT+DR]单实例实验 LVS+keeplived实验 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统. 逻辑可分为: 1调度层 (Director):它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的. 2[服务器池(server pool)/集群层(Real server)]:是一组真正执行客

lvs和keeplived的工作原理详解

一.lvs的工作原理 使用集群的技术和liunx的操作系统实现一个高性能.高可用的服务器.可伸缩性.可靠性.很好的管理性. 特点:可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份).我们先分析实现虚拟网络服务的主要技术,指出IP负载均衡技术是在负载调度器的实现技术中效率最高的.在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的.高可用的虚拟服务器,我们称之为VS/NAT技术(Vir

LVS+Keepalive

一.常用的负载均衡软件: Nginx  应用层负载 LVS      网络层负载 HAProxy  应用层负载 常用的负载均衡硬件: F5 .Netscale 二.LVS的四种工作模式 1)VS/NAT模式(Network address translation) 通过NAT转换表进行负载,收包和回包都需要查表 2)VS/TUN模式(tunneling) 给数据包打上IP头 3)DR模式(Direct routing) 给数据包打上MAC头 4)fulnat 双重NAT转换 三.LVS的配置(N

MooseFS分布式文件系统+keepalived高可用+unison和intoify实时双机器同步(二)

.moosefs+keepalived双机高可用 2.1.部署环境及思路 2.1.1.环境 192.168.1.237  keepalived (MASTER)  mfsmaster   mfscgiserv 192.168.1.236  keepalived (Slave)      mfschuckserver  mfsclient 192.168.1.239  虚拟VIP 2.1.2.原理 mfsmaster的故障恢复在1.6.5版本后可以由mfsmetalogger产生的日志文件 cha

haproxy负载均衡的配置,以及haproxy+keeplived

####Haproxy##########(http代理)### 准备三台虚拟机 yum install haproxy -y cd /etc/haproxy/ vim haproxy.cfg /etc/init.d/haproxy start vim haproxy.cfg 将前端和后端的注释 #--------------------------------------------------------------------- # main frontend which proxys t

redis 主从同步配置以及redis+keeplived高可用架构

系统环境:CentOS release 6.3 (Final) redis版本:redis-2.8.13 redis主:192.168.1.141 从:192.168.1.142 redis主从同步配置: redis安装配置已经在上篇文档写过: 主从安装配置好redis后,在主redis写入数据,然后从redis主配置文件设置成从: # vim /etc/redis.conf slaveof 192.168.1.141 6379     在配置文件最后加入 然后重启从redis:主从配置成功

MySQL+keeplived高可用配置

MySQL高可用基础环境:基于MySQL互为主从(双主.主主),请现配置 主备两台机器 主的操作1.在keepalived主服务器上安装keepalived yum -y install keepalived 2.编辑配置文件 vim /etc/keepalived/keepalived.conf 内容更改如下: vrrp_instance VI_1 { state MASTER \\初始状态:MASTER/BACKUP interface eth0 \\生成VIP的网卡设备 virtual_r

配置和查看网络信息

ifconfig查看配置别名ip等 [[email protected] ~]# ifconfigeth0      Link encap:Ethernet  HWaddr 00:50:56:37:E5:DD            inet addr:192.168.1.110  Bcast:192.168.1.255  Mask:255.255.255.0          inet6 addr: fe80::250:56ff:fe37:e5dd/64 Scope:Link