一.LVS是什么?
LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器。它是我们国家的章文嵩博士的一个开源项目。在linux内存2.6中,它已经成为内核的一部分,在此之前的内核版本则需要重新编译内核。
二.LVS能干什么?
LVS主 要用于多服务器的负载均衡。它工作在网络层,可以实现高性能,高可用的服务器集群技术。它廉价,可把许多低性能的服务器组合在一起形成一个超级服务器。它 易用,配置非常简单,且有多种负载均衡的方法。它稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果。另外可扩展性也非常好。
三.工作原理
如上图,LVS可分为三部分:
1.Load Balancer:这是LVS的核心部分,它好比我们网站MVC模型的Controller。它负责将客户的请求按照一定的算法分发到下一层不同的服务器进行处理,自己本身不做具体业务的处理。另外该层还可用监控下一层的状态,如果下一层的某台服务器不能正常工作了,它会自动把其剔除,恢复后又可用加上。该层由一台或者几台Director Server组成。
2.Server Array:该层负责具体业务。可有WEB Server、mail Server、FTP Server、DNS Server等组成。注意,其实上层的Director Server也可以当Real server用的。
3.Shared Storage:主要是提高上一层数据和为上一层保持数据一致。
四.负载均衡机制
前面我们说了LVS是工作在网络层。相对于其它负载均衡的解决办法,比如DNS域名轮流解析、应用层负载的调度、客户端的调度等,它的效率是非常高的。LVS的通过控制IP来实现负载均衡。IPVS是其具体的实现模块。IPVS的主要作用:安装在Director Server上面,在Director Server虚拟一个对外访问的IP(VIP)。用户访问VIP,到达Director Server,Director Server根据一定的规则选择一个Real Server,处理完成后然后返回给客户端数据。这些步骤产生了一些具体的问题,比如如何选择具体的Real Server,Real Server如果返回给客户端数据等等。IPVS为此有三种机制:
1.VS/NAT(Virtual Server via Network Address Translation),即网络地址翻转技术实现虚拟服务器。当请求来到时,Diretor server上处理的程序将数据报文中的目标地址(即虚拟IP地址)改成具体的某台Real Server,端口也改成Real Server的端口,然后把报文发给Real Server。Real Server处理完数据后,需要返回给Diretor Server,然后Diretor server将数据包中的源地址和源端口改成VIP的地址和端口,最后把数据发送出去。由此可以看出,用户的请求和返回都要经过Diretor Server,如果数据过多,Diretor Server肯定会不堪重负。
2.VS/TUN(Virtual Server via IP Tunneling),即IP隧道技术实现虚拟服务器。它跟VS/NAT基本一样,但是Real server是直接返回数据给客户端,不需要经过Diretor server,这大大降低了Diretor server的压力。
3.VS/DR(Virtual Server via Direct Routing),即用直接路由技术实现虚拟服务器。跟前面两种方式,它的报文转发方法有所不同,VS/DR通过改写请求报文的MAC地址,将请求发送到Real Server,而Real Server将响应直接返回给客户,免去了VS/TUN中的IP隧道开销。这种方式是三种负载调度机制中性能最高最好的,但是必须要求Director Server与Real Server都有一块网卡连在同一物理网段上。
五.负载调度算法
前面我们都知道Director Server要选择不同的Real server,那么它具体的如果选择Real Server以达到负载均衡的呢,IPVS实现了八种调度方法,具体算法可以查看官网或者百度,这里就不一一列出了。官网:www.linuxvirtualserver.org。
六、具体配置操作
首先我们这里有三台机子,IP分别是192.168.132.30(Diretor server),192.168.132.64(Real server 1),192.168.132.68(real server 2)。在real server 1和2上面,已经配置好了web服务,并且我们假设还有一个对外访问的虚拟IP是192.168.132.254(VIP)。另外在Diretor server上面已经安装好了ipvsadm。
下面我们VS/DR介绍详细的配置过程。
Diretor server上面的配置:
//首先在Director Server上绑定一个虚拟IP(也叫VIP),此IP用于对外提供服务: Ifconfig eth0:0 192.168.132.254 broadcast 192.168.132.254 netmask 255.255.255.255 up //给设备eth0:0指定一条路由 route add -host 192.168.132.254 dev eth0:0 //启用系统的包转发功能 echo "1" >/proc/sys/net/ipv4/ip_forward
//清楚ipvsadm以前的设置 ipvsadm -C //添加一个新的虚拟IP记录192.168.132.254,其持续服务之间是120秒 ipvsadm -A -t 192.168.132.254:80 -s rr -p 120 //在新增的虚拟IP记录中新增两天real server记录,-g即为使用VS/DR模式 ipvsadm -a -t 192.168.132.254:80 -r 192.168.132.64:80 -g ipvsadm -a -t 192.168.132.254:80 -r 192.168.132.68:80 -g //启用LVS服务 ipvsadm |
两台real server上的配置:
/*在回环设备上绑定了一个虚拟IP地址,并设定其子网掩码为255.255.255.255,与Director Server上的虚拟IP保持互通*/ ifconfig lo:0 192.168.132.254 broadcast 192.168.132.254 netmask 255.255.255.255 up route add -host 192.168.132.254 dev lo:0 //禁用本机的ARP请求echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
|
之后在其他客户端机子上面,访问http://192.168.132.254/,则可以看到结果了。
相关推荐
集群及LVS简介、LVS-NAT集群、LVS-DR集群 本文档主要讲解了Linux虚拟服务器(LVS)的基本概念和实现方法,涵盖了LVS的集群模式、LVS-NAT集群、LVS-DR集群等内容。同时,文档还提供了一些实际的案例,包括使用...
【LVS(Linux Virtual Server)简介】 LVS,全称为Linux Virtual Server,是由中国科学家章文嵩博士发起的开源项目,旨在提供一种高性能、高可用的服务器集群技术。LVS通过虚拟化网络层,使得多台服务器可以协同...
#### 一、LVS简介与重要性 LVS (Linux Virtual Server) 是一种在 Linux 平台上实现负载均衡的技术。它可以有效地将大量的网络请求分发到多个后端服务器上处理,从而提高系统的整体响应速度和服务能力。LVS 项目由...
#### 一、LVS简介及应用场景 **LVS**(Linux Virtual Server)是一种基于Linux内核的虚拟服务器集群系统,它能够实现高效的负载均衡和服务高可用性。对于需要处理大量并发连接和高流量的场景,LVS提供了强大的支持。 ...
1. **LVS简介.docx** 这份文档提供了LVS的基本介绍,包括其工作原理、主要功能和优势。LVS利用IP层或TCP层的负载均衡技术,通过调度器将来自客户端的请求分发到后端的真实服务器上,以实现高并发处理能力和故障切换...
以前做过一些负载均衡高可用的实验,由于...现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无
- **安装和配置IPVSADM**:同样使用IPVSADM工具管理LVS服务。 **命令示例:** ```bash # 配置主IP ifconfig eth0 20.0.0.2 netmask 255.255.255.0 # 复制虚拟IP ifconfig eth0:0 20.0.0.100 netmask 255.255.255....
#### 一、LVS简介 LVS (Linux Virtual Server) 是一种用于构建高性能、高可用性服务器集群的技术。它通过负载均衡技术将客户端请求分发到多台真实服务器上处理,从而提高系统的整体处理能力和服务可用性。 #### 二...
LVS简介** LVS全称为Linux Virtual Server,是一种基于IP的负载均衡技术。它通过三种主要的IP负载均衡技术——VS/NAT、VS/TUN和VS/DR,实现对网络服务的高效分发。这些技术各有优缺点,适用于不同的网络环境。 - ...
#### 一、LVS简介 LVS(Linux Virtual Server)是一种先进的集群技术,主要用于构建高性能、高可用性的服务器集群。它通过IP负载均衡技术和基于内容请求分发技术来实现这一目标。具体而言,LVS通过一个调度器将外部...
#### 一、LVS简介与原理 LVS(Linux Virtual Server)是一种基于Linux内核的负载均衡解决方案,能够实现对服务器集群中的多个真实服务器进行流量分发,提高系统的可用性和扩展性。LVS的工作模式主要包括三种:NAT...
#### LVS简介与工作原理 LVS(Linux Virtual Server)是由章文嵩博士发起的一个自由软件项目,它旨在通过负载均衡技术和Linux操作系统来实现高性能、高可用的服务器集群。LVS自1998年启动以来,已经成为了一个成熟...
#### LVS简介 LVS(Linux Virtual Server)是一种基于Linux内核的负载均衡技术,它通过构建虚拟服务器集群来实现对大量并发访问的处理,有效提升系统的可用性和扩展性。LVS支持三种主要的工作模式:VS/NAT(Virtual...
LVS简介 LVS是由章文嵩博士开发的,旨在为Linux系统提供高性能的网络服务负载均衡功能。它基于IP层,通过调度策略将来自客户端的请求分发到后端真实的服务器上,从而实现服务器集群,提高服务的可用性和响应速度。...
一、LVS 简介 LVS(Linux Virtual Server)是 Linux 虚拟服务器的简写,是一个虚拟的服务器集群系统。该项目于 1998 年 5 月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。LVS 提供了三种 IP 负载均衡...
本文档将详细介绍如何使用Red Hat AS 3.x、LVS、Linux-HA及Ldirectord来构建一个高可用的负载均衡集群系统。 - **架构设计**:集群系统通常由LoadBalancer、Backup Server和Real Server组成。LoadBalancer负责接收...
#### 一、LVS简介与应用场景 LVS(Linux Virtual Server)是一种基于Linux的集群配置方案,特别适用于Web集群应用。它通过构建虚拟服务器集群,提高系统的可伸缩性和可用性,同时降低单点故障的风险。 #### 二、...
【Keepalived及LVS完全使用指南】 Keepalived是一个开源项目,主要设计用于网络服务的高可用性(HA)和负载均衡。它基于Linux Virtual Server(LVS),通过Virtual Router Redundancy Protocol (VRRP) 实现主备切换...