一、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 负责监控checkers和vrrp进程的状况。

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

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

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

5、Netlink reflector  用来设定vrrp的vip地址等。

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 framework、ipvs syncdeamon support

查看kernels文件:

ls /usr/src/kernels

安装ipvsadm

Yum install kernel-devel ipvsadm

做软连接:

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

4.无make工具

Yum install  make

 

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

Keepalived、rc.d、sysconfig

 

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安装完成。下一节开始实战。

 

 

 

Keepalived概述和安装(1)的更多相关文章

  1. lvs + keepalived 介绍及安装

    LVS介绍 lvs 核心ipvs      Ipvs(IP Virtual Server)是整个负载均衡的基础,如果没有这个基础,故障隔离与失败切换就毫无意义了.Ipvs 具体实现是由ipvsadm ...

  2. OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务

    OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务   1.  OpenVAS基础知识 OpenVAS(Open Vulnerability Assessment Sys ...

  3. C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节

    C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...

  4. ElasticSearch入坑指南之概述及安装

    ---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...

  5. Flask 学习(一)概述及安装

    Flask 概述及安装 Flask 简介 Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 官方网址 ...

  6. Nginx概述、安装及配置详解

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  7. 【转】Struts1.x系列教程(4):标签库概述与安装

    转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/0 ...

  8. MongoDB笔记(一)MongoDB概述和安装

    概述 关键词:关系数据库.非关系数据库 关系数据库: 关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据.目前主流的关系数据库有oracle.SQL.ac ...

  9. Nginx概述和安装(1)

    一.Nginx概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 I ...

随机推荐

  1. maven项目启动报:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 错误解决方法-杜恩德

    如果你是maven项目,tomcat在发布项目的时候没有同时发布maven依赖所添加的jar包, 你需要设置一下eclipse: 项目 -> 属性 -> Deployment Assemb ...

  2. [转载]ArchLinux 添加 archlinuxcn 源 密钥错误

    http://www.jianshu.com/p/8ed688b0a096 杜龙少 正在检查密钥环里的密钥 [######################] 100% 正在下载所需的密钥...... ...

  3. 17089 最大m子段和

    17089 最大m子段和 时间限制:1000MS  内存限制:65535K提交次数:0 通过次数:0 题型: 编程题   语言: G++;GCC;VC Description "最大m子段和 ...

  4. Intellij IDEA中使用Protobuf的正确姿势

    一..proto文件语法高亮显示 需要安装Protobuf Support插件 依次点击Intellij中的"File"-->"Settings"--&g ...

  5. Android 开发,你遇上 Emoji 头疼吗?

    在 Android 中,如果需要使用的到 Emoji 表情,你会发现在某些设备上,有一些 Emoji 表情会被以豆腐块 "☐" 的形式显示,这是因为当前设备并不支持这个 Emoji ...

  6. LeetCode #1 TwoSum

    Description Given an array of integers, return indices of the two numbers such that they add up to a ...

  7. android studio 环境变量配置

    1.需要添加path环境变量: 2.真机调试或模拟器调试需要启动adb adb kill-severadb -start-server可能有端口冲突--重启或者修改端口 创建密匙http://blog ...

  8. MySQL 如何执行关联查询

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/51 当前mysql执行的策略很简单:mysql对任何关联都执行嵌 ...

  9. CDQ分治与整体二分小结

    前言 这是一波强行总结. 下面是一波瞎比比. 这几天做了几道CDQ/整体二分,感觉自己做题速度好慢啊. 很多很显然的东西都看不出来 分治分不出来 打不出来 调不对 上午下午晚上的效率完全不一样啊. 完 ...

  10. Automata

    A deterministic finite automaton is represented formally by a 5-tuple (Q,Σ,δ,q0,F), where: Q is a fi ...