简介

编辑

Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

工作原理

编辑

Layer3,4,5工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下:
Layer3:Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。
Layer4:如果您理解了Layer3的方式,Layer4就容易了。Layer4主要以TCP端口的状态来决定服务器工作正常与否。如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。
Layer5:Layer5对指定的URL执行HTTP GET。然后使用MD5算法对HTTP GET结果进行求和。如果这个总数与预期值不符,那么测试是错误的,服务器将从服务器池中移除。该模块对同一服务实施多URL获取检查。如果您使用承载多个应用程序服务器的服务器,则此功能很有用。此功能使您能够检查应用程序服务器是否正常工作。MD5摘要是使用genhash实用程序(包含在keepalived软件包中)生成的。
SSL_GET与HTTP_GET相同,但使用SSL连接到远程Web服务器。
MISC_CHECK:此检查允许用户定义的脚本作为运行状况检查程序运行。结果必须是0或1.该脚本在导演盒上运行,这是测试内部应用程序的理想方式。可以使用完整路径(即/path_to_script/script.sh)调用可以不带参数运行的脚本。那些需要参数的需要用双引号括起来(即“/path_to_script/script.sh arg 1 ... arg n”)

作用

编辑

主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现。
高可用web架构: LVS+keepalived+nginx+apache+php+eaccelerator(+nfs可选 可不选)
 
 
转载自:
https://baike.baidu.com/item/Keepalived/10346758?fr=aladdin

最新文章

  1. PHPMailer < 5.2.18 - RCE EXP(Bash)
  2. Leetcode Longest Palindromic Substring
  3. harris角点检测的学习
  4. ssh: command not found的解决办法
  5. 【iScroll源码学习03】iScroll事件机制与滚动条的实现
  6. poj2386(简单dfs)
  7. 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
  8. 读书笔记-JavaScript中的全局对象
  9. css考核点整理(十二)-能描述下你在项目中都用到了哪些符合逐渐增强和优雅降级的理念的技巧吗
  10. 并行编译加快VS C++项目的编译速度
  11. input type file onchange上传文件的过程中,遇到同一个文件二次上传无效的问题。
  12. 【转】引入android项目在eclipse ADT中显示中文乱码问题
  13. 二维码开源库ZBar-实现中文解码
  14. Springboot自定义异常处理
  15. Spring Boot druid监控页添加登录访问权限(用户名+密码)
  16. [工作积累] UE4 TAA ReProjection的精度处理
  17. Sci_DRead_ParaBuzzerDriver_st_BuzzerSoundOpening1
  18. Python中的yield生成器的简单介绍
  19. Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
  20. Ionic 2.0 相关资料

热门文章

  1. T-SQL学习笔记
  2. 1. Spark基础解析
  3. VK Cup 2017 - Round 1 (CDE)
  4. python 实现 websocket
  5. 使用Jenkins编译打包SpringCloud微服务中的个别目录
  6. 使用winsw将springboot打包的jar注册系统本地服务
  7. CentOS7.9防火墙命令
  8. JS如何做2048(详细)
  9. sql server统计总成绩和排名
  10. Windows如何打开/关闭 服务