CentOS LVS-DR:使用ipvsadm与keepalived配置指南

需积分: 10 1 下载量 144 浏览量 更新于2024-09-20 收藏 138KB DOCX 举报
"CentOS下ipvsadm+keepalived搭建" 在CentOS操作系统中,`ipvsadm`和`keepalived`常被用来构建高可用性负载均衡集群。本配置文档将指导你如何在两台CentOS服务器上实现基于LVS-DR模式的负载均衡,并使用`keepalived`进行故障转移,确保服务的连续性。 一、系统与软件准备 首先,你需要两台CentOS 6服务器作为Director Server (DS),以及两台Windows 2008 R2企业版服务器作为Real Server (RS)。在DS服务器上,确保已安装`ipvsadm`和`keepalived`,并分配了合适的磁盘分区。在RS服务器上,配置好真实的网络接口和环回接口。 二、IP地址分配 DS1的IP配置为:Eth0(192.168.170.4),Eth0:0(VIP,虚拟IP,192.168.170.5)。DS2的配置类似,只是IP地址分别为192.168.170.6和192.168.170.5。RS服务器的Net接口IP地址分别为192.168.170.2和192.168.170.3,同时配置一个环回接口,IP地址均为192.168.170.5,用于LVS-DR模式。 三、DS服务器配置 1. 安装ipvsadm和keepalived 使用`yum`命令安装`ipvsadm`,然后安装编译所需的依赖包,如`gcc`,`gcc-c++`,`make`,`openssl-devel`和`kernel-devel`。接着解压并编译安装`keepalived`。 2. 配置ipvsadm - 添加一条到VIP的主机路由:`/sbin/route add -host 192.168.170.5 dev eth0:0` - 配置虚拟接口Eth0:0:`/sbin/ifconfig eth0:0 192.168.170.5 broadcast 192.168.170.5 netmask 255.255.255.255 up` - 编辑`/etc/sysconfig/ipvsadm`,设置LVS调度策略。例如,添加以下行以创建一个基于加权轮询的TCP负载均衡器,并将流量分发到RS服务器: ``` ipvsadm -A -t 192.168.170.5:80 -s wrr ipvsadm -a -t 192.168.170.5:80 -r 192.168.170.2 -g ipvsadm -a -t 192.168.170.5:80 -r 192.168.170.3 -g ``` 3. 配置keepalived 配置`/etc/keepalived/keepalived.conf`文件,定义虚拟IP和监视RS服务器的状态。例如: ``` vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 virtual_ipaddress { 192.168.170.5 } track_script { rs_chk /usr/local/bin/check_rs.sh } } ``` 创建一个监控脚本`/usr/local/bin/check_rs.sh`,用于检查RS服务器的健康状态。 4. 启动并启用服务 启动`ipvsadm`和`keepalived`服务,设置开机启动。 完成上述步骤后,DS服务器会通过LVS-DR模式将HTTP请求负载均衡到RS服务器,而`keepalived`会监测服务器状态,确保在DS故障时能自动切换到备用DS,从而实现高可用性。 请注意,实际操作时应根据具体环境调整配置,例如端口、调度策略、优先级等,以满足实际需求。此外,还需确保DS和RS之间的网络通信畅通,以及RS服务器上相应的服务(如IIS)已经启动并监听正确的端口。