简介: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
VIP
:192.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.cf
、haresources
、authkeys
)
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.255
是HA
的VIP/
掩码/
网卡/
广播地址
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
(这个是指对客户端的虚拟ip
即vip
)
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.tar
,perl-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
相关推荐
但是redhat as4u4系统自带vim还是老版本。 所以本人编译出来,并打成rpm希望对大家有帮助。 <br>这是在Red Hat Enterprise Linux AS release 4 (Nahant Update 4) 下编译的VIM71版本 configure编译...
Redhat Linux AS 3下VS-FTP的配置.pdf
redhat-as5-install-guide.pdf
redhat-as4-install-guide
redhat-as4-install-guide安装文件.pdf
Redhat Linux AS4环境下iSCSI协议配置.pdf
RedHat AS4 安装与配置-详细-全 网上找的...很详细也很全面的一个文档 ,里面有截图,一步一步按照文档里说的步骤走,应该很快就学会安装和配置了,至于它的各方面知识的原理,还得自己去网上找找看了..操作系统本来就是...
redhat linux enterprise 5教程文档,绝对是你学习LINUx的好帮手哦,亲!
Redhat Linux 6 操作系统LVS_DR模式配置的详细文档,按照文档的部署和配置可实现 LVS_DR模式的负载均衡。
Redhat AS4 系统管理 网络配置 Redhat Linux AS 4.0 系统管理与网络配置
ORACLE9i For RedHat Linux AS4 释放版安装手册
在redhat as 4 下配置lvs 在redhat as 4 下配置lvs
Redhat Linux 6 操作系统LVS_DR+Keepalived模式下配置的详细文档,按照文档的部署和配置可实现 LVS_DR+Keepalived的负载均衡。
redhat linux enterprise 5教程文档,绝对是你学习LINUx的好帮手哦,亲!
expect linux as4 rhel4 unix
vmware9.0 redhat linux 5.0虚拟机安装vmware-tools
redhat linux enterprise 5教程文档,绝对是你学习LINUx的好帮手哦,亲!
安装redhat-Linux企业7-教程
详细讲述了RedHat Linux AS4下安装ORACLE9.2的具体步骤。
Redhat Linux AS4 upt8安装手册 操作系统版本为Redhat Linux AS4 upt8 64位或Redhat Linux AS5 upt5 64位,如果服务器硬件不支持64位,就采用32位,不支持Redhat Linux AS4 upt8,就采用Redhat Linux AS5 upt5。