LVS集群详解(持续更新中)
2016-05-08 16:10
281 查看
一、LVS(Linux Virtual Server)简介:
背景:在Internet的飞速发展下,对于网络宽带和服务器的要求越来越高。因此,对用硬件和软件的方法实现高可用伸缩、高可用网络服务的需求不断增长。针对高可用伸缩、高可用网络服务的需求章文嵩博士在1988年5月成立了LVS自由软件项目,是基于IP层和基于内容请求分发的负载平衡调度方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。
项目目标:使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的伸缩性、可靠性和可管理性。
二、LVS(Linux Virtual Server)体系结构:
(该图片来源于网络)
Load Balancer:是整个集群对外的前端机,由一台或者多台负载调度器(Director Server)组成,负责将客户的请求分发到Server Cluster的服务器上执行,而客户认为服务是来自一个IP地址(虚拟IP地址)。调度器是服务器集群系统的唯一的入口点,它可以采用IP负载均衡技术、基于内容请求分发技术或者两者相结合。它的所有操作都是在Linux操作系统的内核中完成,开销很小,具有很高的吞吐率。
Server Cluster:是由多个Real Server通过高速的LAN或分布在各地的WAN相连接组成的,服务器池的服务器数目是可变的。当负载超过目前所有服务器的处理能力时,可以在服务器池中增加服务器来增加处理能力以解决此问题。
Storage:为所有的Real Server提供共享的存储区,可以让服务器拥有相同的内容,提供相同的服务。
三、LVS(Linux Virtual Server)的内核模型:
1、当客户端的请求到达负载调度器时,首先到达PREROUTING链;
2、当该请求数据包的目的地址是本机时,将数据包通过PREROUTING链送往INPUT链;
3、当数据包到达INPUT链时,IPVS会对数据包进行检查,数据包的目的地址和端口不在规则内的话,数据包被送往用户空间;
4、如果数据包的目的地址和端口在规则内,那么将修改该数据包的目的地址为Real Server中某一选定好的的服务器的地址,并把该数据包送往POSTROUTING链;
5、该数据包通过POSTROUTING链发送到Real Server中选定好的服务器。
注:ipvsadm:用户空间的命令行工具,用于管理集群服务及集群服务上的Real Server等;
ipvs:工作于内核上的INPUT链上的程序代码,其集群功能依赖于ipvsadm定义的集群服务器规则。
四、LVS(Linux Virtual Server)的类型:
1、VS/NAT技术(Virtual Server via Network Address Translation):
(该图片来源于网络)
2、VS/DR(Virtual Server via Direct Routing):
(该图片来源于网络)
3、VS/TUN(Virtual Server via IP Tunneling):
(该图片来源于网络)
背景:在Internet的飞速发展下,对于网络宽带和服务器的要求越来越高。因此,对用硬件和软件的方法实现高可用伸缩、高可用网络服务的需求不断增长。针对高可用伸缩、高可用网络服务的需求章文嵩博士在1988年5月成立了LVS自由软件项目,是基于IP层和基于内容请求分发的负载平衡调度方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。
项目目标:使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的伸缩性、可靠性和可管理性。
二、LVS(Linux Virtual Server)体系结构:
(该图片来源于网络)
Load Balancer:是整个集群对外的前端机,由一台或者多台负载调度器(Director Server)组成,负责将客户的请求分发到Server Cluster的服务器上执行,而客户认为服务是来自一个IP地址(虚拟IP地址)。调度器是服务器集群系统的唯一的入口点,它可以采用IP负载均衡技术、基于内容请求分发技术或者两者相结合。它的所有操作都是在Linux操作系统的内核中完成,开销很小,具有很高的吞吐率。
Server Cluster:是由多个Real Server通过高速的LAN或分布在各地的WAN相连接组成的,服务器池的服务器数目是可变的。当负载超过目前所有服务器的处理能力时,可以在服务器池中增加服务器来增加处理能力以解决此问题。
Storage:为所有的Real Server提供共享的存储区,可以让服务器拥有相同的内容,提供相同的服务。
三、LVS(Linux Virtual Server)的内核模型:
1、当客户端的请求到达负载调度器时,首先到达PREROUTING链;
2、当该请求数据包的目的地址是本机时,将数据包通过PREROUTING链送往INPUT链;
3、当数据包到达INPUT链时,IPVS会对数据包进行检查,数据包的目的地址和端口不在规则内的话,数据包被送往用户空间;
4、如果数据包的目的地址和端口在规则内,那么将修改该数据包的目的地址为Real Server中某一选定好的的服务器的地址,并把该数据包送往POSTROUTING链;
5、该数据包通过POSTROUTING链发送到Real Server中选定好的服务器。
注:ipvsadm:用户空间的命令行工具,用于管理集群服务及集群服务上的Real Server等;
ipvs:工作于内核上的INPUT链上的程序代码,其集群功能依赖于ipvsadm定义的集群服务器规则。
四、LVS(Linux Virtual Server)的类型:
1、VS/NAT技术(Virtual Server via Network Address Translation):
(该图片来源于网络)
2、VS/DR(Virtual Server via Direct Routing):
(该图片来源于网络)
3、VS/TUN(Virtual Server via IP Tunneling):
(该图片来源于网络)
相关文章推荐
- RedHat 5.8 安装Oracle 11gR2_Grid集群
- mysql集群之MMM简单搭建
- MySQL的集群配置的基本命令使用及一次操作过程实录
- MySQL slave_net_timeout参数解决的一个集群问题案例
- Redis 集群搭建和简单使用教程
- LVS+Keepalived构建高可用负载均衡(测试篇)
- LVS(Linux Virtual Server)Linux 虚拟服务器介绍及配置(负载均衡系统)
- linux服务器之LVS、Nginx和HAProxy负载均衡器对比总结
- Windows Server 2003 下配置 MySQL 集群(Cluster)教程
- tomcat6_apache2.2_ajp 负载均衡加集群实战分享
- 用apache和tomcat搭建集群(负载均衡)
- LVS+Keepalived构建高可用负载均衡配置方法(配置篇)
- Red Hat Linux,Apache2.0+Weblogic9.2负载均衡集群安装配置
- Hadoop单机版和全分布式(集群)安装
- java结合HADOOP集群文件上传下载
- Spring3.2.0和Quartz1.8.6集群配置
- (Weblogic Portal 9.2.3集群)Oracle数据库初始化报PF_MARKUP...
- HBase基本原理
- HDFS DatanodeProtocol——sendHeartbeat