一、具体原理就不说了,请参考章博士的网站,讲的很详细。
1.LVS集群的通用结构 http://zh.linuxvirtualserver.org/node/12
2.LVS集群系统网络核心原理分析 http://zh.linuxvirtualserver.org/node/98
二、几个重要的概念
•负载调度器(load balancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址上的。它可以是用IP负载均衡技术的负载调度器,也可以是基于内容请求分发的负载调度器,还可以是两者的结合。
•服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。
•后端存储(backend storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。
调度器采用IP负载均衡技术、基于内容请求分发技术或者两者相结合。在IP负载均衡技术中,需要服务器池拥有相同的内容提供相同的服务。当客户请求到达时,调度器只根据负载情况从服务器池中选出一个服务器,将该请求转发到选出的服务器,并记录这个调度;当这个请求的其他报文到达,也会被转发到前面选出的服务器。在基于内容请求分发技术中,服务器可以提供不同的服务,当客户请求到达时,调度器可根据请求的内容和服务器的情况选择服务器执行请求。因为所有的操作都是在操作系统核心空间中将完成的,它的调度开销很小,所以它具有很高的吞吐率。
三、命令参考
ipvsadm 的用法和格式如下:
ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p[timeout]] [-M netmask]
ipvsadm -D -t|u|f virtual-service-address
ipvsadm -C
ipvsadm -R
ipvsadm -S [-n]
ipvsadm -a|e -t|u|f service-address:port -r real-server-address:port
[-g|i|m] [-w weight]
ipvsadm -d -t|u|f service-address -r server-address
ipvsadm -L|l [options]
ipvsadm -Z [-t|u|f service-address]
ipvsadm --set tcp tcpfin udp
ipvsadm --start-daemon state [--mcast-interface interface]
ipvsadm --stop-daemon
ipvsadm -h
命令选项解释:
有两种命令选项格式,长的和短的,具有相同的意思。在实际使用时,两种都可
以。
-A --add-service 在内核的虚拟服务器表中添加一条新的虚拟服务器记录。也就是增加一台新的虚拟服务器。
-E --edit-service 编辑内核虚拟服务器表中的一条虚拟服务器记录。
-D --delete-service 删除内核虚拟服务器表中的一条虚拟服务器记录。
-C --clear 清除内核虚拟服务器表中的所有记录。
-R --restore 恢复虚拟服务器规则
-S --save 保存虚拟服务器规则,输出为-R 选项可读的格式
-a --add-server 在内核虚拟服务器表的一条记录里添加一条新的真实服务器记录。也就是在一个虚拟服务器中增加一台新的真实服务器
-e --edit-server 编辑一条虚拟服务器记录中的某条真实服务器记录
-d --delete-server 删除一条虚拟服务器记录中的某条真实服务器记录
-L|-l --list 显示内核虚拟服务器表
-Z --zero 虚拟服务表计数器清零(清空当前的连接数量等)
--set tcp tcpfin udp 设置连接超时值
--start-daemon 启动同步守护进程。他后面可以是master 或backup,用来说明LVS Router 是master 或是backup。在这个功能上也可以采用keepalived 的VRRP 功能。
--stop-daemon 停止同步守护进程
-h --help 显示帮助信息
其他的选项:
-t --tcp-service service-address 说明虚拟服务器提供的是tcp 的服务[vip:port] or [real-server-ip:port]
-u --udp-service service-address 说明虚拟服务器提供的是udp 的服务[vip:port] or [real-server-ip:port]
-f --fwmark-service fwmark 说明是经过iptables 标记过的服务类型。
-s --scheduler scheduler 使用的调度算法,有这样几个选项
rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默认的调度算法是: wlc.
-p --persistent [timeout] 持久稳固的服务。这个选项的意思是来自同一个客
户的多次请求,将被同一台真实的服务器处理。timeout 的默认值为300 秒。
-M --netmask netmask persistent granularity mask
-r --real-server server-address 真实的服务器[Real-Server:port]
-g --gatewaying 指定LVS 的工作模式为直接路由模式(也是LVS 默认的模式)
-i --ipip 指定LVS 的工作模式为隧道模式
-m --masquerading 指定LVS 的工作模式为NAT 模式
-w --weight weight 真实服务器的权值
--mcast-interface interface 指定组播的同步接口
-c --connection 显示LVS 目前的连接 如:ipvsadm -L -c
--timeout 显示tcp tcpfin udp 的timeout 值 如:ipvsadm -L --timeout
--daemon 显示同步守护进程状态
--stats 显示统计信息
--rate 显示速率信息
--sort 对虚拟服务器和真实服务器排序输出
--numeric -n 输出IP 地址和端口的数字形式
例子,用命令添加
ipvsadm -C
ipvsadm -A -t 192.168.60.100:80 -s rr
ipvsadm -a -t 192.168.60.100:80 -r 192.168.60.135:80 -g
查看LVS的连接情况:ipvsadm -L -n
查看LVS的吞吐量情况: ipvsadm -L -n --rate
查看LVS的统计信息:ipvsadm -L -n --stats
实时查看LVS连接状态变化: watch ipvsadm -ln
ipvsadm -ln -t IP地址:端口
ActiveConn是表示处于TCP的ESTABLISHED状态的连接数目,InActConn表示处于TCP的非ESTABLISHED状态的连接数目,如SYN_RECEIVED, TIME_WAIT, CLOSE_WAIT等等。InActConn数目高说明服务是短连接比较多
weight 真实服务器的权值
注意:stop ipvsadm会清除ipvsadm的规则
四、FAQ
1.Starting pulse: pulse: cannot create heartbeat socket. running as root?
网络配置问题,如果RIP和VIP都设置正确的话,可以查看一下网关的配置
[root@ora01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0c:29:68:20:b3
ONBOOT=yes
DHCP_HOSTNAME=ora01.dh.cn
TYPE=Ethernet
IPADDR=192.168.60.134
NETMASK=255.255.255.0
GATEWAY=192.168.60.2
2.pulse dead but subsys locked
[root@ora01 ~]# /etc/init.d/pulse restart
Shutting down pulse: [FAILED]
Starting pulse: [ OK ]
[root@ora01 ~]# /etc/init.d/pulse status
pulse dead but subsys locked
日志/var/log//messages
Mar 25 11:24:49 localhost last message repeated 2 times
Mar 25 11:29:40 localhost pulse: SIOCGIFADDR failed: Cannot assign requested address
Mar 25 11:29:40 localhost pulse[2391]: We are backup node and backup is marked inactive -- exiting pulse
出现这个问题是由于,RIP设置必须为真实的物理网卡,不能是启用的子接口,比如用eth0:0当作负载均衡器的RIP,在启动的时候就会出问题。
分享到:
相关推荐
#### 一、LVS简介及应用场景 **LVS**(Linux Virtual Server)是一种基于Linux内核的虚拟服务器集群系统,它能够实现高效的负载均衡和服务高可用性。对于需要处理大量并发连接和高流量的场景,LVS提供了强大的支持。 ...
### LVS部署笔记 #### 一、概述 Linux Virtual Server(LVS)是Linux操作系统上的一种负载均衡解决方案,主要用于构建高性能、高可用性的服务器群集。LVS通过调度器(Director)来分配客户端请求到后端的真实...
合理的IP规划是构建LVS集群的基础,有助于实现高效的数据传输和负载均衡。 - **网络配置**:对于宿主机来说,除了需要配置正确的IP地址之外,还需要开启路由转发功能。此外,在宿主机上模拟iSCSI存储也是一个重要的...
LVS主要工作在OSI模型的第四层——传输层,支持TCP和UDP协议。它采用了三种工作模式:NAT(网络地址转换)、DR(直接路由)和TUN(隧道)。在淘宝的环境中,通常会结合使用这些模式,以实现最佳性能和可靠性。 1. *...
LVS DR 模式总结详细笔记文档 LVS(Linux Virtual Server)是一种基于 Linux 的负载均衡解决方案,能够将incoming请求分布到多个后端服务器上,以提高系统的可扩展性和高可用性。在 DR 模式下,LVS 可以与 ...
【LVS与Squid配置详解】 在IT领域,Linux Virtual Server(LVS)和Squid是两个关键的组件,常用于构建高可用性和负载均衡的网络服务环境。LVS提供了一种高效的网络负载均衡解决方案,而Squid则是一款强大的缓存代理...
LVS的设计目的在于在Linux平台上实现负载均衡功能,广泛应用于大规模网络环境,特别是在大型网站如淘宝中发挥着核心作用。 LVS的主要功能和相关技术点如下: 1. FULLNAT转发模式:FULLNAT是LVS中一种新型的转发...
【负载均衡层设计方案(4)——LVS原理1】这篇文章主要介绍了LVS(Linux Virtual Server)的基本概念和三种工作方式,以及相关的网络协议基础知识。LVS是一个开源的负载均衡技术,由章文嵩博士领导的团队开发,它能...
与常见的应用层代理服务器如Nginx相比,LVS工作在更底层的网络层次——链路层(Layer 2)或网络层(Layer 3),这使得它在处理网络流量时具有更高的效率和更低的延迟。 1. **LVS 工作模式**: LVS支持三种主要的...
在本文中,我们将深入探讨几种常见的负载均衡器——Nginx、LVS(DR、NAT、FullNAT)以及Haproxy,并分析它们的优缺点。同时,我们还将详细讲解LVS的配置,包括Keepalived参数的解释。 **Nginx负载均衡** Nginx是一...
在实际应用中,LVS常与其他高可用性技术如Keepalived结合使用,以实现更高级别的服务冗余和故障切换。Keepalived不仅提供了VRRP协议来管理虚拟IP,还包含健康检查功能,可以自动处理服务器的故障和恢复。 总之,LVS...
#### 二、LVS NAT模式应用场景 NAT模式非常适合于不同网段之间的调度场景。比如,前端的客户端与后端的真实服务器不在同一个网段内。在这种情况下,可以通过LVS进行调度,使得客户端能够顺利访问到后端的服务。 ##...
本资料包包含了一系列关于LVS的重要文档,涵盖了LVS的基础知识、实际应用、监控方法、模式和算法以及安装配置等内容。 1. **LVS简介.docx** 这份文档提供了LVS的基本介绍,包括其工作原理、主要功能和优势。LVS...
### LVS原理与Linux+LVS+Keepalived负载均衡详解 #### LVS概念与原理 LVS(Linux Virtual Server)是一种...对于那些处理大量并发请求的应用场景,LVS+Keepalived的组合无疑提供了一种可靠且成本效益高的解决方案。
### LVS 实现负载均衡详解 ...无论是提高网站响应速度还是增加应用程序的吞吐量,LVS 都能发挥重要作用。对于希望提升网络服务性能的企业和个人来说,了解并掌握 LVS 的原理和配置方法是非常有价值的。
### cadence 615中跑LVS流程详解 #### LVS概述 LVS(Layout Versus Schematic)是集成电路设计中的一个重要环节,主要用于验证电路布局(Layout)与原理图(Schematic)的一致性。在反向整理电路时,LVS能够帮助...