LVS搭建高可用性Web负载均衡服务器

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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"

相关文档
最新文档