keepalived实现高可用介绍


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”)


  • 快速构建企业级虚拟专用网络环境-openvpn
  • CentOS替代榜单,哪个才是最佳选择
  • fastdfs开源的轻量级分布式文件系统
  • 什么是AD域控,AD域控有什么作用?
  • Grafana,监控神器!
  • CentOS 要到期了,快来看看有哪些替代品?
  • Nginx做负载均衡、静态资源发布
  • keepalived+haproxy高可用方案
  • KVM与常用企业级虚拟化产品的对比
  • Mysql数据库
  • ansible自动化运维
  • DevOps与自动化运维:开启高效软件开发之旅
  • Haproxy做负载均衡
  • Kubernetes容器化
  • Minio分布式存储应用
  • gitlab的部署
  • Jenkins实现自动化部署
  • Linux安装优化部署
  • Redis sentinel高可用方案
  • Linux+Nginx+PHP+Mysql环境部署
  • MySQL 高可用(MHA)方案
  • Zookeeper部署
  • keepalived实现高可用介绍
  • ELK架构日志收集
  • Solr高可用解决方案
  • Kafka集群部署
  • flume集群高可用连接kafka集群
  • Tomcat Web 应用服务器
  • Squid 代理服务器
  • prometheus实现业务监控
  • 基于etcd的服务发现与注册
  • 实时可视化监控-IT管理工具-open-falcon
  • 使用confd和etcd建立基于Nginx的服务发现和负载均衡服务
  • Harbor 开源企业容器镜像仓库
  • LVS、Nginx 及 HAProxy 的工作原理
  • etcd分布式存储系统
  • Nexus搭建私服
  • 8个最受欢迎的开源项目管理工具软件
  • 使用 Docker 部署 NextCloud 个人网盘
  • 对标 Notion + Obsidian ,可离线且开源免费的知识管理工具Anytype