Keepalived用法详解

简介:

PDF资料:《keepalived the definitive guide

keepalived已经接触了一段时间,它的配置文件格式熟记于心,但不了解配置中每一行参数的意义,至于其代码架构,完全是一窍不通。

编译keepalived的时候,需要注意,如果需要支持lvs的,一定要在./configure上加上参数"–with-kernel-dir=/usr/src/kernels/2.6.18-238.19.1.el5-x86_64"(不同系统内核不同)。

keepalived.conf文件是keepalived的唯一一份配置文件,结构清晰,现在自己注释一遍,加深自己的理解。

! Configuration File for keepalived

global_defs {                        #全局配置 
   notification_email {            #指定keepalived故障时发送Email 
     xxxxxx@xxx.com           #Email地址 
    # failover@firewall.loc 
    # sysadmin@firewall.loc 
   } 
   notification_email_from Alexandre.Cassen@firewall.loc 
   smtp_server 127.0.0.1         #SMTP服务器,本地开启sendmail无需改动配置 
   smtp_connect_timeout 30 
   router_id LVS_DEVEL        #运行keepalived机器的一个标识 
}

vrrp_instance VI_1 {                  #VRRP实例VI_1 
    state MASTER                 #初始值MASTER #选举的优先级,优先级大的为MASTER,BACKUP  备份服务上将100改为99   

 interface eth0              #所绑定的网卡 
    virtual_router_id 51     #VRID标记(0~255) 
    priority 100        #优先级 
    advert_int 1             #检查间隔

    #nopreempt            #不抢占,

     authentication {         #认证设置,只能在state为backup,且优先级高的主机上 
        auth_type PASS            #认证方式PASS(另外一种HA) 
        auth_pass 1111 
    } 
    virtual_ipaddress {       #虚拟ip 
        192.168.1.80 
        
    } 
}

virtual_server 192.168.1.80 8080 {     #虚拟主机 
    delay_loop 6 
    lb_algo rr    #LVS调度算法(rr|wrr|lc|wlc|lblc|sh|dh) 
    lb_kind DR             #LVS群集模式(NAT|DR|TUN) 
    nat_mask 255.255.255.0   #mask 
    persistence_timeout 50           #会话保持时间 
    protocol TCP       #使用协议

    real_server 192.168.1.81 8080 {     #真实服务器 
        weight 1      #默认为1,0为不工作

      # inhibit_on_failure          #服务器健康失败,将weight设置为0,而不删除

     # notify_up    #检测到服务器开启执行的脚本

     # notify_down    #检查服务器宕机执行的脚本

       # SSL_GET {      #SSL检查方式 
        #    url { 
         #     path / 
          #    digest ff20ad2481f97b1754ef3e12ecd3a9cc 
           # } 
          #  url {     
           #   path /mrtg/ 
            #  digest 9b3a0c85a887a256d6939da88aabd8cd 
          #  } 
            connect_timeout 13 
            nb_get_retry 3 
            delay_before_retry 3 
       # }

#        TCP_CHECK{   # TCP方式健康检测

#               connect_port 80

#              bindto 192.168.1.1

#               connect_timeout 4

#         } 
    }

    real_server 192.168.1.83 8080 { 
        weight 2 
       # HTTP_GET { 
       #     url { 
            #  path /testurl/test.jsp 
           #   digest 640205b7b0fc66c1ea91c463fac6334c 
          #  } 
         #   url { 
        #      path /testurl2/test.jsp 
       #       digest 640205b7b0fc66c1ea91c463fac6334c 
        #    } 
            connect_timeout 13 
            nb_get_retry 3 
            delay_before_retry 3 
       # } 

}











本文转自 yntmdr 51CTO博客,原文链接:http://blog.51cto.com/yntmdr/1588316,如需转载请自行联系原作者
目录
相关文章
|
存储 算法 数据可视化
PCL 随机采样一致性--识别球面和平面
PCL 随机采样一致性--识别球面和平面
PCL 随机采样一致性--识别球面和平面
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
368 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
Unix Linux C语言
在Linux中,grep和egrep命令的区别?
在Linux中,grep和egrep命令的区别?
|
数据采集 Web App开发 数据可视化
程序员必知:对厦门二手房的数据分析与可视化分析
程序员必知:对厦门二手房的数据分析与可视化分析
316 0
|
Python
Python软链接:Python 2与现代Python的交互 原创
Python软链接:Python 2与现代Python的交互 原创
198 2
|
前端开发
前端 TS 快速入门之六:枚举 enum
前端 TS 快速入门之六:枚举 enum
371 0
|
Java 关系型数据库 MySQL
idea自动生成代码插件EasyCode 篇一
idea自动生成代码插件EasyCode介绍第一篇
846 0
|
存储 消息中间件 SQL
看场景、重实操,实时数仓不是“纸上谈兵”
Hologres产品负责人合一谈谈他眼中的实时数仓!
2756 4
看场景、重实操,实时数仓不是“纸上谈兵”
|
机器学习/深度学习 PyTorch 测试技术
SegNeXt: Rethinking Convolutional Attention Design for Semantic Segmentation 论文解读
我们提出了SegNeXt,一种用于语义分割的简单卷积网络架构。最近的基于transformer的模型由于在编码空间信息时self-attention的效率而主导了语义分割领域。在本文中,我们证明卷积注意力是比transformer中的self-attention更有效的编码上下文信息的方法。
797 0