负载均衡技术.docx

上传人:b****2 文档编号:24512980 上传时间:2023-05-28 格式:DOCX 页数:18 大小:116.50KB
下载 相关 举报
负载均衡技术.docx_第1页
第1页 / 共18页
负载均衡技术.docx_第2页
第2页 / 共18页
负载均衡技术.docx_第3页
第3页 / 共18页
负载均衡技术.docx_第4页
第4页 / 共18页
负载均衡技术.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

负载均衡技术.docx

《负载均衡技术.docx》由会员分享,可在线阅读,更多相关《负载均衡技术.docx(18页珍藏版)》请在冰豆网上搜索。

负载均衡技术.docx

负载均衡技术

负载均衡技术

一、目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR);八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh)。

LVS+keepalived负载均衡架构图

 

二、LVS+keepalived的安装和配置

1.        配置环境

    SystemOS:

CentOSrelease5.4

    Software:

ipvsadm-1.24.tar.gz,keepalived-1.1.19.tar.gz

2.        信息列表

名称

IP

 LVS-Master

192.168.1.112

 LVS-BACKUP

192.168.1.113

 LVS-VIP

192.168.1.115

 Realserver1

192.168.1.105

 Realserver2

192.168.1.103

Realserver3

192.168.1.104

3.        安装lvs

分别在backuplvs和masterlvs上安装

wgethttp:

//www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

ln-s/usr/src/kernels/2.6.18-164.el5-i686//usr/src/linux

tarzxvfipvsadm-1.24.tar.gz

cdipvsadm-1.24

make&&makeinstall

4.        安装keepalived

分别在backuplvs和masterlvs上安装

wgethttp:

//www.keepalived.org/software/keepalived-1.1.19.tar.gz

tarzxvfkeepalived-1.1.19.tar.gz

cdkeepalived-1.1.19

./configure--prefix=/usr/local/keepalived

make

makeinstall

cp/usr/local/keepalived/sbin/keepalived/usr/sbin/

cp/usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig/

cp/usr/local/keepalived/etc/rc.d/init.d/keepalived/etc/init.d/

mkdir/etc/keepalived

5.        配置keepadlived

LVS-Master的配置文件如下

[root@linux5~]#cat/etc/keepalived/keepalived.conf

global_defs{

notification_email{

              jimo291@   #email通知

       }

       notification_email_fromjimo291@

       smtp_server127.0.0.1

       smtp_connect_timeout30

       router_idLVS1         #设置lvs的id,在一个网络内应该是唯一的

}

vrrp_sync_grouptest{          #设置vrrp组

group{

       loadbalance

}

}

 

vrrp_instanceloadbalance{

       stateMASTER      #设置lvs的状态,报错MASTER和BACKUP两种,必须大写

       interfaceeth0    #设置对外服务的接口

       lvs_sync_daemon_intefaceeth0  #设置lvs监听的接口

       virtual_router_id51                    #设置虚拟路由表示

       priority180           #设置优先级,数值越大,优先级越高

       advert_int5          #设置同步时间间隔

authentication{                   #设置验证类型和密码

       auth_typePASS

       auth_pass1111

}

virtual_ipaddress{               #设置lvsvip

       192.168.1.115

}

}

 

virtual_server192.168.1.11580{

       delay_loop6         #健康检查时间间隔

       lb_algorr              #负载均衡调度算法

       lb_kindDR           #负载均衡转发规则

       #persistence_timeout20 #设置会话保持时间,对bbs等很有用

       protocolTCP               #协议

       real_server192.168.1.10580{

       weight3               #设置权重

       TCP_CHECK{

       connect_timeout3

       nb_get_retry3

       delay_before_retry3

       connect_port80

}

}

       real_server192.168.1.10380{

       weight3

       TCP_CHECK{

       connect_timeout3

       nb_get_retry3

       delay_before_retry3

       connect_port80

}

}

       real_server192.168.1.10480{

       weight3

       TCP_CHECK{

       connect_timeout3

       nb_get_retry3

       delay_before_retry3

       connect_port80

}

}

}

 

LVS-backup的配置文件如下

global_defs{

notification_email{

              jimo291@

       }

       notification_email_fromjimo291@

       smtp_server127.0.0.1

       smtp_connect_timeout30

       router_idLVS2

}

vrrp_sync_grouptest{

group{

       loadbalance

}

}

 

vrrp_instanceloadbalance{

       stateBACKUP

       interfaceeth0

       lvs_sync_daemon_intefaceeth0

       virtual_router_id51

       priority150

       advert_int5

authentication{

       auth_typePASS

       auth_pass1111

}

virtual_ipaddress{

       192.168.1.115

}

}

 

virtual_server192.168.1.11580{

       delay_loop6

       lb_algorr

       lb_kindDR

       #persistence_timeout20

       protocolTCP

       real_server192.168.1.10580{

       weight3

       TCP_CHECK{

       connect_timeout3

       nb_get_retry3

       delay_before_retry3

       connect_port80

}

}

       real_server192.168.1.10380{

       weight3

       TCP_CHECK{

       connect_timeout3

       nb_get_retry3

       delay_before_retry3

       connect_port80

}

}

       real_server192.168.1.10480{

       weight3

       TCP_CHECK{

       connect_timeout3

       nb_get_retry3

       delay_before_retry3

       connect_port80

}

}

}

      

6.        Realserver的配置

三台客户端的脚本都一样!

cat/etc/rc.d/init.d/realserver.sh

#!

/bin/bash

#description:

Configrealserverloandapplynoarp

 

SNS_VIP=192.168.1.115

 

/etc/rc.d/init.d/functions

 

case"$1"in

start)

      ifconfiglo:

0$SNS_VIPnetmask255.255.255.255broadcast$SNS_VIP

      /sbin/routeadd-host$SNS_VIPdevlo:

0

      echo"1">/proc/sys/net/ipv4/conf/lo/arp_ignore

      echo"2">/proc/sys/net/ipv4/conf/lo/arp_announce

      echo"1">/proc/sys/net/ipv4/conf/all/arp_ignore

      echo"2">/proc/sys/net/ipv4/conf/all/arp_announce

      sysctl-p>/dev/null2>&1

      echo"RealServerStartOK"

 

      ;;

stop)

      ifconfiglo:

0down

      routedel$SNS_VIP>/dev/null2>&1

      echo"0">/proc/sys/net/ipv4/conf/lo/arp_ignore

      echo"0">/proc/sys/net/ipv4/conf/lo/arp_announce

      echo"0">/proc/sys/net/ipv4/conf/all/arp_ignore

      echo"0">/proc/sys/net/ipv4/conf/all/arp_announce

      echo"RealServerStoped"

      ;;

*)

      echo"Usage:

$0{start|stop}"

      exit1

esac

 

exit0

 

7.        测试

1)       首先测试各个realserver,确定各个realserver都能正常访问,测试realserver.sh脚本,看启动后能不能绑定lvsvip,停止后能不能去除绑定的vip

2)       测试lvs能否进行负载均衡转发,利用ipvsadm命令查看,如果想只当当前的请求转发到哪个服务器去了,可以用ipvsadm加选项来查看,其完整形式为:

ipvsadm–lcn|grep192.168.1.115

3)       停掉主lvs看lvsbackup是否接管!

    更详细信息请查看日志,tail-f/var/log/messages

LVS+Keepalived实现高可用集群

来源:

ChinaUnix博客 日期:

2009.07.2114:

49 (共有条评论)我要评论

 

操作系统平台:

CentOS5.2

软件:

LVS+keepalived

LVS+Keepalived介绍

LVS

LVS是LinuxVirtualServer的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。

本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。

目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR);

十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。

Keepalvied

Keepalived在这里主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现

IP配置信息:

LVS-DR-Master      192.168.2.166

LVS-DR-BACKUP      192.168.2.167

LVS-DR-VIP        192.168.2.170      

WEB1-Realserver      192.168.2.171

WEB2-Realserver      192.168.2.172

GateWay          192.168.2.253

安装LVS和Keepalvied软件包

  

1.下载相关软件包

#mkdir/usr/local/src/lvs

#cd/usr/local/src/lvs

#wget

http:

//www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

#wget

http:

//www.keepalived.org/software/keepalived-1.1.15.tar.gz

2.安装LVS和Keepalived

#lsmod|grepip_vs

#uname-r

2.6.18-53.el5PAE

#ln-s/usr/src/kernels/2.6.18-53.el5PAE-i686/  /usr/src/linux

#tarzxvfipvsadm-1.24.tar.gz

#cdipvsadm-1.24

#make&&makeinstall

#find/-nameipvsadm  #查看ipvsadm的位置

#tarzxvfkeepalived-1.1.15.tar.gz

#cdkeepalived-1.1.15

#./configure  &&make&&makeinstall

#find/-namekeepalived  #查看keepalived位置          

  

#cp/usr/local/etc/rc.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/

#servicekeepalivedstart|stop    #做成系统启动服务方便管理.

四.配置LVS实现负载均衡

  1.LVS-DR,配置LVS脚本实现负载均衡

vi/usr/local/sbin/lvs-dr.sh

#!

/bin/bash

#description:

startLVSofDirectorServer

#Writtenby:

NetSeek

http:

//www.linuxtone.org

GW=192.168.2.253

#websitedirectorvip.

WEB_VIP=192.168.2.170

WEB_RIP1=192.168.2.171

WEB_RIP2=192.168.2.172

./etc/rc.d/init.d/functions

logger$0calledwith$1

case"$1"in

start)

      #Clearalliptablesrules.

      /sbin/iptables-F

      #Resetiptablescounters.

      /sbin/iptables-Z

      #Clearallipvsadmrules/services.

      /sbin/ipvsadm-C

#setlvsvipfordr

      /sbin/ipvsadm--set30560

      /sbin/ifconfigeth0:

0$WEB_VIPbroadcast$WEB_VIPnetmask255.255.255.255up

      /sbin/routeadd-host$WEB_VIPdeveth0:

0

      /sbin/ipvsadm-A-t$WEB_VIP:

80-swrr-p3

      /sbin/ipvsadm-a-t$WEB_VIP:

80-r$WEB_RIP1:

80-g-w1

      /sbin/ipvsadm-a-t$WEB_VIP:

80-r$WEB_RIP2:

80-g-w1

      touch/var/lock/subsys/ipvsadm>/dev/null2>&1

      

      #setArp

      /sbin/arping-Ieth0-c5-s$WEB_VIP$GW>/dev/null2>&1

    ;;

stop)

      /sbin/ipvsadm-C

      /sbin/ipvsadm-Z

      ifconfigeth0:

0down

      routedel$WEB_VIP  >/dev/null2>&1

      rm-rf/var/lock/subsys/ipvsadm>/dev/null2>&1

      /sbin/arping-Ieth0-c5-s$WEB_VIP$GW

      echo"ipvsadmstoped"

    ;;

status)

      if[!

-e/var/lock/subsys/ipvsadm];then

          echo"ipvsadmisstoped"

          exit1

      else

          ipvsadm-ln

          echo"..........ipvsadmisOK."

      fi

    ;;

*)

      echo"Usage:

$0{start|stop|status}"

      exit1

esac

exit0

2.配置Realserver脚本.

#!

/bin/bash

#WrittenbyNetSeek

#description:

Configrealserverloandapplynoarp

WEB_VIP=192.168.2.170

./etc/rc.d/init.d/functions

case"$1"in

start)

    ifconfiglo:

0$WEB_VIPnetmask255.255.255.255broadcast$WEB_VIP

    /sbin/routeadd-host$WEB_VIPdevlo:

0

    echo"1">/proc/sys/net/ipv4/conf/lo/arp_ignore

    echo"2">/proc/sys/net/ipv4/conf/lo/arp_announce

    echo"1">/proc/sys/net/ipv4/conf/all/arp_ignore

    echo"2">/proc/sys/net/ipv4/conf/all/arp_announce

    sysctl-p>/dev/null2>&1

    echo"RealServerStartOK"

    ;;

stop)

    ifconfiglo:

0down

    routedel$WEB_VIP>/dev/null2>&1

    echo"0">/proc/sys/net/ipv4/conf/lo/arp_ignore

    echo"0">/proc/sys/net/ipv4/conf/lo/arp_announce

    echo"0">/proc/sy

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1