`
gaojingsong
  • 浏览: 1200833 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Keepalived 介绍】

阅读更多

Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层、第4层和第7层交换机的功能。主要提供loadbalancing(负载均衡)和 high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP协议实现多台机器之间的故障转移服务。 

 

Keepalived is a routing software written in C. The main goal of this project is to provide simple and robust facilities for loadbalancing and high-availability to Linux system and Linux based infrastructures. Loadbalancing framework relies on well-known and widely used Linux Virtual Server (IPVS) kernel module providing Layer4 loadbalancing. Keepalived implements a set of checkers to dynamically and adaptively maintain and manage loadbalanced server pool according their health. On the other hand high-availability is achieved by VRRP protocol. VRRP is a fundamental brick for router failover. In addition, Keepalived implements a set of hooks to the VRRP finite state machine providing low-level and high-speed protocol interactions. Keepalived frameworks can be used independently or all together to provide resilient infrastructures.

 

Keepalived is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

 

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

 

 

keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。

在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。

VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。 Vrrp中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。当主控路由失效后,备份路由中会重新选举出一个主控路由,来继续工作,来保障不间断服务。

 

 

keepalived工作原理

keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。

虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。

 



 

 

 

Keepalived工作原理

Layer3,4&7工作在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将把这台服务器从服务器群中剔除。

Layer7:Layer7就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。

 

 

内核空间:主要包括IPVS(IP虚拟服务器,用于实现网络服务的负载均衡)和NETLINK(提供高级路由及其他相关的网络功能)两个部份。 

用户空间:

 

WatchDog:负载监控checkers和VRRP进程的状况

VRRP Stack:负载负载均衡器之间的失败切换FailOver,如果只用一个负载均稀器,则VRRP不是必须的。

Checkers:负责真实服务器的健康检查healthchecking,是keepalived最主要的功能。换言之,可以没有VRRP Stack,但健康检查healthchecking是一定要有的。

IPVS wrapper:用户发送设定的规则到内核ipvs代码

Netlink Reflector:用来设定vrrp的vip地址等。

Keepalived的所有功能是配置keepalived.conf文件来实现的。

 

 

Keepalived作用

主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现。

高可用web架构: LVS+keepalived+nginx+apache+php+eaccelerator(+nfs可选 可不选)

  • 大小: 37.2 KB
0
0
分享到:
评论

相关推荐

    LVS+Keepalived介绍及在CentOS环境下的部署

    ### LVS+Keepalived介绍及在CentOS环境下的部署 #### LVS简介与工作原理 LVS(Linux Virtual Server)是由章文嵩博士发起的一个自由软件项目,它旨在通过负载均衡技术和Linux操作系统来实现高性能、高可用的服务器...

    Linux运维-03--服务器的高可用-07keepalived介绍和组成实现原理.mp4

    Linux运维-03--服务器的高可用-07keepalived介绍和组成实现原理.mp4

    生产环境之负债均衡LVS+keepalived方案(3)-KeepAlived介绍.pdf

    【Keepalived】是针对LVS(Linux Virtual Server)负载均衡解决方案的重要组件,它主要用于管理和监控LVS集群中各个服务节点的状态,确保系统的高可用性。Keepalived引入了VRRP(Virtual Router Redundancy Protocol...

    高可用的并发解决方案nginx+keepalived视频教程

    本课程介绍了目前处理并发能力非常强悍的开源软件nginx快速入门及使用,介绍nginx+tomcat集群处理并发解决方案,带大家认识虚拟路由,了解虚拟路由的工作流程并安装keepalived,实现nginx+keepalived主备配置,达到...

    Keepalived权威指南(中文)

    #### 二、Keepalived介绍 - **Keepalived概述**:Keepalived是一款开源软件,主要用于提升基于Linux系统的高可用性,它支持VRRP、健康检查等功能。通过Keepalived可以在多台服务器之间实现负载均衡和故障转移。 - ...

    redis主从配置及通过keepalived实现redis自动切换

    2. Keepalived 介绍: Keepalived 是一个基于 Linux 的高可用性解决方案,它可以监控服务器的状态,并在服务器故障时自动切换到备用的服务器上。Keepalived 可以与多种服务器软件集成,包括 Redis、MySQL、Apache ...

    高可用集群利器Keepalived架设网站与mysql集群详细版

    一、Keepalived介绍 Keepalived是一款基于VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)的开源项目,主要功能是监控和管理网络服务,确保在主服务器故障时,可以自动将流量切换到备用服务器,从而...

    nginx+keepalived安装包

    **Keepalived介绍** Keepalived的核心功能是实现VRRP协议,这是一种虚拟路由器冗余协议,能够创建一个虚拟路由器实例,由一组物理服务器共同维护。当主服务器失效时,Keepalived会自动将虚拟IP地址切换到备份服务器...

    高并发nginx+keepalived部署教程

    1. **Keepalived介绍** - Keepalived是一款免费开源的高可用解决方案软件,常用于构建双机热备环境。 - 主要功能包括健康检查、故障转移等。 2. **安装与配置** - **下载**:访问官方网站 ...

    Redis+keepalived搭建教程和高可用测试

    **Keepalived介绍** Keepalived是一个网络服务监控和故障切换工具,主要设计用来提供LVS(Linux Virtual Server)的高可用性。它通过健康检查确保服务的正常运行,并在检测到故障时自动进行主备切换。 **Redis+...

    运维社区-LVS+Keepalived.pdf

    **Keepalived介绍** Keepalived是一个用于实现LVS高可用性的工具,它监控LVS Director的状态,并在Director故障时进行快速切换,确保服务不间断。Keepalived通过健康检查机制检测Real Server的可用性,并动态调整...

    keepalived nginx 部署安装包

    1. **keepalived介绍**:keepalived的主要功能是监控系统服务的状态,当主服务器出现故障时,它可以自动将流量切换到备用服务器,确保服务的连续性。它实现了VRRP(虚拟路由冗余协议),能够在多台服务器间实现路由...

    keepalived linux tar文件下载

    1. **Keepalived介绍** Keepalived是基于VRRP(Virtual Router Redundancy Protocol)协议实现的,它为Linux系统提供了一种高可用性解决方案。其主要任务是在主服务器出现故障时,自动将工作负载转移到备份服务器,...

    nginx+keepalived.zip

    2. **Keepalived介绍** - Keepalived是为LVS(Linux Virtual Server)设计的一个网络守护进程,但同样适用于其他需要高可用性的服务,如Nginx。 - Keepalived通过VRRP(Virtual Router Redundancy Protocol)协议...

    keepalived-1.2.16.tar.gz

    1. **Keepalived介绍** Keepalived的设计目标是为了提供一种简单、高效且可靠的解决方案,确保网络服务的高可用性。它主要基于VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)协议,通过心跳检测...

    Keepalived快速上手.pdf

    1:Keepalived介绍和基本实现思路 2:VRRP协议:概念、理解、工作机制、负载分担等 3:Keepalived安装 4:Keepalived体系结构 5:Keepalived配置 6:Keepalived+Nginx的HA 7:Keepalived的HA,比如和:Varnish、...

Global site tag (gtag.js) - Google Analytics