`

LVS应用笔记——基础

    博客分类:
  • LVS
 
阅读更多
一、具体原理就不说了,请参考章博士的网站,讲的很详细。
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笔记.docx

    #### 一、LVS简介及应用场景 **LVS**(Linux Virtual Server)是一种基于Linux内核的虚拟服务器集群系统,它能够实现高效的负载均衡和服务高可用性。对于需要处理大量并发连接和高流量的场景,LVS提供了强大的支持。 ...

    LVS的应用实例LVS的应用实例LVS的应用实例

    ### LVS+Heartbeat实施案例解析 #### 一、背景介绍与需求分析 在现代互联网环境中,随着业务规模的不断增长和技术的快速发展,单一服务器往往难以应对大量的用户访问请求,容易造成服务中断或响应时间过长等问题。...

    LVS部署笔记

    ### LVS部署笔记 #### 一、概述 Linux Virtual Server(LVS)是Linux操作系统上的一种负载均衡解决方案,主要用于构建高性能、高可用性的服务器群集。LVS通过调度器(Director)来分配客户端请求到后端的真实...

    LVS高级应用详解.txt

    合理的IP规划是构建LVS集群的基础,有助于实现高效的数据传输和负载均衡。 - **网络配置**:对于宿主机来说,除了需要配置正确的IP地址之外,还需要开启路由转发功能。此外,在宿主机上模拟iSCSI存储也是一个重要的...

    LVS在淘宝环境中的应用(技术嘉年华).

    LVS主要工作在OSI模型的第四层——传输层,支持TCP和UDP协议。它采用了三种工作模式:NAT(网络地址转换)、DR(直接路由)和TUN(隧道)。在淘宝的环境中,通常会结合使用这些模式,以实现最佳性能和可靠性。 1. *...

    lvs DR模式总结详细笔记文档

    LVS DR 模式总结详细笔记文档 LVS(Linux Virtual Server)是一种基于 Linux 的负载均衡解决方案,能够将incoming请求分布到多个后端服务器上,以提高系统的可扩展性和高可用性。在 DR 模式下,LVS 可以与 ...

    LVS——squid配置文档实用.pdf

    【LVS与Squid配置详解】 在IT领域,Linux Virtual Server(LVS)和Squid是两个关键的组件,常用于构建高可用性和负载均衡的网络服务环境。LVS提供了一种高效的网络负载均衡解决方案,而Squid则是一款强大的缓存代理...

    LVS在淘宝的应用

    LVS的设计目的在于在Linux平台上实现负载均衡功能,广泛应用于大规模网络环境,特别是在大型网站如淘宝中发挥着核心作用。 LVS的主要功能和相关技术点如下: 1. FULLNAT转发模式:FULLNAT是LVS中一种新型的转发...

    架构设计:负载均衡层设计方案(4)——LVS原理1

    【负载均衡层设计方案(4)——LVS原理1】这篇文章主要介绍了LVS(Linux Virtual Server)的基本概念和三种工作方式,以及相关的网络协议基础知识。LVS是一个开源的负载均衡技术,由章文嵩博士领导的团队开发,它能...

    LVS服务器集群搭建教程.zip在链路层实现负载均衡,这就是LVS和nginx的区别,一个是IP层转发,另一个是应用层转发,效率差距太大了

    与常见的应用层代理服务器如Nginx相比,LVS工作在更底层的网络层次——链路层(Layer 2)或网络层(Layer 3),这使得它在处理网络流量时具有更高的效率和更低的延迟。 1. **LVS 工作模式**: LVS支持三种主要的...

    LVS入门详解笔记(Linux中的网络负载NLB)

    在实际应用中,LVS常与其他高可用性技术如Keepalived结合使用,以实现更高级别的服务冗余和故障切换。Keepalived不仅提供了VRRP协议来管理虚拟IP,还包含健康检查功能,可以自动处理服务器的故障和恢复。 总之,LVS...

    lvs NAT模式总结详细笔记

    #### 二、LVS NAT模式应用场景 NAT模式非常适合于不同网段之间的调度场景。比如,前端的客户端与后端的真实服务器不在同一个网段内。在这种情况下,可以通过LVS进行调度,使得客户端能够顺利访问到后端的服务。 ##...

    lvs相关资料包

    本资料包包含了一系列关于LVS的重要文档,涵盖了LVS的基础知识、实际应用、监控方法、模式和算法以及安装配置等内容。 1. **LVS简介.docx** 这份文档提供了LVS的基本介绍,包括其工作原理、主要功能和优势。LVS...

    LINUX+LVS,LVS原理

    ### LVS原理与Linux+LVS+Keepalived负载均衡详解 #### LVS概念与原理 LVS(Linux Virtual Server)是一种...对于那些处理大量并发请求的应用场景,LVS+Keepalived的组合无疑提供了一种可靠且成本效益高的解决方案。

    lvs实现负载均衡

    ### LVS 实现负载均衡详解 ...无论是提高网站响应速度还是增加应用程序的吞吐量,LVS 都能发挥重要作用。对于希望提升网络服务性能的企业和个人来说,了解并掌握 LVS 的原理和配置方法是非常有价值的。

    LVS的安装与配置 LVS入门与详解

    LVS安装与配置入门与详解 LVS(Linux Virtual Server)是一种开源的负载均衡器,可以将多个服务器组成一个虚拟服务器,提供高可用性和高性能的服务。LVS的安装与配置是一个复杂的过程,本文将详细介绍LVS的安装与...

    cadence 615中跑lvs流程

    ### cadence 615中跑LVS流程详解 #### LVS概述 LVS(Layout Versus Schematic)是集成电路设计中的一个重要环节,主要用于验证电路布局(Layout)与原理图(Schematic)的一致性。在反向整理电路时,LVS能够帮助...

Global site tag (gtag.js) - Google Analytics