Keepalived的特性

    配置文件简单:配置文件比较简单,可通过简单配置实现高可用功能
    稳定性强:keepalived是一个类似于layer3, 4 & 7交换机制的软件,具备我们平时说的第3层、第4层和第7层交换机的功能,常用于前端负载均衡器的高可用服务,当主服务器出现故障时,可快速进行切换,监测机制灵活,成功率高。 
    成本低廉:开源软件,可直接下载配置使用,没有额外费用。
    应用范围广:因为keepalived可应用在多个层面,所以它几乎可以对所有应用做高可用,包括LVS、数据库、http服务、nginx负载均衡等等
    支持多种类型:支持主从模式、主主模式高可用,可根据业务场景灵活选择
 
Keepalived工作流程图

    
  
工作流程图详解:
Keepalived的核心模块是VRRP Stack和Cheackers,实现HA集群中失败切换(Failover)功能
Keepalived通过VRRP功能结合LVS负载均衡软件即可部署一个高性能的负载均衡集群系统
Checkers主要功能是可实现对服务器运行状态监测和故障隔离
其中IPVS和Realserver健康状态检查是通过配置文件配置实现
而其它服务(Nginx,HAProxy)的高可用则需要通过自己编写脚本,Keepalived提供调用脚本的接口 Keepalived运行有3个守护进程
父进程
主要负责读取配置文件初始化,监控2个子进程,由WacthDog提供监控
每个子进程打开一个接受Unix域套接字,父进程连接到那些Unix域套接字并向子进程发送周期性(5s)hello包
子进程
VRRP进程
Cheackers进程
上图Keepalived的功能体系结构,分为两层
用户空间
内核空间
IPVS和NETLINK

配置文件组成

/etc/keepalived/keepalived.conf
global configuration
global definitions:定义邮件配置,route_id, vrrp配置,多播地址等
vrrp configuration
vrrp instances :定义每个vrrp虚拟路由器
lvs configuration
virtual server groups
virtual servers : lvs集群的vs和rs
 
配置文件详解:

global
global_defs {
notification_email {
root@localhost
admin@nginx.com
} router_id LVS_DEVEL 每个keepalived主机唯一标识,建议使用hostname
vrrp_skip_check_adv_addr 默认对所有报文进行检查,比较消耗性能,可以设置为如果收到的报文和上一个报文是相同路由器则跳过检查
vrrp_strict 严格遵守vrrp协议,建议不加
vrrp_garp_interval 0 arp报文发送延迟,0表示不延迟
vrrp_gna_interval 0 (不请自来)消息发送延迟
vrrp_mcast_group4 224.0.0.18 组播地址
}
vrrp_instance VI_1 {
state MASTER 当前节点在此虚拟路由器的状态(master|backup)
interface eth0. 绑定当前虚拟路由器使用的物理接口
virtual_router_id 51 每个虚拟路由器的唯一标识
priority 100 当前节点在此虚拟路由器的优先级
advert_int 1 vrrp通告的时间间隔 默认1s
authentication { 认证机制
auth_type PASS pass为简单密码,推荐
auth_pass 1111 仅前8位有效
}
virtual_ipaddress {
虚拟IP,
192.168.200.16 不指定网卡,默认eth0 ,默认32 prefix
192.168.200.17/24 dev eth1 建议和interface指定的网卡不是同一个
192.168.200.18/24 dev eth2 lable eth2:1
}
}
 
 
 
virtual_server 192.168.18.240 80 {
#设置一个virtual server:
                VIP:Vport
                delay_loop 3
                # service polling的delay时间,即服务轮询的时间间隔
                lb_algo rr
                #LVS调度算法:rr|wrr|lc|wlc|lblc|sh|dh
                lb_kind DR
                #LVS集群模式:NAT|DR|TUN
                #persistence_timeout 120
                #会话保持时间(持久连接,秒),即以用户在120秒内被分配到同一个后端realserver
                nat_mask 255.255.255.255
                protocol TCP
                #健康检查用的是TCP还是UDP
                real_server 192.168.18.251 80 {
                #后端真实节点主机的权重等设置,主要,后端有几台这里就要设置几个
                weight 1
                #给每台的权重,rr无效
                #inhibit_on_failure
                #表示在节点失败后,把他权重设置成0,而不是IPVS中删除
          
                TCP_CHECK {
                    connect_timeout 2
                    #连接超时时间
                    nb_get_retry 3
                    #重连次数
                    delay_before_retry 1 #重连间隔
                                    }
      }
      

      real_server 10.211.55.33 80 {
        weight 1
        HTTP_GET {
          url {
            path /
            status_code 200
            }
          connect_timeout 3
          nb_get_retry 3
          delay_before_retry 3
        }
    }

    

keepalived 安装和配置解析的更多相关文章

  1. Linux下Keepalived 安装与配置

    Keepalived 安装与配置 一.环境说明 1.操作系统内核版本:2.6.9-78.ELsmp 2.Keepalived软件版本:keepalived-1.1.20.tar.gz 二.环境配置 1 ...

  2. Keepalived详解(二):Keepalived安装与配置【转】

    一.Keepalived安装与配置: 1.Keepalived的安装过程: Keepalived的安装非常简单,本实例以源码安装讲解: Keepalived的官方网址:http://www.keepa ...

  3. keepalived 安装和配置

    第一步:安装 yum -y install keepalived 第二步:配置 /etc/keepalived/keepalived.conf ! Configuration File for kee ...

  4. Keepalived + HAProxy 搭建【第二篇】Keepalived 安装与配置

    第一步:准备 1. 简介 本文搭建的是利用 Keepalived 实现 HAProxy 的热备方案,即两台主机上的 HAProxy 实例同时运行,其中全总较高的实例为 MASTER,MASTER出现异 ...

  5. keepalived 安装及配置

    简介 Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat.corosync.pacemaker. 但是它一般不会单独出现, ...

  6. keepalived安装与配置,组建高可用服务器

    一.准备环境 linux系统:CentOS7 keepalived版本:keepalived-1.3.5.tar.gz keepalived下载地址:http://www.keepalived.org ...

  7. Linux下Keepalived安装与配置

    一.简介 负载平衡是一种在真实服务器集群中分配IP流量的方法,可提供一个或多个高度可用的虚拟服务.在设计负载均衡拓扑时,重要的是要考虑负载均衡器本身的可用性以及它背后的真实服务器.用C编写的类似于la ...

  8. 【检测工具】keepalived安装及配置

    一.keepalived安装 keepalived是一个检测服务器状态的脚本,在高可用机制上经常可以看到它的身影. 在Linux中安装keepalived: 1.在网上直接下载相应的压缩包,推荐链接 ...

  9. Keepalived 安装与配置

    下载:http://www.keepalived.org/ what is keepalived? Keepalived is a routing software written in C. The ...

随机推荐

  1. LeetCode42. 接雨水(java)

    42.接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种 ...

  2. 由struts2中配置使用servlet引发的思考和复习

    Struts2拦截器到底拦截了什么? 关于struts2中的拦截器,首先再次理解其实只能过滤其中访问的action的映射!再者,因为struts中的action其实就是起到替代servlet作用的,所 ...

  3. ☕【Java技术指南】「TestNG专题」单元测试框架之TestNG使用教程指南(上)

    TestNG介绍 TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit, 功能都差不多, 只是功能更加强大,使用也更方便. 详细使用说明请参考官方链接:https://testng ...

  4. Jmeter的初体验--安装

    准备工作 安装JMeter前需要安装配置好Java 一.安装 1.直接在官网下载安装即可,下载地址:http://jmeter.apache.org/download_jmeter.cgi,(Wind ...

  5. 正整数a、b、c、d满足ab=cd,则a+b+c+d必定为合数。

    正整数a.b.c.d满足ab=cd,则a+b+c+d必定为合数. 证法一:记s=a+b+c+d.如果四个数全为1,s=4,显然是合数.考虑四个数非全1的情形,由对称性,不妨令a>1. 设p是a的 ...

  6. 矩阵BFS

    leetcode 1091矩阵BFS 在一个 N × N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1). 一条从左上角到右下角.长度为 k 的畅通路径,由满足下述条件的单元格 C_1, ...

  7. MongoDB(3)- Database 数据库相关

    Database MongoDB 将数据记录存储为文档(特别是 BSON 文档) 这些文档在集合中聚集在一起 数据库存储一个或多个文档集合. 在 MongoDB 里面存在数据库的概念,但没有模式 Sh ...

  8. CSS导航菜单(二级菜单)

    index.html <div class="nav"> <ul> <li> <a href="#">Java& ...

  9. Java优化if-else代码

    前言 开发系统一些状态,比如订单状态:数据库存储是数字或字母,但是需要显示中文或英文,一般用到if-else代码判断,但这种判断可读性比较差,也会影响后期维护,也比较容易出现bug.比如: 假设状态对 ...

  10. 为什么要设置GOROOT/GOPATH

    设置GOROOT的原因 编译器的位置指定的时候,需要指定GO开发包的安装位置,然后设置环境变量PATH的时候,需要指定到安装包下的bin目录,其中就有以下的编译/执行器.所以GOROOT指定了前面的路 ...