LVS搭建高可用性Web负载均衡服务器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LVS搭建高可用性Web负载均衡服务器
一.系统需求
实现Linux下的Web服务器负载均衡,LVS以主备方式工作,并且实现LVS机器同时加入Web服务器群。
二.软硬件需求
操作系统:Red Hat Enterprise Linux Server release 5(关闭selinux及iptables)
相关软件:heartbeat-2.1.4 、net-snmp 、lm_sensors 、net-snmp、ipvsadm、perl模块
网络要求:所有服务器位于同一VLan,机器无特殊要求。
三.软件安装
以本次安装为例,先后安装下列rpm包以解决依赖关系.
#rpm –ivh libnet-1.1.2.1-2.1.i386.rpm
#rpm –ivh ipvsadm-1.24-8.1.i386.rpm
#rpm –ivh lm_sensors-2.10.0-3.1.i386.rpm
#rpm –ivh net-snmp-libs-5.3.1-14.el5.i386.rpm
#rpm –ivh net-snmp-5.3.1-14.el5.i386.rpm
#rpm –ivh perl-Compress-Zlib-1.42-1.fc6.i386.rpm
#rpm –ivh perl-HTML-Parser-3.55-1.fc6.i386.rpm
#rpm –ivh perl-HTML-Tagset-3.10-2.1.1.noarch.rpm
#rpm –ivh perl-Net-SSLeay-1.30-4.fc6.i386.rpm
#rpm –ivh perl-TimeDate-1.16-5.el5.noarch.rpm
#rpm –ivh perl-MailTools-2.02-1.el5.rf.noarch.rpm
#rpm –ivh perl-URI-1.35-3.noarch.rpm
#rpm –ivh perl-libwww-perl-5.805-1.1.1.noarch.rpm
以上软件包主要用来实现ISO/RM 2/3层数据转换及7层应用检测。
#rpm –ivh heartbeat-stonith-2.1.4-4.1.i386.rpm
#rpm –ivh heartbeat-pils-2.1.4-4.1.i386.rpm
#rpm –ivh heartbeat-ldirectord-2.1.4-4.1.i386.rpm
#rpm –ivh heartbeat-2.1.4-4.1.i386.rpm
#rpm –ivh heartbeat-devel-2.1.4-4.1.i386.rpm
heartbeat实现LVS集群功能(如IP,磁盘管理),
heartbeat-ldirectord管理应用服务器负载均衡。
#rpm –ivh httpd-2.2.3-6.el5.i386.rpm
本次实验以apache为应用服务器,Squid同理。
四.软件配置
1、按软件安装步骤,在两台服务器上安装软件.
2、假设服务器A,B的公网IP分别是:
A Eth0: 211.155.225.174/255.255.255.224
B Eth0: 211.155.225.175/255.255.255.224
集群虚IP: 211.155.225.173/255.255.255.224
分别在A、B服务器的Eth0上配好IP及网关.
3、设置服务器A,B的hostname为node1及node2,
如不是请修改/etc/sysconfig/network的HOSTNAME部分,并执行
#hostname node1 以立即生效。
在/etc/hosts加入两行:
211.155.225.174 node1
211.155.225.175 node2
4、修改服务器A,B的/etc/sysctl.conf文件,加入如下5行,并执行
#sysctl -p 以立即生效。
net.ipv4.ip_forward = 1
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.eth0.arp_announce = 2
5、以root进入服务器A,执行以下配置:
➢在/etc/init.d/heartbeat中的#!/bin/sh后插入一行:
ifconfig lo:100 211.155.225.173 netmask 255.255.255.255 up;
➢#chkconfig heartbeat --level 35 on
➢#cd /etc/ha.d 进入集群配置文件目录
➢#vi authkeys 创建集群认证文件
auth 3
3 md5 HA_2009
➢#chmod 600 authkeys 必要的操作
➢#vi ha.cf 创建集群节点文件
logfile /var/log/ha.log
#logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 80
mcast eth0 231.231.231.231 694 1 0
ping 211.155.225.161
auto_failback on
node node1
node node2
respawn hacluster /usr/lib/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster
集群中有两个节点node1及node2,通过多播IP通信(主要用于超过2个节点)ping 211.155.225.161 网关ping检测
➢#vi resource.d/vip.sh 创建我们自己的集群IP切换shell脚本#!/bin/sh
case "$4" in
start)
ifconfig lo:100 down;
ifconfig $1:100 $2 netmask $3 up;
;;
stop)
ifconfig $1:100 down;
ifconfig lo:100 $2 netmask 255.255.255.255 up;
;;
esac
提供了LVS集群备用节点在回路地址监听集群虚IP以用于应用服务器。
➢#chmod +x resource.d/vip.sh
➢#vi haresources 创建集群资源文件
node1 ldirectord::ldirectord.cf LVSSyncDaemonSwap::master vip.sh::eth0::211.155.225.173::255.255.255.224
➢#vi ldirectord.cf 创建应用服务器负载均衡配置文件
checktimeout=5
checkinterval=50
autoreload=yes
logfile="/var/log/ldirectord.log"