高性能集群软件Keepalived之基础知识篇

高性能集群软件Keepalived之基础知识篇,第1张

高性能集群软件Keepalived之基础知识篇

一、Keepalived详细介绍

Keepalived是Linux的下一个轻量级和高可用的解决方案。它类似于HeartBeat和RoseHA,可以完成服务项目或互联网的高可用性。但也有区别:心跳是一款高可用的手机软件,技术专业,功能齐全。它展示了HA软件所需的基本元素,如心跳检测和资源对接。集群中服务程序的检测、集群连接点之间共享IP地址的用户的迁移等。HeartBeat功能齐全,但部署和应用相对不便;与HeartBeat相比,Keepalived主要是根据虚拟路由器冗余来实现高可用性。虽然没有HeartBeat那么完整,但是Keepalived的部署和应用相对简单,所有的设备只需要一个环境变量。这也是本章详细介绍Keepalived的原因。

二。什么是keepalive

Keepalived最初是为LVS设计的,专门监督集群系统软件中各个服务项的连接点。根据第3、4和5层。交换系统检查每个服务项目连接点的情况。如果发现服务项目连接点异常,或者工作中存在常见故障,Keepalived将对其进行检查,并从集群系统软件中删除常见故障服务项目连接点。常见故障连接点恢复后,Keepalived可以自动将此服务项目连接点重新进入网络服务器集群。这种工作全部自动完成,不需要人工干预,只需要人工恢复常见故障服务项目连接点。

在《保持活力》之后,VRRP的角色被加入。VRRP是虚拟路由器冗余协议的缩写。其目的是为了更好的处理静态路由导致的服务器宕机问题,能够按照VRRP完成互联网的持续稳定运行。所以Keepalived一方面有检查服务器状态和预防常见故障的功能,另一方面也有HA集群的功能。下面详细解释完成VRRP协议的全过程。

三。VRRP协议和原则

在实际网络空中,服务器之间的通信都是基于静态路由(默认网关),但是一旦服务器中间的无线路由器出现常见故障,通信就会不成功。所以在这种通信模式下,无线路由器就成了短板。为了更好地处理这个问题,VRRP协议被引入。

了解互联网的读者应该不会对《VRRP协议》感到陌生。这是一个活动/待机模式的协议。根据VRRP的说法,它可以在互联网出现常见故障时,完全透明地进行机器和设备的转换,而不会损害服务器之间的数据通信。这涉及到两个定义:物理无线路由器和虚拟路由器。

VRRP可以将两个或几个物理无线路由器虚拟成一个虚拟路由器。这个虚拟路由器对公众开放,根据虚拟IP(一个或几个)呈现服务项目。在虚拟路由器内部,几个物理无线路由器协同工作,同时只开放一个物理无线路由器呈现服务项目。这个物理无线路由器被称为主导无线路由器(作为主路由器)。一般MASTER是由选举优化算法引起的,具有开放服务项的虚拟IP,显示各种互联网功能,如ARP需求、ICMP、数据信息共享等。其他的物理无线路由器没有对外开放的虚拟IP,没有表现出对外开放互联网的作用。他们只接受VRRP主人通知的信息内容。这种无线路由器俗称备份数据无线路由器(起备份作用)。当主无线路由器失效时,备份角色中的备份数据无线路由器将再次举行大选,导致新的主路由器进入主角色,并再次显示开放的服务项目。整个转换过程对客户完全透明。

每个虚拟路由器都有一个唯一的标识,叫做VRID,一个VRID和一组IP地址组成一个虚拟路由器。在VRRP协议中,所有的消息格式都是根据IP组播推送的。在虚拟路由器中,只有处于主设备角色的无线路由器会一直推送VRRP数据文件,而处于备份角色的无线路由器只接受主设备发送的报文格式信息来监控主设备的运行。所以备份不容易被占用,除非它的优先级更高。当主设备无法使用时,备份设备无法接收主设备发送的报文格式信息内容。所以评估为主设备有共同故障,然后几个备份进行大选,优先级最高的备份成为新的主设备。这种总选和角色转换的整个过程非常快,从而保证了服务项目的持续可用性。

四。保持活力原则

最后一节简要介绍了根据VRRP实现高可用性的Keepalived原则。作为一款性能卓越的集群手机软件,Keepalived还可以监督集群中网络服务器的运行情况,并针对常见故障进行防护。下面详细介绍Keepalived对网络服务器运行进行监督检查的原理。

Keepalived工作在TCP/IP七层模型的第三、第四、第五层,即传输层、网络层、网络层。根据TCP/IP七层模型各层的功能,保持激活的管理机制如下。

在传输层,有四个关键协议在运行:互联网协议IP、互联网 *** 作消息格式协议ICMP、地址转换协议ARP及其反向地址转换协议RARP。Keepalived在传输层最常见的工作模式是根据ICMP协议向网络服务器集群中的每个连接点推送一个ICMP数据文件(类似于ping完成的效果)。如果一个连接点没有返回响应数据文件,那么它感觉这个连接点发生了一个常见故障,Keepalived会报告这个连接点无效,并从服务器集群中删除这个常见故障连接点。

在网络层,介绍了两个关键协议:TCP和UDP。传输控制协议TCP可以显示可靠的传输数据服务项、IP地址和端口号,这意味着TCP连接的连接端。要获得TCP服务,必须在发送方的一个端口号和接收方的一个端口号上创建连接,Keepalived在网络层使用TCP协议的端口号连接和scanner技术来区分集群连接点是否正常。例如,通用Web服务默认设置80个端口,SSH服务默认设置22个端口,等等。,一旦Keepalived检测到这个端口号初始化失败,在网络层返回数据信息,它就觉得这个端口号异常,然后强行从服务器集群组中删除与这个端口号匹配的连接点。

在网络层,可以 *** 作FTP、TELNET、SMTP、DNS等各种类型的高层住宅协议。Keepalived的 *** 作方法也更加全面复杂。客户可以按照自己的工作方法来 *** 作Keepalived,比如客户可以编写程序来 *** 作Keepalived。Keepalived会根据客户的设置检查各种程序流程或服务项目是否允许正常。如果Keepalived的测试结果与客户的设置不一致,Keepalived将从服务器中删除匹配的服务项目。

五、Keepalived的系统架构

Keepalived是一款长宽比模块化设计的手机软件。其结构简单,但扩展性强。对它感兴趣的读者可以阅读本文中Keepalived的源代码。下图是从官网获得的Keepalived系统架构图。


从图中可以看出,Keepalived的系统架构一般分为两层,即客户室空室(用户空间)和核心室空室(内核空间)。这里详细介绍了保活双层结构的具体组成和完成的功能。

核心室内空层在底部,它包含两个控制模块,IPVS和NETLINK2。IPVS控制模块是Keepalived引进的第三方控制模块,可以根据IPVS按照IP完成三层交换机集群。Ip默认设置包含在LVS集群手机软件中。关于LVS集群手机软件,相信运维管理的朋友都不会陌生:在LVS集群,IPVS安装在一个叫做DirectorServer的网络服务器上,在DirectorServer上创建一个IP地址,向公众展示服务项目,客户只需根据这个虚拟IP地址就可以浏览服务项目。这个虚拟IP一般被称为VIP,即虚拟IP。的浏览需求首先通过VIP到达Director服务器,然后Director服务器从服务器集群连接点中选择一个服务连接点来响应客户的需求。

Keepalived最初为LVS提供服务项目,因为Keepalived可以完成对集群连接点的检查,而IPVS可以完成第三层交换机的功能。因此,Keepalived可以借助第三方控制模块IPVS轻松构建一套三层交换机系统软件。这里有一个误解,因为Keepalived和IPVS配合的非常好,所以很多新手以为Keepalived是三层切换手机软件,这是不正确的。

在Keepalived中,可以配备IPVS控制模块。如果必须是三层交换机,可以在编译Keepalived程序时打开三层交换机。总之可以根据编译程序的主要参数来关闭。

Netlink控制模块主要用于完成一些高级的路由器架构和一些相关的上网功能,执行客户机房NETLINK反射器控制模块空发送的各种上网需求。

客户的室内空层位于核心室内空层之上,在这里完成了Keepalived的所有实用功能。下面详细介绍几个关键部分的功能。

在客户室空层,Keepalived分为四个部分,分别是调度I/O复用器、内存管理、控制平面和核心组件。其中,调度器I/O复用器是一个I/O复用调度生产调度器,承担Keepalived内部所有部件的日常任务需求。内存管理是一种运行内存管理模式,这个架构展示了一些浏览运行内存的通用方法。控制平面是Keepalived的 *** 作面板,可以完成环境变量的编译和分析。Keepalived对环境变量的分析是独特的,它不一次性分析所有控制模块的设备,而只分析使用某个控制模块时的相对设备。最后,我们来详细说说核心部件。这部分是Keepalived的关键部分,包括多个程序模块,包括看门狗、检查器、VRRP堆栈、IPVS包装器和NetlinkReflector。下面详细介绍了每个控制模块的功能。

(1)看门狗

看门狗是电子计算机可信行业中一个极其简单合理的测试工具。其原理是为监控的整体目标设置电子计数器和阈值。看门狗会自己提高目标值,然后等待被监控的整体目标定期重置目标值。一旦监督的总体目标不正确,就无法重置这个目标值,看门狗会检查,所以会采取匹配的修复措施,比如重启或者关机。

Linux很早就引入了看门狗功能,Keepalived根据看门狗管理机制来监督检查器和VRRP进程。

(2)跳棋

是Keepalived最基本的作用,也是最关键的作用。它可以完成网络服务器的运行检查和常见故障保护。

(3)VRRP堆栈

它是Keepalived后导入的VRRP功能,可以在HA集群中完成故障转移功能。Keepalived可以根据VRRP功能,融合LVS三层交换机手机软件,部署一套高性能的三层交换机集群系统软件。

(4)IPVS包装纸

这是IPVS的完成。ipwrapper控制模块可以将设定的IPVS标准发送到核心机房空并交给IPVS控制模块,最终完成IPVS控制模块作为三层交换机的功能。

(5)Netlink反射器

用于完成高可用性集群中故障转移时虚拟IP(VIP)的设置和转换。NetlinkReflector的所有要求最终发送到核心机房空中的Netlink控制模块。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/783175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存