设为首页 收藏本站
查看: 1858|回复: 0

[经验分享] RHEL5用LVS实现Web负载均衡

[复制链接]

尚未签到

发表于 2019-1-6 12:13:06 | 显示全部楼层 |阅读模式
LVS搭建高可用性Web负载均衡服务器

一. 系统需求
实现Linux下的Web服务器负载均衡,LVS以主备方式工作,并且实现LVS机器同时加入Web服务器群。
二.软硬件需求
操作系统:Red Hat EnterpriseLinux Server release 5(关闭selinuxiptables)
相关软件:heartbeat-2.1.4 net-snmp lm_sensors net-snmpipvsadmperl模块
网络要求:所有服务器位于同一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
      分别在AB服务器的Eth0上配好IP及网关.
3、设置服务器A,Bhostnamenode1node2
如不是请修改/etc/sysconfig/networkHOSTNAME部分,并执行
#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.173netmask 255.255.255.255 up;

Ø        #chkconfig heartbeat --level 35on

Ø        #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 eth0231.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 ipfailgid=haclient uid=hacluster

集群中有两个节点node1node2,通过多播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 $3up;
                ;;
        stop)
                ifconfig $1:100 down;
                ifconfig lo:100 $2 netmask255.255.255.255 up;
                ;;
esac

提供了LVS集群备用节点在回路地址监听集群虚IP以用于应用服务器。


Ø        #chmod +x resource.d/vip.sh


Ø        #vi haresources                        创建集群资源文件
node1ldirectord::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"
quiescent=yes
virtual=211.155.225.173:80
        real=211.155.225.174:80 gate 4
        real=211.155.225.175:80 gate 6
         #real=125.64.8.26:80ipip 5
        fallback=127.0.0.1:80 gate
        service=http
        scheduler=wrr
        protocol=tcp
        checktype=negotiate
        request="cdntest.html"
        receive="CDN HA Test Page"
        virtualhost=ha.cdn.srt.cn

各应用服务器检测间隔:50秒,检测5秒后无响应或响应错误使应用节点失效。
配置虚拟http服务器211.155.225.173,通过211.155.225.174211.155.225.175的两台服务器做负载均衡。
发送http://ha.cdn.srt.cn/cdnest.html到两个http服务器,5秒内成功获取内容为:"CDN HATest Page"的页面则正常。
负载均衡以路由方式工作。
其中real=211.155.225.174:80 gate 4  4代表权值, real服务器权值越大分担的负载越大。所有real服务器正常时,负载比例大约:4/4+6=40%
scheduler=wrr 加权轮叫,可选(rrwrrlcwlclblcdhsh

6、在服务器A/var/www/html下创建文本。
#echo "CDN HA Test Page">/var/www/html/cdntest.html

7、在服务器B上进行第45步操作,scp也可。


8、对于未安装集群软件的应用服务器(IP:211.155.225.176,http server),需要执行第4步操作,并在系统启动后执行
ifconfig lo:100 211.155.225.173netmask 255.255.255.255 up
   去除文件ldirectord.cf    #real=211.155.225.176:80gate前注释即可.

五.测试
1、在服务器AB上分别执行service heartbeatstart 启动集群软件,
及执行service httpd start启动apache

          2、在服务器AB上分别执行:
#echo "WebSite A">/var/www/html/index.html
#echo "WebSite B">/var/www/html/index.html

          3、在服务器AB上分别执行ifconfig
       正常的话,     在服务器A上出现eth0:100  IP:211.155.225.173
                                               在服务器B上出现l0:100     IP:211.155.225.173
                   在服务器A上执行service heartbeatstop,结果是:
                                   在服务器A上出现lo0:100          IP:211.155.225.173
                                               在服务器B上出现eth0:100         IP:211.155.225.173
                   在服务器A上执行service heartbeatstart将恢复正常情况。

          4、在服务器ABhttpd启动的情况,不断刷新http://211.155.225.173
       正常的话,     交替出现 WebSite AWebSite B
                   在服务器A上执行service httpd stop,结果是:
                                   只出现WebSite B
                   在服务器A上执行service httpd start B上执行stop操作,结果是:
                                   只出现WebSite A
                   全部启动httpd,将恢复正常情况。





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-659946-1-1.html 上篇帖子: 负载均衡(lvs的机制优势和配置方式的汇总) 下篇帖子: LVS负载均衡DR模型实验
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表