首页 > 代码库 > Keepalived概述和安装(1)

Keepalived概述和安装(1)

一、Keepalived概述

本文主要了解开源高可用负载均衡集群利器keepalived,掌握keepalived的安装,运用keepalived配置高可用集群,并能够实现keepalived与负载均衡集群LVS的完美组合。

 

1、什么是keepalived

keepalived是一个类似于三、四、五层交换机的软件,也是我们平时说的第三层、第四层、第五层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后keepalived自动将web服务器加入到服务器集群中,这些工作全部自动完成,不需要人工干涉,需要人工做的知识修复故障的web服务器。

 

2、Keepalived的工作原理

三层、四层、五层工作在TCP/IP协议栈的IP层、TCP层、应用层。原理如下:

三层:keepalived使用三层方式工作是,keepalived会定期向服务器集群中的服务器发送一个IMCP的数据包,也就是ping程序,如果发现某台服务器的IP地址没有激活,keepalived便报告这台服务器失效,并将它从集群中删除,这种情况的典型例子是某台服务器被非法关机。三层的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。

四层:主要是以TCP端口的状态来决定服务器工作正常与否。如web服务器的端口一般是80,如果keepalived检测到80端口没有启动,则keepalived将这台服务器从集群中剔除。

五层:应用层,比三层和四层要复杂一点,在网上占用的带宽也大一些,keepalived将根据用户的设定检查服务器程序运行是否正常,如果与用户设定的不相符,则keepalived将把服务器从服务器集群中剔除。

 

3、keepalived的作用

负载均衡-横向扩展

高可用-可持续的服务器质量

实现对失效服务器的隔离-通过健康监测,保证服务的可用性

 

实现:vrrp协议实现。(冗余网关路由协议)

 

4、keepalived体系结构

 技术分享

1、watchdog 负责监控checkersvrrp进程的状况。

2、Checkers 负责真实服务器的健康监测,是keepalived最主要的功能,换一句话说,可以没有vrrp statck,但是健康检查healthcheckping一定要有。

3、Vrrp statck 负责负载均衡器之间失败切换failover。如果只用一个负载均衡器,则vrrp不是必须的。

4、Ipvs warpper是用来发送设定的规则封装到内核ipvs代码。

5、Netlink reflector  用来设定vrrpvip地址等。

Keepalived功能十分强大,但是配置工作十分简单,keepalived各种功能的实现是通过设定配置文件keepalived.conf来完成的。

 

二、Keepalived的安装

 

1、安装keepalived

二进制编译安装三步骤:./confgiure && make && make install

问题汇总:

1.gcc等编译工具

Yum install  gcc gcc-c++

2.openssl-devel支持

Yum  install openssl-devel

3.ipvs frameworkipvs syncdeamon support

Ls /usr/src/kernels

Yum install kernel-devel ipvsadm

Ln -s /usr/src/kernels/2.6.****   /usr/src/linux

4.make工具

Yum install  make

 

 编译安装后,安装目录为/usr/local/etc/,下面三个目录

Keepalivedrc.dsysconfig

 技术分享

 

3.启动设置

[root@master etc]# cp /usr/local/etc/rc.d/init.d/keepalived  /etc/rc.d/init.d/

[root@master etc]# cp /usr/local/etc/sysconfig/keepalived  /etc/sysconfig/

[root@master etc]# mkdir /etc/keepalived

[root@master etc]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

[root@master etc]# cp /usr/local/sbin/keepalived /usr/sbin/

[root@master etc]# service keepalived start

env: /etc/init.d/keepalived: 权限不够

[root@master etc]# chmod 755 /etc/init.d/keepalived

[root@master etc]# service keepalived start

正在启动 keepalived[确定]

[root@master etc]# ps xua|grep keep

root     29312  0.0  0.0   6852   748 ?        Ss   03:57   0:00 keepalived -D

root     29314  0.0  0.2   6908  2024 ?        S    03:57   0:00 keepalived -D

root     29315  0.7  0.1   6908  1244 ?        S    03:57   0:00 keepalived -D

 

 

 

 

Keepalived概述和安装(1)