`
yangzb
  • 浏览: 3474059 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

REDHAT LINUX AS 4U4 HA- LVS配置

    博客分类:
  • HA
阅读更多
简介:ha-lvs在集群的负载均衡中用的比较多,本人因工作需要曾经做过,故把实践结果贴出来供大家分享,有解释不到的地方,希望大家跟贴补充,谢谢!
 
配置环境介绍:
调度器1 地址:eth0:192.168.1.10/23;eth1:192.168.1.11/23
调度器2 地址:eth0:192.168.1.20/23;eth1:192.168.1.21/23
应用服务器1 地址:eth0:192.168.1.135/23;lo:0:192.168.1.130/23
应用服务器2 地址:eth0:192.168.1.136/23;lo:0:192.168.1.130/23
VIP192.168.1.130
结构图:
点击看大图
 
 
1 .安装软件:
ipvsadm-1.24.tar.gz
heartbeat-2.0.5.tar.gz
 
 
2 .安装过程
1 )安装ipvsadm
rpm -ivh ipvsadm-1.24-5.i386.rpm
2 )安装heartbeat 软件包
rpm -ivh heartbeat-pils-2.0.4-1.el4.i386.rpm
rpm -ivh heartbeat-stonith-2.0.4-1.el4.i386.rpm
rpm -ivh heartbeat-2.0.4-1.el4.i386.rpm------------------- (生成ha.cfharesourcesauthkeys
rpm -ivh perl-Parse-RecDescent-1.94-1.rh.el.um.1.noarch.rpm
rpm -ivh perl-Mail-IMAPClient-2.2.9-1.rh.el.um.1.noarch.rpm
rpm -ivh perl-Digest-SHA1-2.07-5.i386.rpm
rpm -ivh perl-Digest-HMAC-1.01-13.noarch.rpm
rpm -ivh perl-Net-DNS-0.48-1.i386.rpm
rpm -ivh perl-Authen-SASL-2.08-1.rh.el.um.1.noarch.rpm
rpm -ivh perl-Net-SSLeay-1.25-3.2.el4.rf.i386.rpm
rpm -ivh perl-IO-Socket-SSL-0.96-1.rh.el.um.1.noarch.rpm
rpm -e perl-LDAP
rpm -ivh perl-ldap-0.3202-1.rh.el.um.1.noarch.rpm
rpm -ivh perl-modules-5.8.5-3.i386.rpm
rpm -ivh --force perl-libnet-1.19-3.noarch.rpm (force 的原因:安装包中man3 里有10
个文件与包perl.5.8.5-16 中的相同)
rpm -ivh heartbeat-ldirectord-2.0.4-1.el4.i386.rpm---------- (生成ldirectord.cf
 
* 两个调度器都按照以上步骤安装。
 
3 调度器配置
#chkconfig --del ldirectord
#chkconfig heartbeat on
ha 配置文件样例在/usr/share/doc/heartbeat-2.0.4 目录里
将文件ha.cf,haresource,authkey 文件复制到 /etc/ha.d/
ldirectord 样例文件在/usr/share/doc/heartbeat-ldirectord-2.0.4 目录
ldirectord.cf 复制到/etc/ha.d/
 
#vi ha.cf
*********ha.cf**************************************************************
debugfile /var/log/ha-debug
logfile /var/log/ha-log
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
ucast eth 192.168.1.* //ucast 方式 心跳线网卡 ,对端ip
auto_failback on
node lvs1
node lvs2  {//HA 的两个节点,机器名要在hosts 中定义(机器名可以自己指定只要在hosts 中有定义就行)
 vi /etc/hosts 添加如下两行:
192.168.1.10 lvs1
192.168.1.20 lvs2
 
#vi haresources
*****************haresources 文件********************************************
lvs1 IPaddr::192.168.1.130/23/eth0/192.168.1.255 ipvsadm ldirectord::/etc/ha.d/ldirectord.cf  LVSSyncDaemonSwap::master ( 如果配置不生效的话可以试着把/etc/ha.d/ 去掉试试)
注:
lvs1 是指HA 中的master
IPaddr::192.168.1.130/23/eth0/192.168.1.255HAVIP/ 掩码/ 网卡/ 广播地址
ipvsadm 是用HA 来管理的服务(在/etc/init.d/etc/ha.d/resource 中定义的服务启动脚本)
ldirectord::/etc/ha.d/ldirectord.cf 同上,ldirectord 指服务,后边是其配置文件。
haresources 文件在HA 的两个节点中,必须是相同的
 
#vi authkeys
******** ************authkeys 文件***************************
定义HA 节点间的认证方式,必须将此文件的权限设置为600 其书写格式如下
下面采用CRC 认证方式
auth 1
1 crc  (1 crc 前面的# 去掉就行)
 
配置ldirectord 为服务转发提供ha 冗余
#vi ldirectord.cf
***************************ldirectord 文件*********************************
checktimeout=1
checkinterval=1
#fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
#logfile="local0"
quiescent=yes ---------- 这个选项的意思表示调度器和realserver 建立连接后,如果此时realserver down 机后,他们之间的连接还会存在,如果quiescent=no 的话,在realserver down 机后,他们之间的连接会全部被踢掉,这时调度器会选择别的realserve 去建立连接。
virtual=192.168.1.130:80
real=192.168.1.135:80 gate
real=192.168.1.136:80 gate
fallback=127.0.0.1:80 gate
service=http
request="testpage"
receive="ok"
# virtualhost=some.domain.com.au
scheduler=rr
#persistent=600 --------- 这个选项的意思是调度器和realserver 建立连接后,如果此时realserver down 机后,下一个连接到来时再600 内如果还没有建立上连接,则调度器会跟别的realserver 建立连接
#netmask=255.255.255.255
protocol=tcp
注:
virtual 指定了虚拟的IP 地址
real 指定了后端真正web 服务器的IP 地址
fallback service 指定服务
request 指定测试web 服务器状态的请求页面,需要在web 服务器上添加这个页面
receive 指定测试页面返回的值所包含的内容
scheduler 指定了算法,rr 为轮训,wlc 为权重
virtualhost 指定虚拟主机的域名
 
调度器配置
#vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 (设置转发,是两台主机有转发功能)
 
调度器heartbeat 服务的启动:
# service  heartbeat  start
检查ipvsadm 服务的的装态
ipvsadm -L
配置完成
 
4 web 服务器增加VIP这是在指 real server 服务器进行配置
# vi /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.130
(这个是指对客户端的虚拟ipvip
NETMASK=255.255.255.255
ONBOOT=yes
ARP=no
#vi /etc/sysctl.conf 文件
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
 
注:如果以上配置在没有成功的话,则可能是网络的问题,可能是网络缺少组件MailTools-1.77.tarperl-ldap-0.34.tar 等,装上缺少的组件再试试。
 
 如果lvs中不用ldirectord来调度ipvsadm,此时可以手动配置ipvsadm如下
配置IPVS(/etc/sysconfig/ipvsadm),添加Real Server:
ipvsadm -A -t 172.20.68.222:80 -s rr
ipvsadm -a -t 172.20.68.222:80 -r 172.20.68.20:80 -g
ipvsadm -a -t 172.20.68.222:80 -r 172.20.68.22:80 -g
分享到:
评论
1 楼 Jayco 2011-09-08  
你好,按照你说的方法去安装所需要的包,但是安装到perl-libnet-1.19-3.noarch.rpm这个包的时候就不能够正常安装了,现在在网上找到对应的包,但是就是不能安装成功。你能够将perl-libnet-1.19-3.noarch.rpm这个包发给我?我的邮箱是819489459@qq.com,谢谢!如果你有安装最新的heartbeat 3.x的话,能将需要的包也一起发给我吗?我用的系统是redhat 5.6 service版本。谢谢

相关推荐

Global site tag (gtag.js) - Google Analytics