lvs和keeplived的工作原理详解

一、lvs的工作原理

使用集群的技术和liunx的操作系统实现一个高性能、高可用的服务器。可伸缩性、可靠性、很好的管理性。

特点:可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。我们先分析实现虚拟网络服务的主要技术,指出IP负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出了通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。VS/NAT、VS/TUN和VS/DR技术是LVS集群中实现的三种IP负载均衡技术

技术:LVS集群采用ip负载均衡技术减轻服务器的压力,将请求均衡转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的,高可用的虚拟服务器,整个服务器集群的结构对客户端是透明的,而且无需修改客户端和服务器的程序,为此在设计的时候考虑到了系统的透明性,可伸缩性,高可用性和易管理性。

LVS:主要采用三种结构主要部分是

服务器池,是一组正执行客户端请求的服务器,执行的服务有WEB,MAL,FTP和DNS等。

负载调度器:它是整个集群对外面前端机,负责将客户的请求发送到一组服务器上执行,而客户确认为服务器是一个来自一个ip上的(虚拟机ip地址。

共享存储,它为服务器提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。

优点

开源,免费

具有软件负载均衡的一些优点。

在网上能找到一些相关技术资源。

缺点

没有可靠的支持服务,没有人对其结果负责。

功能比较简单,支持复杂的应用的负载均衡能力较差,算法较少等。

开启隧道方式需要编译内核

配置复杂;

主要应用于LINUX系统,目前没有专用于windows系统版本的,不过可以通过配置使windows称为lvs集群中的real server (win2003、win2008)。

1. DS:Director Server。指的是前端负载均衡器节点。

2. RS:Real Server。后端真实的工作服务器。

3. VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址。

4. DIP:Director Server IP,主要用于和内部主机通讯的IP地址。

5. RIP:Real Server IP,后端服务器的IP地址。

6. CIP:Client IP,访问客户端的IP地址。

keeplived原理

keeplvied也是模块化设计,不同模块的不同功能

core:是keeplived的核心,复杂主进程的启动和维护,全局配置的加载解析等

check:负责是healthchecker(健康检查),包括了各种健康检查的方式,以及对应的配置的解析包括LVS的配置解析

vrrp:VRRPD子进程,VRRPD子进程是来是来实现VRRP协议的

libipfwc:iptables(ipchains)库,配置LVS会用到

libipvs*:配置LVS会用到

keepalived启动会有三个进程

父进程:内存管理,子进程管理

子进程:VRRP子进程

子进程:healthchecker子进程

如图可知,两个子进程都被watchDog看管,两个子进程各自复杂自己的事,healthcheck子进程复杂检查自己服务器的健康程度,比如HTTP,lvs等如果healthchecker子进程检查到MASTER服务不可用了,就会通知本机上的vrrp的子进程,让他删除通告并且去掉虚拟机ip,转为BACKUP状态

keeplived配置详解

keeplived有三类配置区域,是一个配置文件里三种不同的区域。

全局配置

VRRPD配置

LVS配置

全局配置分为两个子进程:全局定义(global definition)

静态路由配置(static ipaddres/routes)

总结:lvs和keeplived就是一个心跳检测,怎么说呢比如我是keeplived手一直摸着lvs的心脏来监听lvs的系统状况等,如果lvs当机keeplived作为一个热备份随时顶替lvs来进行负载均衡,不过lvs和keeplived是完全不同的两个东西。

时间: 2024-08-07 04:14:26

lvs和keeplived的工作原理详解的相关文章

Java虚拟机工作原理详解

原文地址:http://blog.csdn.net/bingduanlbd/article/details/8363734 一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘当中.然后你在命令行中输入 [java] view plaincopy javac YourClassName.java 此时,你的java代码就被编译成字节码(.class).如果你是在Eclipse IDE或者其他开发工具中,你保存代码

Android中Canvas绘图之PorterDuffXfermode使用及工作原理详解

概述 类android.graphics.PorterDuffXfermode继承自android.graphics.Xfermode.在用Android中的Canvas进行绘图时,可以通过使用PorterDuffXfermode将所绘制的图形的像素与Canvas中对应位置的像素按照一定规则进行混合,形成新的像素值,从而更新Canvas中最终的像素颜色值,这样会创建很多有趣的效果.当使用PorterDuffXfermode时,需要将将其作为参数传给Paint.setXfermode(Xfermo

块级格式化上下文(block formatting context)、浮动和绝对定位的工作原理详解

CSS的可视化格式模型中具有一个非常重要地位的概念——定位方案.定位方案用以控制元素的布局,在CSS2.1中,有三种定位方案——普通流.浮动和绝对定位: 普通流:元素按照先后位置自上而下布局,inline元素水平排列,直到行被占满后换行,block元素则被渲染为完整的一行,除非指定,所有元素默认为普通流定位. 浮动:浮动布局中,元素首先按照普通流位置出现,然后根据浮动方向尽可能向左或右偏移,效果与文本环绕相似. 绝对定位:元素会脱离普通流,因此绝对定位元素不会对其兄弟元素产生影响(与float不

硬盘内部硬件结构和工作原理详解[zz]

一般硬盘正面贴有产品标签,主要包括厂家信息和产品信息,如商标.型号.序列号.生产日期.容量.参数和主从设置方法等.这些信息是正确使用硬盘的基本依据,下面将逐步介绍它们的含义. 硬盘主要由盘体.控制电路板和接口部件等组成,如图1-1所示.盘体是一个密封的腔体.硬盘的内部结构通常是指盘体的内部结构:控制电路板上主要有硬盘BIOS.硬盘缓存(即CACHE)和主控制芯片等单元,如图1-2所示:硬盘接口包括电源插座.数据接口和主.从跳线,如图1-3所示. 图1-1 硬盘的外观 图1-2 控制电路板 图1-

HTTP响应报文与工作原理详解(转)

超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到请求后,给予相应的响应信息. HTTP 请求报文 HTTP 请求报文由请求行.请求头部.空行 和 请求包体 4 个部分组成,如下图所示: 下面对请求报文格式进行简单的分析: 请求行:请求行由方法字段.URL 字段 和HTTP 协议版本字段 3 个部分组成,他们之间使用空格隔开.常用的 HTTP 请求

Java虚拟机工作原理详解 (一)

一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘当中.然后你在命令行中输入 [java] view plain copy javac YourClassName.java 此时,你的java代码就被编译成字节码(.class).如果你是在Eclipse IDE或者其他开发工具中,你保存代码的时候,开发工具已经帮你完成了上述的编译工作,因此你可以在对应的目录下看到class文件.此时的class文 件依然是保存

网卡工作原理详解

此篇文章对网上现有资料进行了整理和补充,提取出有用的部分,进行存档学习. 一,认识网卡 网卡(Network Interface Card,简称NIC),也称网络适配器,是电脑与局域网相互连接的设备.无论是普通电脑还是高端服务器,只要连接到局域网,就都需要安装一块网卡.如果有必要,一台电脑也可以同时安装两块或多块网卡. 一块网卡包括OSI 模型的两个层,物理层和数据链路层: 1>物理层定义了数据传送与接收所需要的电与光信号.线路状态.时钟基准.数据编码和电路等,并向数据链路层设备提供标准接口.

HTTP响应报文与工作原理详解

HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到请求后,给予相应的响应信息. 超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到请求后,给予相应的响应信息. HTTP 请求报文 HTTP 请求报文由请求行.请求头部.空行 和 请求包体 4 个部分组成,如下图所示: 下面对请求报文格式进行简单的分析

CentOS 6.5环境下heartbeat高可用集群的实现及工作原理详解

Linux HA Cluster高可用服务器集群,所谓的高可用不是主机的高可用,而是服务的高可用. 什么叫高可用:一个服务器down掉的可能性多种多样,任何一个可能坏了都有可能带来风险,而服务器离线通常带来的代价是很大的,尤其是web站点,所以当某一台提供服务的的服务器down掉不至于服务终止的就叫高可用. 什么叫心跳:就是将多台服务器用网络连接起来,而后每一台服务器都不停的将自己依然在线的信息很简短很小的通告给同一个网络中的备用服务器的主机,告诉其实主机自己依然在线,其它服务器收到这个心跳信息