keepalived是一个类似于layer3, 4 & 7交换机制的软件,也就是我们平时说的第3层、第4层和第7层交换。
简介:
Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。
工作原理:
Layer3,4&7工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下:
Layer3:Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。 Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。
Layer4:如果您理解了Layer3的方式,Layer4就容易了。Layer4主要以TCP端口的状态来决定服务器工作正常与否。如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。
Layer7:Layer7就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。
作用:
主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现。
编译与安装:
[root@cqs ~]# cd /home/cqs/source/ #进入到对应的软件包目录
[root@cqs source]# wget http://www.keepalived.org/software/keepalived-1.2.1.tar.gz #用wget指令下载对应的软件包
[root@cqs source]# tar -zxvf keepalived-1.2.1.tar.gz #解压
[root@cqs source]# cd keepalived-1.2.1 #进入目录
[root@cqs keepalived-1.2.1]# ./configure --prefix=/usr/local/keepalived-1.2.1 #配置
[root@cqs keepalived-1.2.1]# gmake -j 4 #启用4个cpu去编译
[root@cqs keepalived-1.2.1]# gmake install