在Linux下设置集群是通过Linux virtual severr来完成的,当然,负载平衡的建设前提也是在此之上的。那么,我们想要学会其中的设置过程,首先要了解它的基本构成原理,那么现在我们要对其中的基本概念进行一个介绍。希望对大家有所帮助。
LVS可称为Linux虚拟服务器,它具备高可用性、可扩充性和科学性的数学运算,而这些也就是集群系统 (Cluster System)的应用。
高可用性High-Availability (HA) 不允许有服务中断的情形发生时。由两台以上的计算机通过一定方式互相监听,当主要服务器主机出现问题而无预警的停止服务时,备份服务器能够自动立即接替工作,使客户端感觉不出有异。可扩充性 (Scalability) 应用在web 、ftp server上为多。当用户连结一个地址,但实际上是有若干台服务器在提供服务。而当服务请求达到饱和时,还可以很容易地再添加新的节点而不用停掉整个 cluster,实现所谓的"热插拔",这也就是Cluster中的一个概念-Scalability
(易扩展性)。而且,cluster还会查询真实节点的情况,当某台真实节点没有响应时,就不再把任务分配到那里,直到这台节点恢复正常。科学的数学运算 (Scientific) 用于效能、图像处理等计算。Cluster已经发展多年,也比较成熟了。之前需要专业的软/硬设备才能实现。所以只有少数公司才有能力用的起。现在Linux上的LVS就可以让你在PC上架设Cluster的解决方案,使更多的人有机会构建自己的cluster。LVS提供了三种转发机制(Traffic Forward Mechanism)、四种分配方法(Load-balancing
Methods),以下详述
三转发机制(Traffic Forward Mechanism)
三种不同的转发机制分别将LVS主机建构成
NAT虚拟主机 Virtual Server via Network Address Translation
IP Tunneling虚拟主机 Virtual Server via IP Tunneling
Direct Routing虚拟主机 Virtual Server via Direct Routing
负载平衡主机可称为Virtual Server ( 虚拟主机 )、Load Balancer (负载平衡器)、Linux Director (导引主机),以下简称为LVS主机
NAT虚拟主机 Virtual Server via Network Address Translation ( VS/NAT )
由于IPv4中IP地址空间的日益不足和安全方面的原因,很多网络使用Internet上未被分配的私有IP地址(10.0.0.0/255.0.0.0、 172.16.0.0/255.128.0.0 和192.168.0.0/255.255.0.0)。当内部网络中的主机要连结Internet或被Internet连结时,就需要采用网络地址转换(Network Address Translation, 以下简称NAT),可以用NAT方法将不同IP地址的并行网络服务变成在一个IP
地址上的一个虚拟服务。
在一组服务器前有一个LVS主机,用户通过Virtual IP Address(即LVS主机的外部地址)连结服务时,请求到达LVS主机,LVS主机以负载平衡方法从一组真实服务器选出一个,将目标地址 Virtual IP Address重新指向内部实际提供服务服务器的地址。同时,LVS主机记录这个连接,当这个连接的真实服务器的响应经过LVS主机时,LVS主机将来源地址和来源端口改?Virtual IP Address和相应的埠,再把响应发给用户。当连接终止或逾时,LVS主机将这个连接从纪录中删除。这样,用户所看到的只是在Virtual
IP Address 上提供的服务。
IP Tunneling 虚拟主机 Virtual Server via IP Tunneling (VS/TUN)
在VS/NAT 的集群系统中,请求和应答的封包都需要通过LVS主机,当实际服务器的数量超过20时,LVS主机将成为集群系统的新瓶颈。利用IP隧道技术将请求封包封装转发给后端服务器,响应封包能从后端服务器直接返回给客户。但在这里,后端服务器有一组而非一个,所以我们不可能静态地建立一一对应的隧道,而是动态地选择一台服务器,将请求封包封装和转发给选出的服务器。这样,我们可以利用IP隧道的原理将一组服务器上的网络服务组成在一个IP地址上的虚拟网络服务。
各个服务器将 VIP地址配置在自己的IP隧道设备上。
VS/TUN 的连接分配和管理与VS/NAT中的一样,只是它的封包转发方法不同。负载平衡主机根据各个服务器的负载情况,动态地选择一台服务器,将请求封包封装在另一个IP封包中,再将封装后的IP封包转发给选出的服务器;那台服务器收到封包后,先将封包解封获得原来目标地址为VIP的封包,服务器发现VIP地址被配置在本地的IP隧道设备上,所以就处理这个请求,然后根据路由表将响应封包直接返回给客户。
Direct Routing 虚拟主机 Virtual Server via Direct Routing (VS/DR)
这种IP层负载平衡方法与IBM的NetDispatcher中的方法类似。
LVS 主机和服务器组都必须在同一网络区域中,如通过交换机或者高速的HUB相连。VIP地址为LVS主机和服务器组共享,LVS主机配置的VIP地址是对外可连结的,用于接收虚拟服务的请求封包;所有的服务器把VIP地址配置在各自的Non-ARP网络设备上,它对外面是不可见的,只是用于处理目标地址? VIP的网络请求。
VS/DR的连接分配和管理与VS/NAT和VS/TUN中的一样,它的封包转发方法又有不同,将封包直接路由给目标服务器。在VS/DR中,LVS主机根据各个服务器的负载情况,动态地选择一台服务器,不修改也不封装IP封包,而是将资料封包的MAC地址改为选出服务器的MAC地址,再将修改后的资料封包在与服务器组的局域网上发送;因为资料封包的MAC地址是选出的服务器,所以服务器肯定可以收到该封包,发现VIP 地址被配置在本地的网络设备上,所以就处理这个请求,然后根据路由表将响应封包直接返回给客户。
分享到:
相关推荐
实现负载均衡集群常见的软件实现方式:LVS和Haproxy 硬件实现方式:BigIp(F5), A10(IBM) ,Citrix(Netscaler) 考虑到复杂性以及成本因素,本方案使用LVS方式来实现负载均衡集群。
随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司...我们利用LVS+Keepalived基于完整开源软件的架构可以为你提供一个负载均衡及高可用的服务器。
Linux负载均衡--LVS+Keepalived(终极文档).pdf
LVS实现网络负载均衡LVS实现网络负载均衡
LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和 基于内容请求分发技术。
lvs+nginx负载均衡,lvs+nginx负载均衡,lvs+nginx负载均衡,lvs+nginx负载均衡
负载均衡开源解决方案 ppt文档 讲解很详细
LVS负载均衡结构 Nginx的负载结构 LVS和Nginx的对比 负载均衡选型 在高并发环境中LVS,Nginx的角色
LVS集群与负载均衡的相关策略,主要提供了使用C/C++ 语言开发负载均衡的策略
MySQL群集+LVS负载均衡安装配置实施
负载均衡--LVS+Keepalived
现在LVS已经是 Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS...
负载均衡的LVS服务器的设计与实现.pdf
lvs负载均衡集群
运维、系统工程师、架构工程师必备知识--lvs负载均衡集群详解
在linux平台部署安装lvs,并配置负载均衡,实现web负载
LVS+Keepalived实现高可用负载均衡,很详细的从头到尾的介绍,按照这可以搭建起来。 LVS+Keepalived实现高可用负载均衡,很详细的从头到尾的介绍,按照这可以搭建起来。
个人理解的LVS负载均衡的区别
1、部署环境架构设计2、安装与配置说明2.1 Apache与PHP-FPM2.2 Varnish与Apache2.3 Nginx反向代理2.4 LVS负载均衡3、环境测试3.1 Apache与PHP-FPM3.2 Varnish与Apache3.3 Nginx3.4 LVS负载均衡