LVS的配置
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)、选中要编辑的虚拟服务器,单击"EDIT"编辑其属性;编辑完成后单击"ACCEPT"保存 信息,如下图所示。
(3)在弹出的界面中填入以下信息 Name:定义虚拟服务器的名称。 Application port :指定此目标应用服务的端口。 Protocol:目标应用服务的网络协议,TCP 或 UDP。 Virtual IP Address:定义目标应用所使用的虚拟 IP。
RHEL 5 LVS 的配置
在企业的 IT 集群应用中,最常用的架构除了高可用集群外,还有负载均衡集群 (Load Balancing)。 负载均衡集群可实现多台服务器或应用的流量均衡分配。 服务器集群对外部应 用及客户表现为一个虚拟的服务器, 集群内部各服务器平均地处理由外部应用及客户端所提 交的业务,实现服务器之间的负载均衡处理并提供灵活的可扩展性,当业务压力增大时,可 随时加入新的服务器以提高集群的整体性能。负载均衡集群特别适用于高并发的网络应用, 如网站、文件服务器、各种要求高并发的 Socket 处理等。通常负载均衡集群方案大多通过 专用的硬件--"负载均衡器"来实现, 但此类硬件产品往往价格昂贵。 目前在服务器领域千兆 网络已经非常普及,但是当前中档的百兆负载均衡器依然以动辄近十万元的高价, 使得不少 企业望而却步。 LVS(负载均衡软件,Linux Virtual Server) 项目的创始人是我国国防科技大学的章文 嵩博士,此项目也是当前已经加入到 Linux 内核中为数不多的由国人维护的开源项目之一。 随着此项目的不断发展, 功能的逐渐完善及性能的不断提高, 当前不少硬件负载均衡器就是 通过 Linux 内核结合 LVS 来实现的。 在网上有很多 LVS 方面的配置教程, 如果 LVS 负载均衡器只是单台的只需安装 LVS 服务 即可, 如果 LVS 服务器是多台一般需要 LVS+keepalived 或 heartbeat+ldirectord+lvs 来实 现 LVS 负载均衡器的热备和监控应用服务器的状态。 在 RHEL 5 系列的 RHCS 中所带的 LVS 能通过图形界面的配置来实现比 LVS+keepalived 或 heartbeat+ldirectord+lvs 更强大的功能,下面我们就以 RHEL 5 LVS 为例来讲解 LVS 的基 本配置。 实验拓扑图
博客:
/rootking
Virtual IP Network Mask :定义目标应用所使用的虚拟 IP 的子网掩码。 Firewall Mark :当目标应用要使用多个 IP 端口时,结合 IPTABLE 设定防火墙标记。 Device:虚拟 IP 所挂接的网卡设备名。 Re-entry Time:当发现一个 Real Server 故障后,LVS Route 对这个 Server 的检测间隔时 间。 Server timeout:LVS Route 对 Real Server 发送指令后,若超过此时间没有响应则认为服 务器发生故障。 Quiesce server :一旦有 Real Server 加入或恢复,则所有负载队列记录均归"0"并重新进 行分配。 Load monitoring tool :在 Real Server 中通过 ruptime 或 rup 命令获得系统负载,以结合 相应用的 Scheduling 算法进行调度计算。 Scheduling:此虚拟服务器使用的调度算法。 Persistence:同一客户端长连接的保持时间。 Persistence Network Mask :长连接保持的子网掩码(网段)范围。
博客:
/rootking
Primary server public IP :主服务器用于与应用服务器(Real Server)连接的 IP。 Primary server private IP :主服务器用于与备用服务器连接的内部 IP。 Use Network Type :所选用的 LVS 模式,在这里我们选用直接路由模式。 配置 REDUNDANCY (1)、单击"REDUNDANCY" 后通过单击"ENABLE"来启用备用服务器,如下图所示。
博客:
/rootking
配置 CONTROL/MONITORING 登录后看到的界面为 LVS 监控界面, 通过此界面可以设定监控数据的刷新时间、修改管理密 码,如下图所示。
配置 GLOBAL SETTINGS 单击"GLOBAL SETTINGS"进入主 Load monitoring tool 要求 Real Server 安装有 ruptime 或 rup,并要求 LVS 服务器可以使 用 root 账号在不需要密码的情况下通过 SSH 连接到 Real Server。 Scheduling 中包括以下 8 种调度策略: Round-Robin Scheduling :轮询策略,IP 分发时逐个地对 Real Server 进行轮询。 Weighted Round-Robin Scheduling :加权轮询策略,配合权值进行轮询策略计算。 Least-Connection: 最小连接优先策略, 将新的 IP 请求分发到访问队列较短的 Real Server。 Weighted Least-Connections:加权最小连接优先策略,配合权值进行最小连接优先策略计 算。 Locality-Based Least-Connection Scheduling :以下简称 LBLCS,根据目标 IP 地址找出
(5 ) 、编辑第一台"REAL SERVER" ,如下图所示。
博客:
/rootking
(6 ) 、用同样的方法编辑第二台真实服务器
(7 ) 、激活两台真实服务器
博客:
博客:
/rootking
1.1 LVS 的安装
1、 安装 RHEL 5 LVS [root@lvs1 ~]# yum -y install piranha 一般 RHEL 5 LVS 需要安装如下 14 个软件包
(2)、配置备用服务器,如下图所示。
博客:
/rootking
Redundant server public IP :备用服务器用于与应用服务器(Real Server) 连接的 IP。 Heartbeat interval :备用服务器对主服务器进行心跳检测的轮询时间。 Assume dead after :如果主服务器在指定时间内没有恢复心跳,则宣告服务器失效并进行 接管。 Heartbeat runs on port :使用心跳来检测所使用的端口。 Monitor NIC links for failures :是否检测网卡的连接状态。 配置 VIRTUAL SERVERS (1)、单击"VIRTUAL SERVERS" 进行服务器集群配置,单击"ADD"添加一个虚拟服务器,如 下图所示。
/rootking
(8)、单击"MONITORING SCRIPTS" ,配置 LVS 使之检查 Real Server 中对目标应用的规则, 如下图所示。
Sending Program :通过程序实现 Real Server 中对应用服务可用性的判断(不能与 Send 同 时使用)。 Send:直接通过 VIRTUAL SERVER 中指定的端口发送指令。 Expect:Sending Program 或 Send 后的返回值,如果与此返回值匹配,则表明此应用服务 在当前 Real Server 中运行正常。 Treat expect string as a regular expression :将 Expect 中的值作为正则表达式与返回 值进行比对。 注意: 此处的功能与 RHCS 中的"集群脚本"相似,主要用于判断 Real Server 中的目标服务运行是 否正常,如果发现服务失效,则主动在此 VIRTUAL SERVER 中隔离该 Real Server。 (9)、配置完成后不要忘记激活该虚拟服务器
博客:
/rootking
最近使用的服务器,若该服务器可用并且没有超载(系统压力未达到一半), 就将请求发送到 该服务器,否则使用最小连接优先策略。此策略主要针对的是 Cache 网关服务器。 Locality-Based Least Connections with Replication Scheduling :与 LBLCS 类似,在 LBLCS 的基础上加入复制调度策略,使得"热门"网站使用时尽量 Cache 在同一台网关服务器 中,进一步避免了在多台服务器中保存相同的 Cache 信息。此策略主要针对的边是 Cache 网关服务器。 Destination Hashing Scheduling :通过对目标地址的 Hash 计算来确定目标服务器。此策 略主要针对的是 Cache 网关服务器。 Source Hashing Scheduling:通过对源地址的 Hash 计算来确定目标服务器。此策略主要针 对的是 Cache 网关服务器。 (4)、单击"REAL SERVER"并通过单击"ADD"来添加两个 Real Server,如下图所示。
3、开启 RHEL 5 LVS 图形配置界面 [root@lvs1 ~]# service piranha-gui start
1.2 LVS 的配置
通过浏览器进入 Piranha 服务所在的服务器 http://192.168.20.101:3636,单击"Login", 使用用户名 piranha 及刚刚设定的密码(如 redhat)进行登录,如下图所示。
博客:
/rootking
6、查看配置 至此,LVS 服务配置完成。可以去查看它生成的配置文件/etc/sysconfig/ha/lvs.cf 。 serial_no = 15 primary = 192.168.20.101 primary_private = 192.168.30.101 service = lvs backup_active = 1 backup = 192.168.20.102 backup_private = 192.168.30.102 heartbeat = 1 heartbeat_port = 539 keepalive = 6 deadtime = 18 network = direct debug_level = NONE monitor_links = 0 syncdaemon = 0 virtual 30wish_web { active = 1 address = 192.168.20.100 eth0:1 vip_nmask = 255.255.255.0 port = 80 send = "GET / HTTP/1.0\r\n\r\n" expect = "HTTP" use_regex = 0 load_monitor = none scheduler = wlc protocol = tcp timeout = 6 reentry = 15 quiesce_server = 0 server 30wish_web1 { address = 192.168.20.151 active = 1 weight = 1 } server 30wish_web2 { address = 192.168.20.152 active = 1 weight = 1 } } 7、把配置文件同步到 LVS2
2、给 LVS 图形配置界面设置一个密码 [root@lvs1 ~]# piranha-passwd New Password: <输入一个自定义的密码,如 redhat> Verify: <输入一个自定义的密码,如 redhat > Adding password for user piranha