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】配置文件相关推荐

  1. keepalived配置文件详解   ​

    keepalived配置文件详解 keepalived配置文件分为三个部分:全局配置(Globals configurations).vrrp配置(VRRP configuration). LVS配置 ...

  2. 如何安装keepalived、keepalived配置文件讲解

    目录 前言 安装keepalived软件 先查看keepalived的状态(先不启动,Keepalived很坑爹的) 复制配置文件 启动Keepalived keepalived配置文件说明 前言 环 ...

  3. keepalived配置文件keepalived.conf详解

    keepalived.conf详解 一个功能比较完整的常用的 keepalived 配置文件,主要包含以下三块 第2行全局定义块是必须配置项, 一,全局定义块 这部分主要用来设置Keepalived的 ...

  4. Keepalived配置文件

    配置文件 所有配置都在一个配置文件中 默认配置文件存放位置 /etc/keepalived/keepalived.conf 配置项分为三类 全局配置 VRRPD配置 LVS配置 全局配置 对整个Kee ...

  5. 【收藏】keepalived配置文件解读

    nginx+keepalived高可用配置详解: https://blog.csdn.net/ljx1528/article/details/82842194 配置文件keepalived.conf详 ...

  6. 修改Keepalived配置文件位置以及重定向Keepalived日志的输出路径

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  7. Keepalived配置文件详解

    keepalived keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障. keepalived工作原理 keepalived是以VRRP( ...

  8. keepalived 配置文件参数详解

    global_defs 全局配置 vrrpd1. vrrp_script添加一个周期性执行的脚本.脚本的退出状态码会被调用它的所有的VRRP Instance记录.2. vrrp_sync_group ...

  9. 高可用之KeepAlived(一):基本概念和配置文件分析

    KeepAlived系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.概述 KeepAlived主要有两个功能: (1).能够对Real ...

  10. keepalived安装及配置文件详解

    一.安装Keepalived服务 两种安装方式: (1)yum方式安装 yum -y install keepalived# 查看安装路径 rpm -ql keepalived (2)源码安装 1)安 ...

最新文章

  1. PO、VO、FormBean的思考
  2. 实现BFS之“营救”
  3. SpringCloud 应用在 Kubernetes 上的最佳实践 —— 高可用(容量评估)
  4. 20170102-文件处理
  5. P4718-[模板]Pollard-Rho算法
  6. SMTP连接器的使用
  7. ETL__pentaho__SPOON_PDI
  8. Inf and NaN cannot be JSON encoded
  9. 如何批量打印ppt文件
  10. DSP与FPGA的SRIO通信实现
  11. 企业微信机器人消息发送(文本、图片、文件)
  12. 2018.12.15【NOIP提高组】模拟B组 jzoj100047. 基因变异
  13. verilog代码中避免出现latch方法
  14. 朱子治家格言(清朝·朱柏庐)
  15. Paste for Mac(剪切板历史管理工具)
  16. 面试数据分析师岗位要注意的几点
  17. bzero memset置零的性能比较
  18. PHP fscanf
  19. Java并发原理解析!docker命令
  20. 安卓开发的一些uuid,imei,meid,imsi,clientid,uuid

热门文章

  1. 2022电大国家开放大学网上形考任务-数学思想与方法非免费(非答案)
  2. VS2022创建一个空网站
  3. DeVops的那些事儿:引子
  4. 华为 eNSP 模拟器练习3
  5. 服务器系统找不到分区,win10装系统找不到引导分区怎么办_网站服务器运行维护,win10...
  6. python npv 计算公式_python – IRR实现中使用的数值方法是什么?
  7. 不同网段通过路由器通信
  8. java登录失败三次一小时后再等_Spring Security实现多次登录失败后账户锁定功能...
  9. JS商品足迹案例代码
  10. 如何用纯 CSS 创作一个小球上台阶的动画