集群服务器--LVS
集群可分为高可用性集群(高可用性软件HA)、高性能计算集群(Beowulf、HPC)、负载均衡集群(LVS、MOSIX)。
LVS三种模式的特点:
VS/NAT VS/TUN VS/DR
服务器操作系统 任意 支持隧道 多数(支持Non-arp )
服务器网络 私有网络 局域网/广域网 局域网
服务器数目(100M网络) 10-20 100 多(100)
服务器网关 负载均衡器 自己的路由 自己的路由
效率 一般 高 最高
一、NAT(VS-NAT)
通过NAT网络地址转换方式来实现负载均衡。相当于LVS服务器同时是一台NAT网关,它拥有一个公共IP,同时负责将针对此IP的请求,按照算法将其转发给局域网中到某台真实服务器,真实服务器完成处理后,将结果返回给LVS服务器,再由LVS服务器把请求返回给用户。
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,并能很好地将真实服务器隐藏起来。
缺点:扩展性有限。对LVS服务器的系统性能要求较高。
二、IP 隧道模式(VS-TUN)
采用NAT技术时,负载均衡器只负责将请求包分发给物理服务器,而物理服务器将应答包直接发给用户。所以,负载均衡器能处理很巨大的请求量,这种方式,负载均衡器不再是系统的瓶颈,而真实服务器将响应直接返回给客户,所以调度器只处理请求报文。
三、直接路由模式(VS-DR)
优点:和 VS-TUN一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器。
不足:和NAT一样DR要求负载均衡器的网卡必须与物理网卡在一个物理段上。
--------------------------------------------------------------------
LVS 调度算法
# rr 轮叫(Round Robin)
调度器通过"轮 叫"调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务 器,而不管服务器上实际的连接数和系统负载。
# wrr 加权轮叫(Weighted Round Robin)
调度器通过"加权轮叫"调度算法根据真实服务器的不同处理能力来调 度访问请求。这样可以保证处理能力强的服务器处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。
# lc 最少链接(Least Connections)
调度器通过"最少连接"调度算法动态地将网络请求调度到已建立的链 接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用"最小连接"调度算法可以较好地均衡负载。
# wlc 加权最少链接(Weighted Least Connections)
在集群系统中的服务器性能差异较大 的情况下,调度器采用"加权最少链接"调度 算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。
# lblc 基于局部性的最少链接(Locality-Based Least Connections)
"基于局部性的最少链接" 调度算法是针对目标IP地址的负载均衡,目前主要 用于Cache集群系统。该算法根据请求的目标IP地 址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若 服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用"最少链接"的原则选出一个可用的服务器,将请求发送到该服务器。
# lblcr 带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)
"带复制的基于局部性最少链接"调度算法也是 针对目标IP地址的负载均衡,目前主要用于Cache集 群系统。它与LBLC算法的不同之处是它要维护从一个目标IP地 址到一组服务器的映射,而LBLC算法维护从一个目标IP地 址到一台服务器的映射。该算法根据请求的目标IP地址找出该目标IP地址对应的服务器组,按"最小连接"原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器,若服务器超载;则按"最小连接"原则从这个集群中选出一台服务器,将该服务 器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。
# dh 目标地址散列(Destination Hashing)
"目标地址散列"调 度算法根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
# sh 源地址散列(Source Hashing)
"源地址散列"调 度算法根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
--------------------------------------------------------------------
管理 LVS 的虚拟服务
-A 增加 ipvsadm 在内核列表中增加一个新的调度服务,也可以理解为添加一主机。
-s 指定该调度服务使用到算法。
-t|-u指定IP地址和端口,t表示TCP协议,u表示UDP协议。
-E 编辑已经存在的调度列表。
-D 删除某条调度列表。
管理 LVS 的真实服务器
-a 增加一个IP地址来参与响应请求服务。
-t|-u指定调度列表中主机的IP地址和端口,t表示TCP协议,u表示UDP协议。
-r 指定参与响应请求的IP地址和端口。
-g 表示DR模式
-i 表示TUN模式
-m 表示NAT模式
-w 指定权重,供那些加权算法参考,如1、2、3。
-e 编辑指定的真实服务器。
-d 删除指定的真实服务器。
查看和管理当前 LVS 配置
-C 清空所有配置列表。
-Z 清零当前连接计算器。
-l 显示当前内核LVS状态。
-c 显示当前LVS的连接情况,配合l使用。
--stats显示统计数据。
--rat显示速率数据。
--sort对输出进行排序。
-n不进行主机名解析,直接输出IP,加快显示速度。
--------------------------------------------------------------------
实验:环境CentOS6,防火墙全部关闭,ipvsadm TUN模式
yum install -y gcc gcc-c++ kernel-devel bzip2 iptablessendmail openssl-devel automake autoconf libtool ipvsadm
192.168.1.130 ipvsadm主机
192.168.1.140 VIP
192.168.1.131
192.168.1.132
[root@130#]
ifconfig eth0:1 192.168.1.140 broadcast 192.168.1.140 netmask 255.255.255.255 up(如果有两个网卡,可以将VIP地址配置到另一个网卡上)
route add -host 192.168.1.140 dev eth0:1
echo "0" >/proc/sys/net/ipv4/ip_forward
echo "1" >/proc/sys/net/ipv4/conf/all/send_redirects
echo "1" >/proc/sys/net/ipv4/conf/default/send_redirects
echo "1" >/proc/sys/net/ipv4/conf/eth0/send_redirects
ipvsadm -A -t 192.168.1.140:80 -s rr
ipvsadm -a -t 192.168.1.140:80 -r 192.168.1.131:80 -i
ipvsadm -a -t 192.168.1.140:80 -r 192.168.1.132:80 -i
ipvsadm -a -t 192.168.1.140:80 -r 192.168.1.130:80 -i
[root@131#][root@132#]
ifconfig lo:0 192.168.1.140 broadcast 192.168.1.140 netmask 255.255.255.255 up
route add -host 192.168.1.140 dev lo:0
echo 0 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
[
root@130#
]#
ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.140:80 rr
-> 192.168.1.130:80 Local 1 1 0
-> 192.168.1.131:80 Tunnel 1 2 0
-> 192.168.1.132:80 Tunnel 1 2 0
说明
访问192.168.1.140能出现轮训不同的页面即表示搭建LVS成功。
Forward为Tunnel即为IP隧道模式tun。
Weight表示权重。
ActiveConn是表示处于TCP的ESTABLISHED(确定建立)状态的连接数目,ActiveConn的各项总和即为当前已建立连接的总和。
InActConn表示处于TCP的非ESTABLISHED状态的连接数目,包括SYN_RECEIVED, TIME_WAIT, CLOSE_WAIT状态等等。
分享到:
相关推荐
- **目标**:LVS旨在利用Linux操作系统和LVS集群软件实现一个高可用、高性能且成本低廉的服务器集群。 - **组成**: - **前端**:负责接收客户端请求并将这些请求分发给后端服务器。 - **中间层**:由一组实际提供...
LVS(Linux Virtual Server)是 Linux 虚拟服务器的简写,是一个虚拟的服务器集群系统。该项目于 1998 年 5 月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。LVS 提供了三种 IP 负载均衡技术(VS/NAT、...
**LVS**(Linux Virtual Server)是一种开源的负载均衡技术,主要用于实现高性能的Web服务器集群。它通过一个虚拟的IP地址(VIP)对外提供服务,并将接收到的请求分发到后端的真实服务器上。LVS支持多种负载均衡策略...
LVS(Linux Virtual Server)是一种开源的虚拟服务器解决方案,旨在提供高可用性、高性能和高扩展性的服务器集群解决方案。LVS架构中有三种模式:LVS-DR、LVS-NAT和LVS-TUN,本文将对这三种模式进行详细的配置总结。...
LVS是一种基于IP层的负载均衡调度技术,它通过在操作系统核心层对TCP/UDP请求进行智能分配,使得多台服务器形成一个高性能、高可用性的虚拟服务器集群。 文档详细阐述了三种不同的转发方式:LVS/NAT、LVS/TUN和LVS/...
### CentOS配置LVS集群服务器环境搭建详细教程 #### 一、实验环境介绍 在本教程中,我们将通过在VMware虚拟环境中配置CentOS 6.4来实现LVS负载均衡服务器环境的搭建。该环境主要由以下几部分组成: - **Real...
它是一个基于Linux内核的虚拟服务器集群系统,通过调度器将来自网络的请求分发到后端的真实服务器上,以此来实现负载均衡。LVS支持三种主要的负载均衡技术:VS/NAT(Network Address Translation)、VS/TUN(IP ...
LVS(Linux Virtual Server)是一种高可用性、高性能的虚拟服务器集群系统,提供了多种 IP 负载均衡技术和调度算法,帮助管理员构建高可用、高性能的服务器集群。 LVS 的工作模式 LVS 提供了三种工作模式:VS/NAT...
它基于IP层,通过调度策略将来自客户端的请求分发到后端真实的服务器上,从而实现服务器集群,提高服务的可用性和响应速度。 ### 2. Nat模式(Network Address Translation) Nat模式是LVS最常用的模式之一,也...
LVS(Linux Virtual Server)是一种基于Linux内核的负载均衡解决方案,能够实现对服务器集群中的多个真实服务器进行流量分发,提高系统的可用性和扩展性。LVS的工作模式主要包括三种:NAT(Network Address ...
LVS 是 Linux Virtual Server 的简称,是由章文嵩博士于1998年5月发起的开源项目,旨在构建一个虚拟的服务器集群系统。它通过智能地分发网络请求到多个真实的服务器上,来提高系统的整体处理能力和可用性。LVS 支持...
- **LVS**:是一个虚拟服务器集群系统,能够通过集群技术和Linux操作系统实现高性能、高可用的服务器集群。LVS集群采用IP负载均衡技术和基于内容请求分发技术,具备良好的伸缩性、可靠性和管理性。 - **Keepalived**...
**测试环境** 包括服务器分布、网络拓扑等信息,这些是搭建LVS + Keepalived + MySQL Cluster集群的基础。 1. **服务器分布** - 主LVS服务器、备用LVS服务器、Keepalived服务器以及MySQL Cluster的数据节点和SQL...
Linux服务器集群系统LVS(Linux Virtual Server)以其高性能、高可用性和出色的可扩展性,成为构建大型网络服务的重要选择。本文将深入浅出地探讨LVS的核心技术特点、应用场景以及它的优势,帮助读者更好地理解这一...
2. **LVS架构**:LVS集群通常由三部分组成:前端的负载调度器(Director),后端的实际服务器(Real Server),以及可选的心跳线(Heartbeat)用于监控和故障转移。调度器根据预设的策略将请求分配给合适的真实...
LVS(Linux Virtual Server)是一种基于Linux内核的负载均衡技术,它通过构建虚拟服务器集群来实现对大量并发访问的处理,有效提升系统的可用性和扩展性。LVS支持三种主要的工作模式:VS/NAT(Virtual Server via ...
- **LVS** (Linux Virtual Server) 是一种基于 Linux 内核的负载均衡技术,用于实现高性能的服务器集群。 - **目标**:通过一组服务器集群对外提供统一的服务入口,提高系统的可用性和扩展性。 - **适用场景**:适用...
### Centos + Piranha 安装配置 LVS 集群详解 ...通过以上步骤,我们可以在 CentOS 上成功配置一个基于 Piranha 的 LVS 集群,这不仅提高了服务器集群的整体性能和稳定性,还使得管理集群变得更加简单高效。