高可用软件Keepalived学习之Keepalived架构学习

最近在测试新游戏的部署方案,我们正在测试的一款手游后端代码部署采用HAProxy+Keepalived的方式进行部署,所以顺便研究下Keepalived的详细资料。

Keepalived的官方地址是http://www.keepalived.org/index.html

Keepalived是一个用C语言编写的路由软件,它的目的是为Linux系统或基于Linux系统的基础架构提供简单而强壮的负载均衡和高可用机制。负载均衡框架依赖于LVS的内核模块并提供四层负载均衡功能。它可以根据负载均衡器后端的服务器的健康状况维护并管理后端服务器。高可用功能是根据VRRP协议来实现的。VRRP是虚拟路由器冗余协议,它是一种容错协议,它是为了解决局域网中单个静态路由器出现单点故障的问题而被提出的一种协议,Keepalived能够提供高可用可能全靠它。

为了确保强健性和稳定性,Keepalived 后台进程启动后将分离成3个不同的进程。即一个父进程fork出两个子进程,一个子进程用于VRRP框架,另一个进程用于健康检查。每个子进程都有各自的Scheduler-I/O Mutiplexer。父进程的监控框架叫做WatchDog。如下面的keepalived启动后产生三个进程,一个父进程3931,两个子进程3932和3933. 3932用于VRRP协议,3933用于健康检查。

root      3931     1  0 May23 ?        00:00:03 /usr/sbin/keepalived -D

root      3932  3931  0 May23 ?        00:00:03 /usr/sbin/keepalived -D

root      3933  3931  0 May23 ?        00:01:19 /usr/sbin/keepalived -D

各个组成部件介绍如下:

Control Plane:

Keepalived的控制层。Keepalived通过keepalived.conf这个配置文件对Keepalived进行配置。

Memory Management:

这个框架用于访问一些通用的内存管理函数。

WatchDog:

这个框架提供子进程的监控功能。

VRRP Stack:

这个是Keepalived最重要的功能之一。VRRP用于调度器接管。

Netlink Reflector:

Netlink 消息子系统用于设置VRRP 的VIP。

IPVS:

LVS的内核代码

NETLINK:

由 Alexey Kuznetov提供的关于高级路由框架和其子系统功能的Linux内核代码。

Scheduler - I/O Multiplexer :

Keepalived的所有事件都有同一个进程调度处理,这个模块的设计主要是为了优化网络和I/O。

Core components:

这个框架定义一些供通用代码和全局代码使用的库函数。

Checkers:

这个是Keepalived主要的功能之一。Checkers负责负载均衡后端真实服务器的健康检查,它检测后端真实服务器是否存活,然后根据结果将后端真实服务器在LVS拓扑中增加或删除。

System Call:

这个框架提供Keepalived调用额外系统脚本的能力。主要用在MISC检查器中。

SMTP:

SMTP协议用于发送管理通知。

IPVS Wrapper:

这个框架主要用于向内核中的ipvs代码发送规则信息。

高可用软件Keepalived学习之Keepalived架构学习

时间: 2024-10-22 12:40:41

高可用软件Keepalived学习之Keepalived架构学习的相关文章

企业级Nginx负载均衡与keepalived高可用实战(二)keepalived篇

1.Keepalived高可用软件 1.1.Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx,Haproxy,MySQL等)的高可用解决方案软件. Keepalived软件主要是通过VRRP协议实现高可用功能的.VRRP是Virtual Router Redundancy Pro

Keepalived高可用软件的安装与配置

监听和替换多台服务器之间的来回切换 一.安装tar zxvf keepalived-1.1.15.tar.gzcd keepalived-1.1.15./configure --prefix=/usr/local/keepalivedmake && make install # 这段配置只是为了使用的方便,可以不这样来操作--------------------------------------------------------------------------------cp ke

轻量级高可用软件keepalived

keepalived是一款用C编写的,旨在给linux系统和基于linux的设施提供简单.稳固的高可用和负载均衡功能的软件.它基于linux内核的ipvs模块实现4层负载均衡,基于VRRP协议实现服务的高可用. 一.VRRP协议 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)是一种容错协议.通常,一个网络内的所有主机都设置一条默认路由,这样,主机发出的目的地址不在本网段的报文将被通过默认路由发往路由器RouterA,从而实现了主机与外部网络的通

高可用集群技术之keepalived实现lvs高可用并负载均衡web服务

Keepalived概述: Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器. keepalived实现lvs高可用并负载均衡web服务: 准备工作: 2台keepalived节点为: node1.samlee.com

高可用开源方案Heartbeat vs Keepalived

转:http://www.kuqin.com/shuoit/20140623/340745.html 最近因为项目需要,简单的试用了两款高可用开源方案:Keepalived和Heartbeat.两者都很流行,但差异还是很大的,现将试用过程中的感受以及相关知识点简单总结一下,供大家选择方案的时候参考. 1)Keepalived使用更简单:从安装.配置.使用.维护等角度上对比,Keepalived都比Heartbeat要简单得多,尤其是Heartbeat2.1.4后拆分成3个子项目,安装.配置.使用

Redis高可用方案(redis主从+keepalived+sentinel)

架构:redis主从+keepalived+sentinel 三台机器,两台redis主从,一台配合选举sentinel leader机器. Master:  192.168.100.135    controller         部署redis+keepalived+sentinel Slave:  192.168.100.136     web-nb-136     部署redis+keepalived+sentinel 配合sentinel:  192.168.100.128    

Centos 部署Keepalive高可用软件

Keepalive安装部署   一.环境介绍 1)Centos6.4 2) keepalived-1.2.12 3) 主备机的ip Master:172.31.100.5 Slave: 172.31.100.54 Virtault ip:172.31.100.1 二.部署安装 计划具体部署步骤: 步骤1:安装 步骤2:配置 步骤3:运行 步骤4:检查 现在开始: 1)安装 $ yum install -y gcc make openssl openssl-devel $ wget http://

mysql运维管理-heartbeat高可用软件的安装及配置

部署Heartbeat高可用需求 1 操作系统 CentOS-6.8-x86_64 2 Heartbeat服务主机资源准备 主服务器A: 主机名:heartbeat-1-130 eth0网卡地址:192.168.1.130(管理IP) eth1网卡地址:10.0.10.4 (心跳IP) 从服务器B: 主机名:heartbeat-1-129 eth0网卡地址:192.168.1.129(管理IP) eth1网卡地址:10.0.10.5(心跳IP) 虚拟VIP: 虚拟VIP在主服务器heartbea

[Mysql高可用]——双主互备+keepalived

实验架构图    实验环境 主机名 操作系统 Mysql版本 keepalived版本 主机IP VIP lyj1(Master/Slave) Red Hat release 6.5 Mysql5.6.31 keepalived-1.2.12 10.0.100.201 10.0.100.220 lyj2(Slave/Master) Red Hat release 6.5 Mysql5.6.31 keepalived-1.2.12 10.0.100.202 构建双主互备 1. 分别修改DB1和DB