简单写一写keepalived

author author     2022-09-04     376

关键词:

一、keepalived简介:

1、什么是keepalived?

keepalived起初是为lvs设计的而保证集群高可用的一个服务软件,用来检测服务器的状态以及loadbbalance主机和backup主机之间的failover(故障切换)防止单点故障。在集群当中如果有一台服务器宕机或工作出现故障,keepalived将检测到并将有故障的服务器踢出集群,同时让其他服务器来代替该服务器的工作,当服务器恢复正常后keepalived自动将该服务器加入到集群中,完全不需要人工干涉,只需要做好相关配置,并修复有故障的服务器即可。

2、keepalived的工作状态:

keepalived是以vrrp(virtual router redundancy protocol)协议,即虚拟路由冗余协议实现的。vrrp是实现路由器高可用的协议,将多台提供相同服务的路由器组成一个路由组,组内有一个主路由和多个备份路由组成。master使用组内的VIP(虚拟IP)对外提供服务,master使用组播地址224.0.0.18向backup发送vrrp通告。当backup收不到master发送的vrrp通告时,就认为master宕机了。通过vrrp的优先级在backup中重启选举一个优先级高的当做master对外提供服务。这样就保证了路由的高可用。

keepalived是一个类似于layer3, 4 & 7交换机制的软件,即IP/TCP协议栈的IP、TCP及应用层。

layer3工作原理:此时keepalived工作在IP/TCP协议栈的中IP层。以服务器的IP地址作为服务器工作正常与否的标准,master通过组播定期发送ICMP数据包,如果发现有返回异常的IP,keepalived将认为这台服务器失效,并提出服务器群

layer4工作原理:此时keepalived工作在IP/TCP协议栈的中TCP层。以服务提供的TCP端口的状态来决定服务器的工作是否正常,如果检测到端口监听异常,则keepalived将把这台服务器从服务器群中踢出。

layer7工作原理:此时keepalived工作在IP/TCP协议栈的中应用层。相比较来说比layer3、layer4要负责,网络占用带宽也要大一些,使用也相对较少。keepalived将根据用户自己的设定配置检查服务程序是否正常,如果跟用户设定不相符,则将视为服务器存在异常并将踢出服务器群。

4、keepalived的模块

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

5、keepalived的配置文件

一个功能比较完整的keepalived 的配置文件,其配置文件keepalived.conf 可以包含三个文本块:全局定义块(global_defs)、VRRP实例定义块(vrrp_instance)及虚拟服务器定义块(virtual_server)。全局定义块和虚拟服务器定义块是必须的,如果在只有一个负载均衡器的场合,就不须VRRP 实例定义块。

二、部署keepalived服务

1、在编译安装keepalived之前,首先安装keepalived所需要依赖的库文件:

[[email protected] ~]# yum -y install popt-devel  kernel-devel  openssl-devel gcc-c++ libnl-devel libnl3-devel  libnfnetlink-devel

技术分享

2、下载keepalived源码压缩包。:

下载地址: http://www.keepalived.org/software/keepalived-1.3.5.tar.gz

[[email protected] ~]# wget  http://www.keepalived.org/software/keepalived-1.3.5.tar.gz

3、安装keepalived:

在编译的时候使用指定的内核库并指定安装目录为/目录可以省去很多麻烦的链接。这样就可以在安装完成之后直接使用keepalived服务了

[[email protected] ~]# tar zxf keepalived-1.3.5.tar.gz
[[email protected] ~]# cd keepalived-1.3.5
[[email protected] keepalived-1.3.5]# ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/3.10.0-514.21.1.el7.x86_64/include/
[[email protected] keepalived-1.3.5]# make
[[email protected] keepalived-1.3.5]# make install

技术分享

4.安装完成。

keepalived配置文件位置:/etc/keepalived 下的keepalived.conf 目录下有samples子目录为各种模板文件。 执行程序位置:/usr/sbin/keepalived  。启动脚本已经自动添加系统了。可以直接使用systemctl命令执行启动。


本文出自 “赵峰” 博客,请务必保留此出处http://302876016.blog.51cto.com/12889292/1933847

android:让我们来写一写binder(代码片段)

...是一头雾水。所以要想明明白白的使用Binder,自己手写一遍,对理解是非常有效的。以下以在两个进程间通信为例来写一个Binder。客户端首先定义一个接口,包括Binder标识,发送Transact消息,接口定义等。public... 查看详情

啦啦啦

...rdquo;,对于才学了不到一个月python的我,想挑战下自己,写一写决策树。那就写一写书上的例子吧,“伦西瓜表面特征与西瓜好坏的关系。&rdq 查看详情

keepalived简单快速配置

1、官方下载wget http://www.keepalived.org/software/keepalived-XXXX.tar.gz2、解压,编译安装tar zxvf keepalived-XXXX.tar.gz./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/s 查看详情

keepalived主备简单使用以及简单监控脚本编辑

...,现在只学了皮毛而已,特此记录下!我用的是yum安装的keepalived,用光盘搭建的yum源两台机器ip地址分别是10.91.10.173和10.91.10.172 首先两台机器安装yuminstall-yhttpdkeepalivedkeepalived配置文件在/etc/keepalived/keepalived.conf之所以实用yum... 查看详情

keepalived配置实现haproxy高可用

这次,小编就先写一篇对Keepalived的配置,那么在学习之前,我们首先要了解Keepalived是什么,以及为什么要用Keepalived。实际上,Keepalived不仅仅是实现HaProxy的高可用,小编这里只是拿HaProxy来做一个示例而已,根据这个示例,进行... 查看详情

keepalived+lvs简单搭建

   实现Keepalived+Lvs,主要做RealServer健康检查及LoadBalance主机与Master,Backup主机正常运行,其中一部分主机做高可用,另一部分做负载均衡。通过在HA主机上安装keepalived服务形成主备形式并进行rr轮询调度,使用VIP来Director向客... 查看详情

win10安装atom的步骤

这几天需要使用Atom,就想把Atom的安装步骤写一写,顺便写一写我遇到的问题安装的内容是从这个网站上得来的。http://www.cnblogs.com/zjutzz/p/3976283.html安装网盘路径 http://yun.baidu.com/share/link?shareid=3748817771&uk=4164754243下好以后是... 查看详情

keepalived工作原理(简单概述)

keepalived这项服务简单来说,就是来防止单点故障的。所谓单点故障,再简单点来说就是老大挂了手下的小弟过来接班,老大复活了,继续当小弟,保证服务的高可用。官方一点来说就是进行故障的切换转移,是通过VRRP虚拟路由... 查看详情

[growth]写一写全员上岸研究生的我的大学宿舍(代码片段)

非技术帖,偶尔夹带干货。最后一个舍友终于上岸了本校的研究生,我们宿舍固定的只有三个人,最后的分布是这样的:复旦、浙大、天大。真的很为我们宿舍感到骄傲。我和浙大女孩(后文就这样代称了ÿ... 查看详情

简单的搭建一个ssm项目(代码片段)

一直以来都想去写一写博文,记录一下自己的成长过程,因为拖延症一直都没有去写,而以往学过的知识,不用的就慢慢遗忘了.我是一个菜鸟,但有一个大牛梦,若是有不妥当之处,还望大家不吝赐教!1.添加jar1<dependency>2<groupId>or... 查看详情

keepalived简单搭建高可用

    环境:     node1:192.168.11.26     node2:192.168.11.28     VIP:192.168.11.99Centos版本6.5KeepalivedCentos6 查看详情

keepalived基础知识及扩展讲解

keepalived基础知识及扩展讲解目录 一、keepalived简单介绍 二、VRRP协议与工作原理 三、keepalived详细介绍 四、总结------------------------------------------------------------------------------------------一、keepalived简单介绍 查看详情

连接池原来这么简单(一分钟系列)(代码片段)

应网友要求,写一写连接池实现细节。一、如何通过连接访问下游工程架构中有很多访问下游的需求,下游包括但不限于服务/数据库/缓存,其通讯步骤是为:(1)与下游建立一个连接(2)通过这个连接,收发请求(3)交互结... 查看详情

core3.0预览版简单的使用方式

...dotnetnewwinforms-o项目名称要wpf就直接dotnetnewwpf-o项目名称很简单吧创建完以后,还是直接dotnetrun就完事了最终的项目会生成一个dll和 查看详情

驴得水

看完之后,笑不出来,本想自己写一写观后感,但是看到这一篇影评写的太好,就直接转载收藏了。 查看详情

keepalived2(代码片段)

目录一、keepalived简单介绍二、VRRP协议与工作原理三、keepalived详细介绍四、单、多实例及LVS-nat/dr模型实现五、总结一、keepalived简单介绍keepalived是由c语言编写的一个路径选择软件,是IPVS的一个扩展性项目,为IPVS提供高可用性(... 查看详情

mysql主从复制—5.7gtid双主+keepalived配置及简单测试(代码片段)

 参考:https://cloud.tencent.com/developer/article/1134077 keepalive下载:https://www.keepalived.org/download.html 这里主要讲keepalived配置和测试,mysql的gtid配置主从详见https://blog.csdn.net/fly43108622 查看详情

mysql主从复制—5.7gtid双主+keepalived配置及简单测试(代码片段)

 参考:https://cloud.tencent.com/developer/article/1134077 keepalive下载:https://www.keepalived.org/download.html 这里主要讲keepalived配置和测试,mysql的gtid配置主从详见https://blog.csdn.net/fly43108622 查看详情