12. LVS 集群负载平衡器接受服务的所有入站客户端计算机请求
,并决定哪个集群节点应该回复给请求。负载平衡器有时被
称为 LVS Director 或者简称之为 Director 。
LVS 集群内部的节点称为真实服务器 (Real Server) ,也叫做
集群节点 。
链接到集群请求集群服务的计算机称为客户端计算机。
与计算机通常在网上交换数据包的方式相同,客户端计算
机、 Director 和真实服务器使用 IP 地址进行彼此通信。
LVS 基本原理
Director Real ServerClient
集
群
13. 为了更加易于探讨此网络通信, LVS 社区已经开发了一个命名的
约定,以便基于每种类型的 IP 地址在网络对话中的角色来描述每种
类型的 IP 地址。
虚拟 IP 地址( VIP ): Director 用于向客户端计算机提供服务的
IP 地址
真实 IP 地址( RIP ):在集群节点上使用 IP 地址
Director 的 IP 地址 (DIP) : Director 用于连接到 D/RIP 网络的 IP 地
址
客户端计算机的 IP 地址 (CIP): 分配给客户端计算机的 IP 地址 , 该
地址用作发送给集群的请求的源 IP 地址。
D/RIP 网络 : 由 Director 和 Real Server 组成的网络
LVS 基本原理– 命名约定
Linux Virtual Server
Director Real Server
交换机 /
集线器
DIP RIPVIP
公司网络
交换机
客户端
计算机
CIP
Interne
t
VIP
15. 调度方法决定了如何在这些集群节点之间分布
工作负荷。
当 Director 收到来自客户端计算机访问
它的 VIP 上的集群服务的入站请求
时, Director 必须决定哪个集群节点应该获得
请求。 Director 可用于做出该决定的调度方法
分成两个基本类别:
固定调度方法:循环( RR )、待权重的循
环( WRR )、目的散列、源散列
动态调度算法:最小连接( LC )、带权重
的最小连接( WLC )、最短期望延迟
( SED )、无须队列等待( NQ )、基于位置
的最小连接( LBLC )、带复制调度的基于位
置最小连接 (LBLCR)
LVS 的调度方法
16. LVS-DR 方式:直接路由
在 LVS-DR 配置中, Director 将所有入站
请求转发给集群内部节点,但集群内部
的节点直接将它们的回复发送给客户端
计算机(没有通过 Director 回来)。如图
所示:
LVS-DR 集群
17. 来自客户端计算机或 CIP 的请求被发送到
Director 的 VIP 。然后 Director 使用相同
的 VIP 目的 IP 地址将请求发送到集群节
点或真实服务器。然后,集群节点将回
复数据包直接发送到客户端计算机,并
且此回复数据包使用 VIP 作为源 IP 地址。
因此,客户计算机被欺骗,认为它正在
与一台计算机对话,而实际上这时它正
在发送请求数据包给一台计算机,并从
另一台计算机接受回复数据包。
LVS-DR 集群 工作
18. 客户端如何访问 LVS/DR 集群服务
Client
Director Real Server
Switch
DIP(VIP) RIP VIP
源地址 CIP
目的地地址 VIP
目的地 MAC D_MAC
内容:
Show me web page
www.examples.com
LVS/DR 集群
源地址 CIP
目的地地址 VIP
目的地 MAC R_MAC
内容:
Show me web page
www.examples.com
源地址 VIP
目的地地址 CIP
内容:
Here is web page
www.examples.com
19. 1 、 LVS 调度器收到目标地址为 VIP 的
请求包后,将 MAC 地址改成 RS 的
MAC 地址,并通过交换机 ( 链路层 ) 发
给 RS
2 、 RS 的链路层收到请求后,往上传
给 IP 层。 IP 层需要验证请求的目标 IP
地址。所以 RS 需要配置一个 VIP 的
loopback device 。这样 RS 的 IP 层收到
报文后,会往上递交给传输层。之所
以配置成 loopback device ,是因为
loopback device 对外不可见,不会跟
LVS 的 VIP 冲突。
3 、 RS 处理完成后,将应答包直接返
回给客户端。若是公网服务器,则 RS
需要连上互联网(公网 IP 或者网关)
才能将应答包返回。
LVS/DR 的基本原理
20. 集群节点必须和 Director 在相同的物理网段上
Director 截获客户端和真实服务器之间的入站
(而不是出站)通信
集群节点(通常)没有使用 Director 作为默认网
关,以便将数据包直接回复给客户端计算机。
大多数操作系统可以用在集群内部的真实服务器
上,只要该操作系统能够实现 ARP 隐藏
LVS/DR Director ( 100 )可以比 LVS-NAT
Director ( 10-20 )处理更多的真实服务器
LVS/DR 的基本属性
21. ARP 广播和隐藏问题
Client
Director Real Server
Switch
DIP(VIP) RIP VIP
谁
拥
有
VIP?
谁
拥
有
VIP?
谁拥有 VIP?
LVS/DR 集群
图示为 到 LVS-DR 集群的 ARP 广播
39. Linux Virtual Server
Director Real Server
交换机 /
集线器
DIP RIPVIP
公司网络
交换机
客户端
计算机
CIP
Interne
t
VIP
LVS 逻辑结构示意图
介绍 Director 的要求,必为包含 ipvs
的 Linux , ipvs 用 ipvsadm 管理
41. 客户端如何访问 LVS/DR 集群服务
Client
Director Real Server
Switch
DIP(VIP) RIP VIP
源地址 CIP
目的地地址 VIP
目的地 MAC R_MAC
内容:
Show me web page
www.examples.com
LVS/DR 集群
43. LVS-DR 集群
通过用相同的 VIP 地址配置集群中的所
有节点和 Director ,借助直接路由技术
实现的 Linux 虚拟服务器集群是可以构
建成功的。
LVS/DR 基本原理
1 、 LVS 调度器收到目标地址为 VIP 的
请求包后,将 MAC 地址改成 RS 的
MAC 地址,并通过交换机 ( 链路层 ) 发
给 RS
2 、 RS 的链路层收到请求后,往上传
给 IP 层。 IP 层需要验证请求的目标 IP
地址。所以 RS 需要配置一个 VIP 的
loopback device 。这样 RS 的 IP 层收到
报文后,会往上递交给传输层。之所
以配置成 loopback device ,是因为
loopback device 对外不可见,不会跟
LVS 的 VIP 冲突。
3 、 RS 处理完成后,将应答包直接返
回给客户端。若是公网服务器,则 RS
需要连上互联网(公网 IP 或者网关)
才能将应答包返回。
44.
45. 配置目标:
LVS/DR 集群由三台计算机组成:一台
Director ,两台 Real Server
客户端和 LVS/DR 集群处于同一个物理网段,
即所有计算机设置在同一个局域网,连接在同一
台交换机上,且每台计算机只需一个网卡
Real Server 提供 Web 服务,调度算法使用轮询
如图:
LVS/DR 配置方法
46. 配置 LVS 的基本信息和基本工具
Name: Real Server2
Service: Web ( IIS )
OS: Windows 2003
RIP2: 10.1.1.3/24
VIP: 10.1.1.4/32
Name: Director
OS: Fedora12
DIP: 10.1.1.1/24
VIP: 10.1.1.4/32
Name: Real Server1
Service: Web ( IIS )
OS: Windows 2003
RIP1: 10.1.1.2/24
VIP: 10.1.1.4/32
DIP/VIP
RIP2
RIP1
交换机
Name : Client
CIP: 10.1.1.5/24
CIP
Editor's Notes
-A --add-service 在内核的虚拟服务器表中添加一条新的虚拟服务器记录。也就是增加一台新的虚拟服务器。-C --clear 清除内核虚拟服务器表中的所有记录。
-t --tcp-service service-address 说明虚拟服务器提供的是tcp 的服务[vip:port] or [real-server-ip:port]