简单写一写keepalived

发布时间:2020-07-08 08:01:10 作者:攻城狮赵峰
来源:网络 阅读:611

一、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所需要依赖的库文件:

[root@node1 ~]# yum -y install popt-devel  kernel-devel  openssl-devel gcc-c++ libnl-devel libnl3-devel  libnfnetlink-devel

简单写一写keepalived

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

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

[root@node1 ~]# wget  http://www.keepalived.org/software/keepalived-1.3.5.tar.gz

3、安装keepalived:

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

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

简单写一写keepalived

4.安装完成。

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


推荐阅读:
  1. 简单快速搭建LVS+Keepalived 集群
  2. (压力分担)(MYSQL)数据库一写多读实验

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

keep alived %d

上一篇:SQL优化之多表关联查询

下一篇: Oracle SQL语言应用基础

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》