【keepalived】配置文件
keepalived服务安装完成之后,后面的主要工作就是在keepalived.conf文件中配置HA和负载均衡。一个功能比较完整的常用的keepalived配置文件,主要包含三块:全局定义块、VRRP实例定义块和虚拟服务器定义块。全局定义块是必须的,如果keepalived只用来做ha,虚拟服务器是可选的。下面是一个功能比较完整的配置文件模板:
#全局定义块
global_defs {# 用于服务有故障时发送邮件报警,可选项,不建议用。需要系统开启sendmail服务,建议用第三独立监控服务notification_email {email1email2}notification_email_from emailsmtp_server hostsmtp_connect_timeout num# lvs负载均衡器标识,在一个网络内,它的值应该是唯一的。 lvs_id stringrouter_id string #用户标识本节点的名称,通常为hostname
}#同步vrrp级,用于确定失败切换(FailOver)包含的路由实例个数。即在有2个负载均衡器的场景,一旦某个负载均衡器失效,需要自动切换到另外一个负载均衡器的实例是哪
vrrp_sync_group string { # 至少要包含一个vrrp实例,vrrp实例名称必须和vrrp_instance定义的一致group {stringstring}
}# 定义一个虚拟路由器的实例,实例名称VI_1
vrrp_instance VI_1 {# 状态只有MASTER和BACKUP两种,并且要大写,MASTER为工作状态,BACKUP是备用状态。state MASTER|BACKUP# 虚拟路由ID,如果是一组虚拟路由就定义一个ID,如果是多组就要定义多个,# 而且这个虚拟ID还是虚拟MAC最后一段地址的信息,取值范围0-255# 同一个vrrp_instance的MASTER和BACKUP的vitrual_router_id 是一致的。virtual_router_id num# 对外提供服务的网卡接口,即VIP绑定的网卡接口。如:eth0,eth1。# 当前主流的服务器都有2个或2个以上的接口(分别对应外网和内网),在选择网卡接口时,一定要核实清楚。 interface string# 本机IP地址 mcast_src_ip @IP # 优先级,同一个vrrp_instance的MASTER优先级必须比BACKUP高。priority num# MASTER 与BACKUP 负载均衡器之间同步检查的时间间隔,单位为秒。advert_int numnopreemptsmtp_alert# 这个默认没有,负载均衡器之间的监控接口,类似于 HA HeartBeat 的心跳线。# 但它的机制优于 Heartbeat,因为它没有“裂脑”这个问题,它是以优先级这个机制来规避这个麻烦的。# 在 DR 模式中,lvs_sync_daemon_inteface与服务接口interface使用同一个网络接口lvs_sync_daemon_interface string authentication {auth_type PASS|AHauth_pass string}# 虚拟VIP地址,可以有多个地址,每个地址占一行,不需要子网掩码# 同时这个ip 必须与我们在lvs 客户端设定的vip 相一致!virtual_ipaddress { # Block limited to 20 IP addresses @IP@IP@IP}# 监控本机上的哪个网卡,网卡一旦故障则需要把VIP转移出去track_interface {eth0ens33}# 虚拟路由,在需要的情况下可以设置lvs主机 数据包在哪个网卡进来从哪个网卡出去virtual_routes {192.168.110.0/24 dev eth2}# 工作模式,nopreempt表示工作在非抢占模式,默认是抢占模式 preemptnopreempt|preempt# 如果是抢占默认则可以设置等多久再抢占,默认5分钟preempt delay 300# 追踪脚本,通常用于去执行上面的vrrp_script定义的脚本内容track_script {#调用检测脚本check_nginx#chk_http_port}# 三个指令,如果主机状态变成Master|Backup|Fault之后会去执行的通知脚本,脚本要自己写notify_master ""notify_backup ""notify_fault ""}# 定义LVS集群服务,名称可以是IP+PORT,也可以是fwmark 数字,也就是防火墙规则
virtual_server (@IP PORT)|(fwmark num) { delay_loop num # 健康检查时间间隔,单位:秒 lb_algo rr|wrr|lc|wlc|sh|dh|lblc # 负载均衡调度算法,互联网应用常用方式为wlc或rr lb_kind NAT|DR|TUN # 负载均衡转发规则。包括DR、NAT、TUN 3种,一般使用路由(DR)转发规则。persistence_timeout num # 子网掩码,这个掩码是VIP的掩码# 子网掩码,这个掩码是VIP的掩码nat_mask 255.255.255.0protocol TCP|UDP # http服务会话保持时间,单位:秒 # 如果后端应用服务器都不可用,就会定向到那个服务器上sorry_server 192.168.200.200 1358# 真实服务器IP和端口,可以定义多个 real_server 192.168.200.2 1358 {# 负载权重,值越大,转发的优先级越高 weight 1# MSIC_CHECK|SMTP_CHEKC|TCP_CHECK|SSL_GET|HTTP_GET这些都是,针对应用服务器做健康检查的方法 MISC_CHECK {}# 用于检查SMTP服务器的SMTP_CHEKC {}# 如果应用服务器不是WEB服务器,就用TCP_CHECK检查TCP_CHECK {# 向哪一个端口检查,如果不指定默认使用上面定义的端口connect_port <PORT># 向哪一个IP检测,如果不指定默认使用上面定义的IP地址bindto <IP># 连接超时时间connect_timeout 3}# 如果对方是HTTPS服务器就用SSL_GET方法去检查,里面配置的内容和HTTP_GET一样SSL_GET {}# 应用服务器UP或者DOWN,就执行那个脚本notify_up "这里写的是路径,如果脚本后有参数,整体路径+参数引起来"notify_down "/PATH/SCRIPTS.sh 参数"# 使用HTTP_GET方法去检查HTTP_GET {# 检测URLurl { # 具体检测哪一个URLpath /testurl/test.jsp# 检测内容的哈希值digest 640205b7b0fc66c1ea91c463fac6334d# 除了检测哈希值还可以检测状态码,比如HTTP的200 表示正常,两种方法二选一即可status_code 200}url { path /testurl2/test.jspdigest 640205b7b0fc66c1ea91c463fac6334d}url { path /testurl3/test.jspdigest 640205b7b0fc66c1ea91c463fac6334d}# 向哪一个端口检查,如果不指定默认使用上面定义的端口connect_port <PORT># 向哪一个IP检测,如果不指定默认使用上面定义的IP地址bindto <IP># 连接超时时间connect_timeout 3# 服务连接失败重试次数 nb_get_retry 3# 重试连接间隔,单位:秒delay_before_retry 3}} real_server @IP PORT {weight numMISC_CHECK {misc_path /path_to_script/script.sh(or misc_path “/path_to_script/script.sh <arg_list>”)}}real_server @IP PORT {weight numHTTP_GET|SSL_GET {url { # You can add multiple url block path alphanumdigest alphanum}connect_port numconnect_timeout num nb_get_retry num delay_before_retry num}}
}
【keepalived】配置文件相关推荐
- keepalived配置文件详解
keepalived配置文件详解 keepalived配置文件分为三个部分:全局配置(Globals configurations).vrrp配置(VRRP configuration). LVS配置 ...
- 如何安装keepalived、keepalived配置文件讲解
目录 前言 安装keepalived软件 先查看keepalived的状态(先不启动,Keepalived很坑爹的) 复制配置文件 启动Keepalived keepalived配置文件说明 前言 环 ...
- keepalived配置文件keepalived.conf详解
keepalived.conf详解 一个功能比较完整的常用的 keepalived 配置文件,主要包含以下三块 第2行全局定义块是必须配置项, 一,全局定义块 这部分主要用来设置Keepalived的 ...
- Keepalived配置文件
配置文件 所有配置都在一个配置文件中 默认配置文件存放位置 /etc/keepalived/keepalived.conf 配置项分为三类 全局配置 VRRPD配置 LVS配置 全局配置 对整个Kee ...
- 【收藏】keepalived配置文件解读
nginx+keepalived高可用配置详解: https://blog.csdn.net/ljx1528/article/details/82842194 配置文件keepalived.conf详 ...
- 修改Keepalived配置文件位置以及重定向Keepalived日志的输出路径
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- Keepalived配置文件详解
keepalived keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障. keepalived工作原理 keepalived是以VRRP( ...
- keepalived 配置文件参数详解
global_defs 全局配置 vrrpd1. vrrp_script添加一个周期性执行的脚本.脚本的退出状态码会被调用它的所有的VRRP Instance记录.2. vrrp_sync_group ...
- 高可用之KeepAlived(一):基本概念和配置文件分析
KeepAlived系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.概述 KeepAlived主要有两个功能: (1).能够对Real ...
- keepalived安装及配置文件详解
一.安装Keepalived服务 两种安装方式: (1)yum方式安装 yum -y install keepalived# 查看安装路径 rpm -ql keepalived (2)源码安装 1)安 ...
最新文章
- PO、VO、FormBean的思考
- 实现BFS之“营救”
- SpringCloud 应用在 Kubernetes 上的最佳实践 —— 高可用(容量评估)
- 20170102-文件处理
- P4718-[模板]Pollard-Rho算法
- SMTP连接器的使用
- ETL__pentaho__SPOON_PDI
- Inf and NaN cannot be JSON encoded
- 如何批量打印ppt文件
- DSP与FPGA的SRIO通信实现
- 企业微信机器人消息发送(文本、图片、文件)
- 2018.12.15【NOIP提高组】模拟B组 jzoj100047. 基因变异
- verilog代码中避免出现latch方法
- 朱子治家格言(清朝·朱柏庐)
- Paste for Mac(剪切板历史管理工具)
- 面试数据分析师岗位要注意的几点
- bzero memset置零的性能比较
- PHP fscanf
- Java并发原理解析!docker命令
- 安卓开发的一些uuid,imei,meid,imsi,clientid,uuid
热门文章
- 2022电大国家开放大学网上形考任务-数学思想与方法非免费(非答案)
- VS2022创建一个空网站
- DeVops的那些事儿:引子
- 华为 eNSP 模拟器练习3
- 服务器系统找不到分区,win10装系统找不到引导分区怎么办_网站服务器运行维护,win10...
- python npv 计算公式_python – IRR实现中使用的数值方法是什么?
- 不同网段通过路由器通信
- java登录失败三次一小时后再等_Spring Security实现多次登录失败后账户锁定功能...
- JS商品足迹案例代码
- 如何用纯 CSS 创作一个小球上台阶的动画