架构基于WEB的负载均衡Nginx+keepalived_第1页
架构基于WEB的负载均衡Nginx+keepalived_第2页
架构基于WEB的负载均衡Nginx+keepalived_第3页
架构基于WEB的负载均衡Nginx+keepalived_第4页
架构基于WEB的负载均衡Nginx+keepalived_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、Nginx+keepalived架构基于WEB的负载均衡(转载)服务器故障:(服务器故障包括:服务器宕机、web服务终止、网线松动等等)当lvs-master故障时,无法再接受用户请求并将请求转发给真实的web服务器(即便真实web服务器正常)从而导致整个web服务的瘫痪,也就是lvs控制器存在单点故障问题。当lvs-master正常时,真实地web服务器如web1-realserver故障。此时lvs-master并不知道真实服务器是否在正常提供web服务,所以仍然在向故障的web1-realserver转发用户请求。这样的结果是用户请求无法被故障web服务器相应,某些用户可以访问网站有些则

2、无法访问。基于以上的问题,我们需要想办法实现对lvs控制器和web服务器的健康监测,一旦服务出现问题能保证服务不中断的情况下排除故障。即增加lvs控制器实现主备模式避免单点故障以及自动删除故障web服务结点并当它恢复后再自动添加到群集中这样的功能,这就是LVS+keepalived能实现的功能。整个线上环境由Linuxtone的站长netseek提供,这里表示感谢,整个系统的拓补如下:名称IPLVS-DR-MasterLVS-DR-BACKUPLVS-DR-VIPWEB1-RealserverWEB

3、2-Realserver0实施步骤:在realserver主机上实行脚本realserver,为lo:0绑定VIP地址,这步分别在二个web主机上、0实施。这步提前做,是因为以后的过程中这一步是不会发生更改的。#vim /usr/local/sbin/realserver#!/bin/bashSNS_VIP=. /etc/rc.d/init.d/functionscase $1 instart)ifconfig lo:0 $SNS_VIP netmask 255.255.25

4、5.255 broadcast $SNS_VIP/sbin/route add -host $SNS_VIP dev lo:0echo 1 /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 2 /proc/sys/net/ipv4/conf/lo/arp_announceecho 1 /proc/sys/net/ipv4/conf/all/arp_ignoreecho 2 /proc/sys/net/ipv4/conf/all/arp_announcesysctl -p /dev/null 2&1echo RealServer Start OK;stop)if

5、config lo:0 downroute del $SNS_VIP /dev/null 2&1echo 0 /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 0 /proc/sys/net/ipv4/conf/lo/arp_announceecho 0 /proc/sys/net/ipv4/conf/all/arp_ignoreecho 0 /proc/sys/net/ipv4/conf/all/arp_announceecho RealServer Stoped;*)echo Usage: $0 start|stopexit 1esacexit 0为二台l

6、vs主机安装lvs脚本,这步并非必要。做完这步时可以检测到用软件实现了LVS/DR的双机互备机制,但并不能实现的智能自动增加删除故障的web站点,所以这个靠keepalived来实现。过程如下:#mkdir /usr/local/src/lvs#cd /usr/local/src/lvs#wget/software/kernel-2.6/ipvsadm-1.24.tar.gz#ln -s /usr/src/kernels/2.6.18-53.el5PAE-i686/ /usr/src/linux#tar zxvf ipvsadm-

7、1.24.tar.gz#cd ipvsadm-1.24#make#make installlvs脚本如下 /usr/local/src/lvs/lvs#!/bin/bash#website director vip.SNS_VIP=SNS_RIP1=SNS_RIP2=0. /etc/rc.d/init.d/functionslogger $0 called with $1case $1 instart)# set squid vip/sbin/ipvsadm -set 30 5 60/sbin/ifconfig eth0:

8、0 $SNS_VIP broadcast $SNS_VIP netmask 55broadcast $SNS_VIP up/sbin/route add -host $SNS_VIP dev eth0:0/sbin/ipvsadm -A -t $SNS_VIP:80 -s wrr -p 3/sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP1:80 -g -w 1/sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP2:80 -g -w 1touch /var/lock/subsys/ipvsadm /

9、dev/null 2&1;stop)/sbin/ipvsadm -C/sbin/ipvsadm -Zifconfig eth0:0 downifconfig eth0:1 downroute del $SNS_VIProute del $SS_VIPrm -rf /var/lock/subsys/ipvsadm /dev/null 2&1echo ipvsadm stoped;status)if ! -e /var/lock/subsys/ipvsadm ;thenecho ipvsadm stopedexit 1elseecho ipvsadm OKfi;*)echo Usage: $0 s

10、tart|stop|statusexit 1esacexit 0关闭lvs脚本./lvs stop,编辑keepalived.conf文件,用keepalived实现负载均衡及高可用性。a)Keepalved的安装#wget/software/keepalived-1.1.15.tar.gz#tar zxvf keepalived-1.1.15.tar.gz#cd keepalived-1.1.15#./configure#make#make install将keepalived做成启动脚务,方便管理:#cp /usr/local/etc/rc.

11、d/init.d/keepalived /etc/rc.d/init.d/#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/#mkdir /etc/keepalived#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/#cp /usr/local/sbin/keepalived /usr/sbin/#service keepalived start|stopb)Keealived的配置1、配置在主负载均衡服务器上配置keepalived.conf#vim /et

12、c/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs notification_email notification_email_smtp_server # smtp_connect_timeout 30router_id LVS_DEVELvrrp_instance VI_1 state MASTER#备份服务器上将MASTER改为BACKUPinterface eth0virtual_router_

13、id 51priority 100#备份服务上将100改为99advert_int 1authentication auth_type PASSauth_pass 1111virtual_ipaddress virtual_server 80 delay_loop 6#(每隔10秒查询realserver状态)lb_algo wrr#lvs 算法lb_kind DR#Direct Routepersistence_timeout 60#同一IP的连接60秒内被分配到同一台realserverprotocol TCP#用TCP协议检查realse

14、rver状态real_server 80 weight 3#权重TCP_CHECK connect_timeout 10#10秒无响应超时nb_get_retry 3delay_before_retry 3connect_port 80real_server 0 80 weight 3TCP_CHECK connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 802、BACKUP服务器同上配置,先安装lvs再按装keepalived,仍后配置/etc/keepalived/keepalived.conf,只需将红色标示的部分改一下即可。3、停掉lvs脚本,分别在二台lvs机上启动servcie keepalived start就可实现负载均衡及高可用集群。值得注意的是:1、你必须向你的服务器所在机房IDC多申请一个IP供VIP使用。2、服务器的iptables、SElinux均关闭,在生产过程中,我

温馨提示

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

评论

0/150

提交评论