9.1 概念概述

LVS 由两个主要组件构成:

内核代码:ip_vs(或 IPVS)

运行已增补的 Linux 内核以包括 IPVS 代码的节点称为控制器。控制器上运行的 IPVS 代码是 LVS 的基本功能。

客户端连接到控制器,控制器将包转发给真实的服务器。控制器是第 4 层路由器,具有能够使 LVS 工作的修改过的路由规则集(例如,连接未从控制器发起或终止,控制器就不会发送确认信息)。控制器与真实的服务器就是对客户端显示为一台服务器的虚拟服务器。

有不同的转发方法可确定控制器如何将包从客户端发送到真实的服务器。对于客户端请求的新连接,使用哪台真实的服务器是使用不同算法来实施的,这些算法可作为模块并可适应特定的需求。从客户端接收到连接请求时,控制器会根据日程表将一台真实的服务器指派给此客户端。调度程序是 IPVS 内核代码的组成部分,它决定哪台真实的服务器将获取下一个新连接。

用户空间控制器:ipvsadm

ipvsadm 包提供的 ipvsadm 是用于管理 Linux Virtual Server 的用户界面。例如,可以为处理的服务设置规则、处理故障转移或设置调度程序类型。

从命令行(或在 RC 文件中)使用 ipvsadm 可以设置:

  • 控制器控制的服务/服务器(例如,http 转到所有真实的服务器,而 ftp 仅转到某台真实的服务器)

  • 为每台真实的服务器指定的权重(当部分服务器快于其他服务器时,这很有用)

  • 调度算法

还可以使用 ipvsadm 执行以下任务:

  • 添加服务

  • 关闭服务

  • 删除服务