CentOS 6.5 是一款经典的 Linux 发行版,虽然已停止官方支持,但在某些企业环境中仍有应用,LVS(Linux Virtual Server)作为一款优秀的负载均衡软件,能够有效地将请求分发到后端真实服务器,提高系统的可用性和扩展性,本文将详细介绍在 CentOS 6.5 系统上配置 LVS 的步骤和注意事项,帮助读者快速搭建高性能的负载均衡集群。

环境准备与基础配置
在开始配置 LVS 之前,需要确保系统环境满足基本要求,准备三台 CentOS 6.5 虚拟机或物理机,分别作为负载调度器(Director)、后端真实服务器(Real Server 1 和 Real Server 2),所有服务器的网络需互通,建议配置在同一网段内,192.168.1.0/24,调度器需要配置两块网卡,一块用于与外部网络通信(如 eth0,IP 地址 192.168.1.10),另一块用于与后端服务器通信(如 eth1,IP 地址 192.168.1.100),真实服务器只需配置一块网卡,IP 地址分别为 192.168.1.11 和 192.168.1.12。
关闭所有服务器的防火墙和 SELinux,避免网络策略影响 LVS 的正常工作,执行以下命令关闭防火墙:service iptables stop 和 chkconfig iptables off,关闭 SELinux 的方法是在 /etc/selinux/config 文件中将 SELINUX=enforcing 修改为 SELINUX=disabled,然后重启系统,确保所有服务器的时间同步,可以使用 ntpdate 命令手动同步时间,避免因时间差异导致的问题。
安装 LVS 相关软件包
CentOS 6.5 默认的软件源中包含 LVS 所需的核心组件,但建议先更新系统软件包,执行 yum update -y 命令确保系统软件为最新版本,LVS 的核心功能已集成在 Linux 内核中,因此无需额外安装内核模块,但为了方便管理,可以安装 ipvsadm 工具,它是 LVS 的管理工具,用于添加、删除和查看虚拟服务器规则。
安装 ipvsadm 的命令为:yum install -y ipvsadm,安装完成后,可以通过 ipvsadm -Ln 命令检查当前 LVS 的规则状态,若显示为空则表示正常,后端真实服务器需要安装 Web 服务(如 Apache 或 Nginx)用于测试负载均衡效果,以 Apache 为例,执行 yum install -y httpd 并启动服务:service httpd start,并在默认页面中区分不同服务器的标识(如修改 /var/www/html/index.html 文件内容)。
配置 LVS 调度器
调度器的配置是 LVS 的核心部分,需要定义虚拟 IP(VIP)、后端服务器集群(RIP)以及调度算法,在调度器的 eth0 网卡上配置虚拟 IP 地址,该 IP 是对外提供服务的统一入口,使用 ifconfig eth0:0 192.168.1.10 netmask 255.255.255.0 up 命令添加临时 VIP,若需永久生效,需在 /etc/sysconfig/network-scripts/ 目录下创建 ifcfg-eth0:0 文件,并配置相应参数。

使用 ipvsadm 命令添加虚拟服务器规则,以 NAT 模式为例,执行以下命令:ipvsadm -A -t 192.168.1.10:80 -s wrripvsadm -a -t 192.168.1.10:80 -r 192.168.1.11:80 -m -w 1ipvsadm -a -t 192.168.1.10:80 -r 192.168.1.12:80 -m -w 1
上述命令中,-A 表示添加虚拟服务器,-t 指定 VIP 和端口,-s wrr 表示使用加权轮询算法;-a 表示添加真实服务器,-r 指定 RIP 和端口,-m 表示使用 NAT 模式,-w 设置权重,配置完成后,执行 ipvsadm -Ln 查看规则是否生效,并保存规则:service ipvsadm save。
配置后端真实服务器
在 NAT 模式下,后端真实服务器的网关需要指向调度器的内部 IP 地址(192.168.1.100),修改真实服务器的 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,将 GATEWAY 参数设置为 192.168.1.100,并重启网络服务:service network restart,确保后端服务器的 Web 服务正常运行,并检查网络连通性,例如使用 ping 192.168.1.100 测试与调度器的通信。
为了避免 ARP 冲突,需要在后端服务器上配置 ARP 隐藏,安装 arptables_jf 包:yum install -y arptables_jf,然后添加以下规则:arptables -A IN -j DROP -d 192.168.1.10arptables -A OUT -j mangle --mangle-ip-s 192.168.1.10service arptables save
这些规则可以防止后端服务器响应针对 VIP 的 ARP 请求,确保客户端请求只能通过调度器转发。

测试与优化
配置完成后,可以通过客户端访问 VIP(192.168.1.10)测试负载均衡效果,刷新页面,观察是否轮流显示不同真实服务器的页面内容,验证请求是否按权重分配到后端服务器,使用 ipvsadm -Ln --stats 查看连接统计信息,确认数据包转发是否正常。
如果发现负载不均或连接失败,可以检查调度器的防火墙规则是否允许相关端口通信,以及后端服务器的网关和 ARP 配置是否正确,对于高并发场景,可以调整调度算法(如改为 lc 或 wlc 算法)或优化后端服务器的性能,建议启用 LVS 的日志功能,通过 syslog 监控连接状态,便于故障排查。
相关问答 FAQs
问题 1:LVS 支持哪些调度算法?如何选择合适的算法?
解答:LVS 支持多种调度算法,主要包括静态算法(如 rr 轮询、wrr 加权轮询、sh 源地址哈希)和动态算法(如 lc 最少连接、wlc 加权最少连接、lblc 基于本地的最少连接),选择算法时需根据业务场景:若后端服务器性能相近,可使用 rr 或 wrr;若服务器性能差异较大,推荐 wlc,能根据权重动态分配请求;若需要保持用户会话,可选择 sh 或 lblc,确保同一用户的请求始终发往同一服务器。
问题 2:LVS 的 NAT、DR 和 TUN 模式有何区别?如何选择?
解答:LVS 的三种模式主要区别在于数据包转发方式和网络配置:
- NAT 模式:调度器修改目标地址为 RIP,后端服务器通过调度器返回数据,优点是配置简单,支持任何操作系统;缺点是调度器易成为性能瓶颈,适用于中小规模集群。
- DR 模式:调度器只修改 MAC 地址,数据包直接发往后端服务器,服务器响应时直接返回客户端,优点是性能高,无网络瓶颈;缺点要求后端服务器与调度器在同一网段,且服务器需配置 VIP。
- TUN 模式:调度器封装 IP 隧道,后端服务器解封装后直接响应客户端,优点支持跨地域部署;缺点需要额外配置 IP 隧道,且对服务器性能要求较高。
选择时,若后端服务器较少且网络环境复杂,可选 NAT 模式;若追求高性能且服务器在同一网段,推荐 DR 模式;若需要跨地域负载均衡,则考虑 TUN 模式。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复