Keepalived原理及配置文件说明

Keepalived原理及配置文件说明,第1张

Keepalived原理及配置文件说明 一、安装步骤

yum install -y keepalived
systemctl start keepalived
systemctl enable keepalived

二、原理介绍

简介:
Keepalived是Linux下一个轻量级别的高可用解决方案
参考改文章:
https://blog.csdn.net/qq_24336773/article/details/82143367

三、配置文件说明

配置文件路径
/etc/keepalived/keepalived.conf
配置文件说明
Global configuration : 全局配置
global_defs {

}

VRRP Configuration : 配置VRRP实例
vrrp_instance NAME {

}

LVS Configuration : IPVS的相关配置
virtual_server IP PORT {

real_server IP PORT {

}
}

配置文件详细说明

  • Global指令
    notification_email {} : 邮件通知的对象,收件人邮箱
    notification_email_from : 发件人邮箱
    smtp_server : 邮件发送服务器IP地址
    smtp_connect_timeout : 连接邮件服务器的超时时长
    router-id HOSTNAME : 物理节点的标识符,建议使用主机名
    vrrp_mcast_grou4 224.0.0.18 : vrrp的多播地址,IPV4,默认为224.0.0.18
    vrrp_mcast_group6 ff02::12 : vrrp的多播地址, IPV6
    vrrp_script NAME { } : 定义脚本,可以在vrrp_instance中使用track_script引用
    script COMMAND : script是固定字段,后面为脚本的内容,有空格需要使用引号包括起来
    interval # : 间隔多长时间进行状态查看,以秒为单位
    weight [+|-] # : 如果脚本的返回状态是失败的,将优先级减去相应的数值
    nopreempt : 定义为非抢占模式
    preempt_delay TIME : 定义为延迟抢占模式

  • VRRP_instance指令
    state MASTER | BACKUP : 在当前VRRP实例中(虚拟路由器组)此节点的初始实例
    Interface IFACE_NAME : vrrp用于绑定VIP的接口,各节点网卡接口名称需保持一致
    virtual_route_id # : 虚拟路由器的ID(VRID),可用值为0-255,默认为51
    priority # : 当前路由器节点的优先级,可用范围为0-255
    advert_in # : 通告时间间隔,单位是秒种,默认是1秒
    authentication { } : 定义认证的特殊引用段
    auth type PASS : 指定集群密钥方式
    auth_pass 1234 : 字符密钥吸有前8个有效
    virtual_ipaddress { } : 定义集群中主机的特殊引用
    /brd Devscope label
    notify_master | : 当前节点转为主节点触发的脚本
    notify_backup | : 当前节点转为备用节点触发的脚本
    notify_fault | : 当前节点出现故障时触发的脚本
    notify | : 一般情况下, 只使用上面三个, 或者只使用下面一个
    track_script { VRRP_script_NAME } : 使用此引用,可以调用vrrp_script定义的脚本并执行

  • virtual_server指令
    delay_loop : 延迟多长时间检测集群服务是否OK
    lb_algo rr|wrr|lc|wlc|lblc|sh|dh : lvs的调度算法
    lb_kind NAT|DR|TUN : lvs的类型,如需支持fullnat,需要打补丁
    persistence_timeout : 持久时长,0表示不启用
    nat_mask 255.255.255.0 : IP掩码地址,此处的nat没有写错
    protocol TCP : lvs调度的协议,默认是udp,如果是udp可以不用添加此指令
    virtual_host : 对哪个虚拟主机做健康状态检测,可以不定义
    quorum : 最少法定票数,判断realserver有几台才是OK的
    quorum_up : 添加票数
    quorum_down : 降低票数
    sorry_server : 定义sorry server
    real_server IP PORT { } :定义一个real_server主机
    connect_timeout : 连接超时时长
    connect_ip : 检测的realserver的IP,一般不需要写,同url中的参数一样
    connect_port : 检测的realserver的port,一般不需要写,同url中的参数一样
    bindto : 同url中的参数一样
    bind_port : 使用哪个端口做健康状态检测
    url { } : 对url做健康检测的特殊引用
    nb_get_retry : get请求的重试次数
    delay_befor_retry : 两次重试之间的时间间隔,要延迟多长时间,再retry
    connect_ip : 默认会按real server的IP做健康状态检测,一般不需要再写,但有的时候可能有一个IP专门做健康状态检测的IP,故要手动添加上去
    connect_port : 连接的端口
    bindto : 如果keepalived主机有多个IP,定义用哪个IP完成健康状态检测
    connect_timeout : 连接超时时长,默认为5秒,但这个时长比较长, 建议调整至3秒
    warmup : 做健康状态检测的延迟, 即keepalived服务起来后,等待多长时间再开始健康状态检测,有时候后端的real server还未启动完成,故需要等待一段时间
    path : 检测的url路径
    status_code : 依赖返回状态码进行检测
    digest : 依赖页面的hash值进行检测,基于genhash命令完成hash值计算
    weight : 权重
    inhibit_no_failure : 如果检测失败,就把权重设置为0
    notify_up | : realserver上线通知,依赖脚本完成
    notify_down | : realserver下线通知,依赖脚本完成
    HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK : 对后端的realserver主机,使用相应的方法做健康状态检测
    TCP_CHECK { } : 传输层健康状态检测

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5693948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存