LVS原理概述:
lvs是一个开源软件,是Linux virtual server的简写,即linux虚拟服务器,是一个虚拟的服务器集群系统,lvs集群采用ip负载均衡技术和基于内容的请求分发技术。将客户端的请求均衡的转移到后边的不同的服务器上,且调度器自动屏蔽掉服务器的故障,整个服务器集群结构对于用户是透明的。集群采用三层结构:负载均衡调度层、应用服务集群层、共享存储层。lvs调度层一般是两台主备lvs服务器,主要作用是平衡真实服务器中的负载和检查每个真实服务器中服务的完整性。
 
负载均衡集群常用软件有:lvs、haproxy、nginx
高可用集群常用软件:heartbeat、keepalived、corosync+pacemaker(RHCS)
功能:
ipvsadm负责数据分发(负载均衡)
keepalived负责lvs服务器错误检测和健康检查 
lvs负载均衡技术:
1、VS/NAT(网络地址转换)
2、VS/DR(直接路由方法)
3、VS/TUN(IP隧道方法)
常用VS/DR和VS/TUN
lvs体系结构:
使用lvs架设的服务器集群系统有三个部分:最前端的负载均衡层-Load Balancer;中间服务器群组层-server Array;最底层数据共享层-shared storage表示。
Load Balancer层:位于集群系统的最前端,有一台或多台父子均衡调度器(Director server)组成,lvs模块就安装在Director server上,而Director主要作用类似于一个路由器,它含有完成lvs功能所设定的路由表,通过这些路由表把用户的请求发送到Real server上,同时在Director server上还要安装对Real server服务的监控模块Ldirectord(集成在heartbeat中),此模块用于检测各个Real server服务的健康状况。
Server Array层:由一组运行应用服务的机器组成,可以是web服务、mail服务、ftp服务、dns服务等。实际应用中Director server也可以同时兼任Real server的角色。
Shared Storage层:为所有Real server提供共享存储空间和内容一致的存储区域,一般可以使用NFS/CIFS网络文件共享数据,但是NFS在繁忙业务系统中性能不是很好,这是可以使用集群文件系统,如红帽的GFS2文件系统,oracle提供的ocfs2文件系统。可以使用iscsi、DM多路径存储、MFS分布式文件存储、DRBD
从整个lvs结构可以看出Director server是整个lvs的核心,linux系统(内核2.6)可以不用任何设置就支持lvs功能。
LVS安装和配置
第一种:通过ipvsadm命令行配置
第二种:通过红帽工具piranha来配置
通过ipvsadm命令行来配置:
1、yun install ipvsadm
2、加载ipvs规则,保存规则
3、在Director server上绑定vip
ifconfig eth0:0 192.168.0.200 netmask 255.255.255.0 up
4、Real server设置,/etc/sysctl.conf内核设置
5、Real server添加接口和路由规则
ifconfig lo:0 192.168.0.200 netmask 255.255.255.255 up
route add -host 192.168.0.200 dev lo:0
6、测试访问vip ip反复刷新网页出现不同网页则表示成功
一、通过红帽Piranha实现web负载均衡
声明:可以不用经过以上配置,直接通过web界面配置lvs比较简单
两台负载均衡调度服务器(主/备)、vip、两台Real server
 
piranha方案是基于lvs基础上设计的一套负载均衡解决方案。
一个活动lvs负载均衡调度器和一个备份的
yum install piranha -y
配置文件/etc/sysconfig/ha/lvs.cf
设定密码,启动服务,进入web界面配置,ip:3636
配置主lvs和备份lvs,配置添加lvs(vip信息),配置realserver信息,启动lvs服务pluse。
备份lvs和主lvs一样,直接拷贝lvs.cf到相应目录
测试:
ipvsadm    -ln    //查看lvs链接状态
二、通过heartbeat搭建lvs高可用集群
一台主心跳服务器和一台备份心跳服务器
两台Real sever
 
yum install heartbeat heartbeat-libs heartbeat-devel ldirectord
修改/etc/ha.d/ha.cf文件
加载内核加载watchdog
#modprobe softdog
在/etc/modprobe.d下添加watchdog.conf
options    softdog    nowayout=0
资源文件/etc/ha.d/haresources修改
认证文件/etc/ha.d/authkeys权限600
配置/etc/ha.d/ldirectord.cf
主心跳服务器配置完后,拷贝/etc/ha.d目录下的authkeys、haresources、ha.f、ldirectord.cf到备份心跳服务器。
启动服务后,正常的话会多一个eth0:0接口
在Real server上添加接口和路由
#ifconfig eth0:0 192.168.0.200 netmask 255.255.255.255 up
#route add -host 192.168.0.200 dev eth0:0
然后测试ipvsadm -Lnc查看详细链接情况
三、通过keepalived搭建lvs高可用集群
两台负载均衡调度服务器(主/备)、VIP、两台Real server
 
源码编译安装keepalived    ./configure    --prefix=/usr/local/keepalived
创建软连接,修改主备配置文件,Real server上添加接口和路由规则

LVS概述的更多相关文章

  1. 负载均衡、LVS概述

    1. 负载均衡概述 负载均衡的基本思路是:在一个服务器集群中尽可能的平衡负载量.通常的做法是在服务器前端设置一个负载均衡器(一般是专门的硬件设备).然后负载均衡器将请求的连接路由到最空闲的可用服务器. ...

  2. 1. LVS概述

    1.LVS介绍 LVS是linux virtual server的简写linux虚拟服务器,是一个虚拟的服务器集群系统,可以再unix/linux平台下实现负载均衡集群功能 2.LVS组成 LVS由2 ...

  3. LVS负载均衡集群服务搭建详解(一)

    LVS概述 1.LVS:Linux Virtual Server 四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法): 不能够实现应用层的负载均 ...

  4. LVS之NAT模型、DR模型配置和持久连接

    前言:继LVS概述,本篇实现NAT模型和DR模型下的负载均衡. NAT模型: LVS-NAT基于cisco的LocalDirector.VS/NAT不需要在RealServer上做任何设置,其只要能提 ...

  5. LVS.md

    LVS 概述 简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,官方站点.现在LVS已经是 Linux标准内核的一部分, ...

  6. LVS介绍及相关配置

    一. LVS概述 LVS是一种工作在四层协议上的负载均衡解决方案,在1998年5月由章文嵩博士创建.目前广泛使用的负载均衡模型主要有: 1)工作在四层协议(LVS):主要用于四层协议上的负载均衡,性能 ...

  7. LVS实现四层负载均衡

    LVS详解(思维导图) 1. 集群概述 1.1 Linux Cluster Linux Cluster的类型 LB(Load Balance) HA(High Available) HP(High P ...

  8. 一次 Keepalived 高可用的事故,让我重学了一遍它!

    原文首发: 你好,我是悟空. 前言 上次我们遇到了一个 MySQL 故障的事故,这次我又遇到了另外一个奇葩的问题: Keepalived 高可用组件的虚拟 IP 持续漂移,导致 MySQL 主从不断切 ...

  9. LVS集群之原理及概述(1)

    一. 概述 什么是集群,集群的特点.功能和分类.Linux环境下用哪些开源软件来构建一个功能强而有稳定的集群系统.了解国人内核级负载均衡开源项目linux虚拟服务器,简称LVS. 1.1 定义 集群是 ...

随机推荐

  1. Android Studio 模拟器启动问题——黑屏 死机 解决方法

    今天用了下Android Studio,出现了一些问题,现在将启动过程中遇到的问题和解决方案列出来,方便大家参考. 安装过程不多说,网上一搜一大把. 那直接说问题吧: 1. 无法启动,报错:Faile ...

  2. 系统时间不一致导致memcached的session不共享

    测试服务器需要做负载均衡,采用的是Nginx+Tomcat. 负载均衡配置成功之后,采用memcached配置session同步.总共4台服务器,三台服务器很顺利的配置成功,最后一台服务器死活不能共享 ...

  3. MAX16054

    MAX16054是带有单个开关去抖以及内部闭锁电路的按键通/断控制器,可接受机械开关产生的嘈杂输入,并经过一个有工厂设置的延迟时间后产生干净的数字锁存输出. 开关通.断期间,MAX16054无接触抖动 ...

  4. [iOS基础控件 - 4.1] APP列表

    需求 1.以N宫格的形式展示应用信息 2.APP信息包括图标.名字.下载按钮 3.使用尽可能少的代码,从plist读取app信息,计算每个app图标的位置尺寸信息     A.思路 1.UI布局:N宫 ...

  5. IOS-- UIView中的坐标转换

    // 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值 - (CGPoint)convertPoint:(CGPoint)point toView:(UI ...

  6. 【Away3D代码解读】其它一些的记录(持续更新)

    查看当前正在使用的AGAL代码可以在程序开始时添加下面的代码,AGAL代码会被trace出来: Debug.active = true; 具体的输出是在MaterialPassBase类的update ...

  7. java定时任务接口ScheduledExecutorService

    一.ScheduledExecutorService 设计思想 ScheduledExecutorService,是基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行,也就是说 ...

  8. 如何调整 php 应用的上传附件大小?

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  9. mysqldump when doing LOCK TABLES问题

    今天打出表结构和数据遇到问题. mysqldump -udbuser -p dbname > dbname.sql 保存信息为: when doing LOCK TABLES 解决方法: mys ...

  10. 2015北京网络赛 G题 Boxes bfs

    Boxes Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc2015beijingonl ...