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 { } : 传输层健康状态检测
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)