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 负责监控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)的更多相关文章
- lvs + keepalived 介绍及安装
LVS介绍 lvs 核心ipvs Ipvs(IP Virtual Server)是整个负载均衡的基础,如果没有这个基础,故障隔离与失败切换就毫无意义了.Ipvs 具体实现是由ipvsadm ...
- OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务
OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务 1. OpenVAS基础知识 OpenVAS(Open Vulnerability Assessment Sys ...
- C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节
C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...
- ElasticSearch入坑指南之概述及安装
---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...
- Flask 学习(一)概述及安装
Flask 概述及安装 Flask 简介 Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 官方网址 ...
- Nginx概述、安装及配置详解
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...
- 【转】Struts1.x系列教程(4):标签库概述与安装
转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/0 ...
- MongoDB笔记(一)MongoDB概述和安装
概述 关键词:关系数据库.非关系数据库 关系数据库: 关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据.目前主流的关系数据库有oracle.SQL.ac ...
- Nginx概述和安装(1)
一.Nginx概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 I ...
随机推荐
- AOP入门(转)
本文转自http://www.cnblogs.com/yanbincn/archive/2012/06/01/2530377.html Aspect Oriented Programming 面向切 ...
- springMVC学习总结(四)springmvc处理json数据类型以及fastjson的使用
springMVC学习总结(四)springmvc处理json数据类型以及fastjson的使用 主要内容: 这篇文章主要是总结之前使用springmv接收json的时候遇到的问题,下面通过前台发送a ...
- Springboot-添加对jsp支持
1,在项目的配置文件加入以下依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>j ...
- Xcode中StoryBoard Reference 新特性的使用
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- sudo,visudo
visudo修改/etc/sudoers文件 用户名/%组名 主机名/主机别名/网段=(身份)命令 若(ALL)为空则为所有身份,即包含root身份 user1 ALL=/sbin/shutdown ...
- 前端模块化:RequireJS(转)
前言 前端模块化能解决什么问题? 模块的版本管理 提高可维护性 -- 通过模块化,可以让每个文件职责单一,非常有利于代码的维护 按需加载 -- 提高显示效率 更好的依赖处理 -- 传统的开发模式,如果 ...
- Swift MD5加密 所需桥接文件
Swift MD5加密在github有一个非常好的第三方库,使用也比较简单,还有很多加密方法,如果需要,点击这里下载 对于那些不需要太多的加密,只需要MD5加密的同学,我建议还是不要用第三方库. 因为 ...
- nodejs+mongodb+vue前后台配置ueditor
笔者在做一个个人博客项目的时候需要一个富文本框输入组件与后台进行交互,但是官方配置里面没有关于nodejs的,于是自己查阅资料研究了一下,最后终于应用到了系统中. 一.后台配置 首先是找到了这个项目: ...
- Python学习(三):迭代器、生成器、装饰器、递归、算法、正则
1.迭代器 迭代器是访问集合的一种方式,迭代对象从集合的第一个元素开始访问,直到元素被访问结束,迭代器只能往前不能后退,最大的优点是不要求事先准备好整个迭代过程中的元素,这个特点使得它特别适合用于遍历 ...
- 【Tomcat】重新打war包
Extract war in tomcat/webapps #!/bin/bash #----------------------------------------------- # FileNam ...