LVS+Heartbeat实施案例【拓扑图+配置】_第1页
LVS+Heartbeat实施案例【拓扑图+配置】_第2页
LVS+Heartbeat实施案例【拓扑图+配置】_第3页
LVS+Heartbeat实施案例【拓扑图+配置】_第4页
LVS+Heartbeat实施案例【拓扑图+配置】_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LVS+Heartbeat实施案例【拓扑图+配置】作者:NetSeek (IT运维专家网|集群架构|性能调优一.基本介绍背景描述某大型商业网站由于业务量的发展非常迅速,目前的网站架构根本无法缓解用户访问压力及单点故障。急需一套高可用的负载均衡集群解决方案,http:/www.linuxT(IT运维专家网根据这家商业网站在的状况,部署了一套负载均衡及高可用的集群方案及相关优化,项目实施以后该商业网站得WEB压力得到了很好的解决,访问速度大幅度提升.以下是相关配置文档,拿出来与朋友们分享希望对更多想了解LVS/HA的朋友有帮助。本文特色1

2、.介绍LVS+Heartbeat两种案装方法2.采用heartbeat 2.x style的配置(使用cib.xml3.测试日志分析及相关技巧4.两个在真实案例中的经验分享二.网络拓朴图及相关描述 1.主机名:(/etc/复制代码2.VIPeth0:0 06Realserver1 04Realserver2 053.Heartbeat心跳线a使用一根串口直连线缆(serial n

3、ull modem cableHeartbeatbeth1: (交叉线直连Heartbeat三.安装Heartbeatyum安装,编译安装1.通过Yum安装Heartbeat#yuminstall heartbeat-*/安装HA#yuminstall heartbeat-ldirectord/安装ldirectord实现LVS的高可用性# rpm-qa|grep heartbeat复制代码/查看安装相关的包heartbeat-stonith-2.1.3-3.el5.centosheartbeat-devel-2.1.3-3.el5.centosheartbea

4、t-pils-2.1.3-3.el5.centosheartbeat-2.1.3-3.el5.centosheartbeat-ldirectord-2.1.3-3.el5.centosheartbeat-gui-2.1.3-3.el5.centos复制代码#rpm -q heartbeat ?d/查看Heartbeat相关doc目录将相关配置文件拷贝到/etc/ha.d目录下# cp /usr/share/doc/heartbeat-2.1.3/ha.cf/etc/ha.d/# cp /usr/share/doc/heartbeat-2.1.3/authkeys/etc/ha.d/# cp /

5、usr/share/doc/heartbeat-2.1.3/haresources/etc/ha.d 复制代码2. 编译安装Heartbeat下载相关软件包:/DownloadSoftware编译安装#tar-xvzf libnet.tar.gz#cdlibnet#./configure#make;makeinstall#groupadd-g 694 haclient#useradd-u 694 -g haclient hacluster# tar-xvzf heartbeat-2.1.3.tar.gz# cdheartbeat-2.1.3#./Config

6、ureMe configure#make;make install#cpdoc/ha.cf doc/haresources doc/authkeys /etc/ha.d/#cpldirectord/ldirectord.cf /etc/ha.d/复制代码【注意】heartbeat软件包在RHEL或者CentOS安装盘中都能找到。所需软件包:heartbeat、libnet、net-snmp、net-snmp-libs、perl-Compress-Zlib、perl- HTML-Parser、perl-HTML-Tagset、perl-libwww-perl、perl-Mailinuxtoneo

7、ols、perl- TimeDate、perl-URI、ipvsadm.以上软件包,有的在rhel5光盘中,有的要在网上搜索的。四. 配置Heartbeat实现服务高可用性.1.分别配置两台HA的主机名.#vi /etc/复制代码2./etc/ha.d/ha.cf 配置介绍#cd /etc/ha.d#cat ha.cf|grep -v #logfile/var/log/ha-loglogfacilitylocal0keepalive2deadt

8、ime30warntime10initdead120udpport694baud19200serial/dev/ttyS0# Linux#ucasteth2 ucasteth0 03auto_failbackonwatchdog/dev/watchdogcrm ping03ping_grouplbgroup ping_grouplbgroup 02

9、03respawnhacluster /usr/lib/heartbeat/ipfailapiauthipfail gid=haclient uid=hacluster复制代码3./etc/ha.d/authkeys#vi authkeysauth 11 sha1Hey!复制代码#chmod 600 authkeys4./etc/ha.d/haresources# cat haresources |grep -v# lvsldirectord复制代码5.建立软连接让HA自动接管lvs-dr.sh,ldirectord等资源.#ln -s /etc/

10、init.d/lvs /etc/ha.d/resource.d/ /etc/init.d/lvs 存放LVS启动相关脚本 #ln -s /usr/sbin/ldirectord /etc/ha.d/resource.d复制代码6.采用Heartbeat2.x style,利用crm 来管理资源.#/usr/lib/heartbeat/haresources2cib.py -stout -c /etc/ha.d/ha.cf/etc/ha.d/haresources 复制代码将生成的cib.xml文件在/var/lib/heartbeat/crm目录【注意】关于crm(ClusterResourc

11、e Manager:crm资源配置方法是在新的版本中引入的,如果想使用该格式来配置资源(ip,服务,共享磁盘等,可以参看配置示例:/v2/Examples/Simple 。/var/lib/heartbeat/crm/cib.xml 文件的作用与/etc/ha.d/haresources相同,是二者择一的关系。# cat/dev/null haresources/把haresources清空,采用crm来管理资源7. /etc/ha.d/ldirectord.cf 配置# GlobalDirectiveschecktimeout=3checkinte

12、rval=1fallback=:80autoreload=yeslogfile=/var/log/ldirectord.log #logfile=local0emailalert=cnseek emailalertfreq=3600emailalertstatus=allquiescent=no# Samplefor an http virtual service virtual=06:80real=04:80 gatereal=05:80 gate#fallback=:80gate#serv

13、ice=http#request=index.html#receive=Test Page#virtualhost=.auscheduler=wrrpersistent=5#netmask=55protocol=tcpchecktype=connectcheckport=80#request=index.html#receive=TestPage#virtualhost=www.x.y.z复制代码【注意】Ldirectord的作用是监测Real Server,当RealServer失效时,把它从Load Balancer列表中删除,恢复时重新添加,在安装heartbe

14、at时已经安装了Ldirectord.配置中quiescent=no设置实现如果Realserver机器down掉以后,立即从IPVS列表中删除,恢复时重新添加.8.启动Heartbeat服务# /etc/init.d/heartbeat start五.测试Heartbeat及日志分析1.测试串口线配置是否正常串行连接通过两个节点的串口,使用一根直连线缆将它们连接起来。现在测试串行连接,如下所示:在 primarylb(接收者上输入以下内容:cat /dev/ttyS02. 如果主节点需要维护时,可先将其转移到备份服务器上/usr/lib/heartbeat/hb_standby(hb_sta

15、ndby命令把资源强迫到迁移到备份服务器如果主节点要切回来掌管服务:/usr/lib/heartbeat/hb_takeover3. 拔掉网线,测试在primary节点的网络断开后的切换情况4. 停掉primary的heartbeat(/etc/init.d/heartbeat stop 查看backup是否能正常接管资源5. shutdown primary主机,测试是否能够正常切换,基本上和上面测试2差不多。【注意】# tail -f /var/log/messages/在两台负载均衡服务器上注意查看日志变化来排错。六. 相关注意事项及参考1.项目实施过程遇到的问题及总结.【经验分享】【以

16、下是项目中遇到的两个问题,提出方便对你有帮助】a假如两台VS之间使用的互备关系,那么当一台VS接管LVS服务时,可能会网络不通,这时因为路由器的MAC缓存表里无法及时刷新MAC.关于vip这个地址的MAC地址还是替换的VS的MAC,有两种解决方法,一种是修改新VS的MAC地址,另一种是使用send_arp /arpiing命令.以arping命令为例./sbin/arping -I eth0 -c 3 -s $vip$gateway_ip /dev/null 2&1例如:复制代码/sbin/arping -I eth0 -c 3 -s 复制代码b某台

17、Realserver服务down掉以后如何从IPVS列表自动中删除恢复时如何自动添加?配置ldirectord.confquiescent=no或 echo 1 /proc/sys/net/ipv4/vs/expire_nodest_conn2.ha.cf相关注释auto_failback设置为on时,一旦主节点重新恢复联机,将从从节点取回所有资源。Stonith设备是一种能够自动关闭电源来响应软件命令的设备Watchdog在实现上可以是硬件电路也可以是软件定时器,能够在系统出现故障时自动重新启动系统。3.lvs状态查看操作步骤详细到命令行级别查看LVS的连接情况:ipvsadm -L -n查

18、看LVS的吞吐量情况: ipvsadm -L -n -rate查看LVS的统计信息:ipvsadm -L -n -stats实时查看LVS连接状态变化: watch ipvsadm ?ln4. 附上LVS(DR脚本#!/bin/bash#description: start LVS of DirectorServer#Writtenby :NetSeek GW=# websitedirector vip.WEB_VIP=06WEB_RIP1=04WEB_RIP2=192.168.1.

19、105./etc/rc.d/init.d/functionslogger $0called with $1case$1 instart# Clear all iptables rules./sbin/iptables-F# Reset iptables counters./sbin/iptables -Z#Clear all ipvsadm rules/services./sbin/ipvsadm-C#set lvs vip for dr/sbin/ipvsadm -set 30 5 60/sbin/ifconfig eth0:0 $WEB_VIP broadcast $WEB_VIP netmask 55 up /sbin/ro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论