简单写一写keepalived

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单写一写keepalived相关的知识,希望对你有一定的参考价值。

一、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

以上是关于简单写一写keepalived的主要内容,如果未能解决你的问题,请参考以下文章

[mk] 喝一杯咖啡, 写一写 Makefile

[Growth]写一写全员上岸研究生的我的大学宿舍

写一写关于python开发面试的常遇到的问题以及解答吧,持续更新——看心情

webpack 4 简单介绍

Bzoj-生成树

啦啦啦