Linux开源集群架构之keepalived应用详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第03章
集群利器Keepalived
本章主要了解开源高可用负载均衡集群利器Keepalived,掌握Keepalived的安装,运用Keepalived配置高可用集群,并能够实现Keepalived与负均衡集群LVS的完美组合。
一、Keepalived概述
1、什么是Keepalived?
keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器
2、keepalived理论工作原理
Layer3,4&5工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下:
Layer3:Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器发
送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。
Layer4:主要以TCP端口的状态来决定服务器工作正常与否。如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中删除。
Layer5:Layer5就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。
3、keepalived作用
随着网站业务量的增长网站的服务器压力越来越大———需要负载均衡方案
同时要提供一个可持续的服务质量————高可用性HA
通过对服务器池对象的健康检查,实现对失效机器/服务的故障隔离。
负载均衡器间的失败切换failover,是通过VRRPv2(Virtual Router Redundancy Protocol)stack实现。
4、keepalived 体系结构
Keepalived 大致分两层结构:用户空间 user space和内核空间 kernel space图是来自官方站点/software_design.html关于其结构的展示如下。
在这个结构图里,处于下端的是内核空间,它包括ipvs和NETLINK两个部分。Ipvs的作用不再重复叙
述;netlink提供高级路由及其他相关的网络功能,如果我们在负载均衡器上启用netfilter/iptable,将会
直接影响它的性能。出于图形上方的组件为用户空间,由它来实现具体的功能,下面选取几个重要的来做说
明:
1)WatchDog负责监控checkers和VRRP进程的状况。
2)Checkers负责真实服务器的健康检查healthchecking,是keepalived最主要的功能。换句话说—可以没有VRRP Stack,但健康检查healthchecking是一定要有的。
3)VRRP Stack负责负载均衡器之间的失败切换Failover。如果只用一个负载均衡器,则VRRP不是必须的。
4) IPVS wrapper用来发送设定的规则到内核ipvs代码。
5) Netlink Reflector用来设定 vrrp 的vip地址等。
Keepalived功能十分强大,但配置工作十分的简单,Keepalived各种功能的实现是通过设置其配置文件keepalived.conf来完成的。
二、Keepalived的安装
1、安装Keepalived
Linux操作系统上安装软件一般都使用是二进制包(RPM是二进制包)或源码包tar包进行安装,tar包的安装方式基本上相同,三步骤:
[root@localhost ~]# wget /software/keepalived-1.2.1.tar.gz
[root@localhost ~]# tar zxvf keepalived-1.2.1.tar.gz
[root@localhost ~]# cd keepalived-1.2.1
[root@localhost keepalived-1.2.1]# ./configure
[root@localhost keepalived-1.2.1]# make && make install
新手在安装的过程中可能会遇到一些问题,根据错误提示可以轻松解决问。最常见的问题总结如下:Configure中错误问题汇总
1)无GCC等编译工具
[root@localhost keepalived-1.2.1]# ./configure
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/root/keepalived-1.2.1':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
由提示可以看到,没有发现gcc cc编译工具,只需要安装即可。解决方法
[root@localhost ~]#yum install gcc gcc-C++
2)无openssl-devel支持