Linux集群及LVS简介
一、什么是集群
通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。
二、集群的分类
1、高可用性集群High-availability (HA) clusters:指当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。
衡量一个网站的高可用:
平均无故障时间/(平均无故障时间+平均修复时间)
95%,99%,99.9%,99,99%,99.999%
一般用到的技术有heartbeart、crosync、keepalived、drbd。
2、负载均衡集群Load Balancing (LB) clusters: 通过一个或者多个前端负载均衡器,将工作负载分发到后端的一组服务器上,是扩展容量,实现伸缩性的主要技术。
一般用到的技术有:
TCP层:LVS、haproxy
应用层:nginx,haproxy
缓存:varnish、squid
3、高性能计算集群High-performance(HPC)clusters:高性能计算集群采用将计算任务分配到集群的不同计算节点而提高计算能力。
三、什么是LVS?
Linux Virtual Server(Linux虚拟服务器),是1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。
LVS工作在TCP/UDP协议等的四层,能够根据用户请求的IP+端口来判定是否转发以及向何处转发的。
官方站点:http://www.linuxvirtualserver.org/
四、LVS的NAT(网络地址转换)类型
1、RS(Real Server)应该使用私有地址;
2、RS(Real Server)的网关必须指向DIP(Director IP);
3、RIP(Real Server IP)与DIP(Director IP)必须在同一网段内;
4、请求和相应的报文都得经过Director,在高负载场景中,Director很可能成为系统的性能瓶颈;
5、支持端口映射;
6、RS(Real Server)可以使用热议支持集群服务的OS。
五、LVS的DR(直接路由)类型
让前端路由将发往VIP(Virtual Server IP)时,只能是Director上的VIP(Virtual Server IP);
可以通过修改linux的内核参数,将RS(Real Server)上的VIP(Virtual Server IP)配置为lo接口的别名,限制linux仅对对应接口的ARP请求做响应
1、RS(Real Server)可以使用私有地址,但也可以使用公网地址,此时可以直接通过互联网炼乳RS(Real Server)以实现配置、监控等;
2、RS(Real Server)的网关一定不能指向DIP(Director IP);
3、RS(Real Server)跟Director要在同一物理网络内(不能有路由器分隔);
4、请求报文经过Director,但响应报文一定不能经过Director;
5、不支持端口映射;
6、RS(Real Server)可以使用大多数的操作系统。
六、LVS的TUN(IP隧道)类型(扩展的DR类型)
1、DIP、RIP、VIP都是公网地址;
2、RS(Real Server)的网关不会指向也不可能指向DIP(Director IP);
3、请求报文经过Director,但响应报文一定不经过Director;
4、不支持端口映射;
5、RS(Real Server)的OS必须的支持隧道功能。
Linux集群及LVS简介的更多相关文章
- 基于VMware的虚拟Linux集群搭建-lvs+keepalived
基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...
- linux 集群及lvs
集群及LVS 集群: 一组通过高速网络互联的计算机组,并以单一系统的模式加以管理 价格很多服务器集中起来,提供同一种服务,在客户端看起来就像只有一个服务器 可以在付出较低成本的情况下获得在性能,可靠性 ...
- Linux集群服务 LVS
linux虚拟服务器(LVS)项目在linux操作系统上提供了最常见的负载均衡软件. 集群定义: 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性 ...
- 二十六. 集群及LVS简介 LVS-NAT集群 LVS-DR集群
方案:安装ipvsadm软件包,关于ipvsadm的用法可以参考man ipvsadm资料. 常用ipvsadm命令语法格式如表-1及表-2所示. 1.ipvsadm命令用法(proxy) 1.1 创 ...
- Linux centosVMware Linux集群架构LVS DR模式搭建、keepalived + LVS
一.LVS DR模式搭建 三台机器 分发器,也叫调度器(简写为dir) davery :1.101 rs1 davery01:1.106 rs2 davery02:11.107 vip 133.200 ...
- Linux 笔记 - 第十八章 Linux 集群之(二)LVS 负载均衡集群
一.前言 Linux 集群从功能上可以分为两大类:高可用集群和负载均衡集群.上一篇已经讲解了 HA 高可用集群,此节讲解负载均衡集群. 负载均衡集群(Load Balance Cluseter,简称 ...
- Linux集群监控工具简介:Ganglia和Nagios
11年时候,曾经对 Ganglia 和 Nagios有一定接触,这是两个用于监视数据中心的工具.这两个工具被大量用于高性能计算(HPC)环境中,但是它们对于其他环境也具有很大的吸引力(例如云.呈现集群 ...
- Linux集群基础
Linux集群基础 作者:Danbo 时间:2015-7-12 集群概述 什么是集群?集群是一组协同工作的服务器实体.用以提供比单一服务实体更具扩展性和可用性的平台. 集群的分类 1.HPC(High ...
- Linux集群
集群的起源: 集群并不是一个全新的概念,其实早在七十年代计算机厂商和研究机构就开始了对集群系统的研究和开发.由于主要用于科学工程计算,所以这些系统并不为大家所熟知.直到Linux集群的出现,集群的概念 ...
随机推荐
- Criterion & DetachedCriteria
今天笔记主要是记录笔记,以及代码: criteria: 创建查询接口:createCriteria(class) 查询条件接口:add(各种条件); Restrictions 提供了设置参数的各种接口 ...
- git ignore 添加忽略文件不生效解决办法
在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件).这个文件每一行保存了一个匹配的规则例如: /targ ...
- Linux 控制 配置 减少 交换分区 SWAP 虚拟内存使用
对于某些大型应用来说,SWAP 严重影响性能,尽可能避免使用: The Linux kernel provides a tweakable setting that controls how ofte ...
- 如何让linux定时任务crontab按秒执行
如何让linux定时任务crontab按秒执行? linux定时任务crontab最小执行时间单位为分钟如果想以秒为单位执行,应该如何设置呢?思路 正常情况是在crontab中直接定义要执行的任务,现 ...
- python 正则表达式总结
一.匹配元字符 使用元字符可以简便操作,写正则表达式时更方便 常用元字符: . 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行 ^ 匹配行首. ...
- 安卓设备通过USB接口读取UVC摄像头权限问题
libusb for Android================== Building:--------- To build libusb for Android do the following ...
- Spring3博客(内含ppt和代码的github地址)
我们的Spring3相当于给我们的项目来了一次大整容!因为上次演示的时候,老师给我们的建议是做得小清新一点,所以我们项目改动挺大的. PPT地址:http://files.cnblogs.com/fi ...
- C#预编译指令之#region
#region和#endregion是一个区域注释(注释一段话.但是不是AU3内置的语法.内置的注释是 ";" 和 "#cs" 与 "#ce" ...
- Educational Codeforces Round 14 D. Swaps in Permutation
题目链接 分析:一些边把各个节点连接成了一颗颗树.因为每棵树上的边可以走任意次,所以不难想出要字典序最大,就是每棵树中数字大的放在树中节点编号比较小的位置. 我用了极为暴力的方法,先dfs每棵树,再用 ...
- ASP.NET MVC ActionResult的其它返回值
一.ascx页面 场景:要返回代码片断,比如Ajax返回一个子页 我们先新建一个Action public ActionResult Ascx() { return PartialView(); } ...