Linux开源集群架构之keepalived应用详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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支持

相关文档
最新文档