利用LVS+Keepalived实现高性能高可用负载均衡服务器_第1页
利用LVS+Keepalived实现高性能高可用负载均衡服务器_第2页
利用LVS+Keepalived实现高性能高可用负载均衡服务器_第3页
利用LVS+Keepalived实现高性能高可用负载均衡服务器_第4页
利用LVS+Keepalived实现高性能高可用负载均衡服务器_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、LVS+Keepalived 介绍LVSLVS是Linux Virtual Server 的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群 系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。 目前有三种IP负载均衡技术(VS/NAT VS/TUN和VS/DR);十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。KeepalviedKeepalived 在这里主要用作 RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover 的实现二.网站负载均衡拓朴图IP信息列表

2、:名称IPLVS-DR-Master LVS-DR-BACKUP LVS-DR-VIP WEB1-Realserver WEB2-Realserver 0 GateWay 复制代码三.安装LVS和Keepalvied 软件包1. 下载相关软件包#mkdir /usr/local/src/lvs #cd /usr/local/src/lvs #wgethttp:/www.linuxvirtualserver.Org/software/kernel

3、-2.6/ipvsadm-1.24.tar.gz #wget http:/www.keepalived.0rg/software/keepalived-1.1.15.tar.gz复制代码2. 安装 LVS 和 Keepalived#lsmod |grep ip_vs #uname -r 2.6.18-53.el5PAE #ln -s /usr/src/kernels/2.6.18-53.el5PAE-i686/ /usr/src/linux. #tar zxvf ipvsadm-1.24.tar.gz #cd ipvsadm-1.24 #make && make install

4、 #find / -name ipvsadm # 查看 ipvsadm 的位置, #tar zxvf keepalived-1.1.15.tar.gz #cd keepalived-1.1.15 #./configure && make && make install #find / -name keepalived #查看keepalived 位置 #cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ #cp /usr/local/etc/sysconfig/keepalived /etc/sy

5、sconfig/, #mkdir /etc/keepalived #cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ #cp /usr/local/sbin/keepalived /usr/sbin/ #service keepalived start|stop #做成系统启动服务方便管理 .复制代码四.配置LVS实现负载均衡1 . LVS-DR,配置LVS脚本实现负载均衡注:此脚本在于演示方便大家理解lvs,在keepalived方案中不要启动此脚本,所以看后面有注掉,很多朋友对此有问题。关于LVS的keepalvie

6、d 的HA方案,完全由keepalived.conf一个文件搞定,特此声明!#vi /usr/local/sbin/lvs-dr.sh #!/bin/bash # description: start LVS of DirectorServer #Written by :NetSeek , GW= # website director vip. SNS_VIP= SNS_RIP1= SNS_RIP2=0. ./etc/rc.d/init.d/funct

7、ions logger $0 called with $1 , case "$1" in, start) # set squid vip /sbin/ipvsadm -set 30 5 60 /sbin/ifconfig eth0: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

8、 -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 1 touch /var/lock/subsys/ipvsadm >/dev/null 2>&1; stop) /sbin/ipvsadm -C /sbin/ipvsadm -Z ifconfig eth0:0 down route del $SNS_VIP, rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1 echo

9、 "ipvsadm stoped",;, status), if ! -e /var/lock/subsys/ipvsadm ;then echo "ipvsadm stoped" exit 1 else echo "ipvsadm OK” fi;, *) echo "Usage: $0 (start|stop|status" exit 1 esac, exit 0复制代码2.配置 Realserver 脚本.#vi /usr/local/sbin/realserver.sh #!/bin/bash # descriptio

10、n: Config realserver lo and apply noarp #Written by :NetSeek , SNS_VIP= . /etc/rc.d/init.d/functions, case "$1" in start) ifconfig lo:0 $SNS_VIP netmask 55 broadcast $SNS_VIP /sbin/route add -host $SNS_VIP dev lo:0 echo "1" >/pro

11、c/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/null 2>&1echo "RealServer Start OK" stop)

12、, ifconfig lo:0 down route del $SNS_VIP >/dev/null 2>&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/a

13、ll/arp_announce echo "RealServer Stoped", *) echo "Usage: $0 start|stop" exit 1 esac exit 0复制代码或者采用 secondary ip address 方式配置 vi /etc/sysctl.confnet.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 c

14、ode #sysctl ?p #ip addr add /32 dev lo #ip add list查看是否绑定 3. 启动lvs-dr 脚本和realserver 启本,在 DR上可以查看LVS当前状态: #watch ipvsadm ?ln复制代码五.利用Keepalvied实现负载均衡和和高可用性1.配置在主负载均衡服务器上配置keepalived.conf#vi /etc/keepalived/keepalived.conf! Configuration File for keepalived, global_defs notification_email c

15、nseek, notification_email_from sns-lvs smtp_server # smtp_connect_timeout 30router_id LVS_DEVEL# 20081013 written by :netseek# VIP1vrrp_instance VI_1 state MASTER #备份服务器上将 MASTE畋为BACKUPinterface eth0virtual_router_id 51priority 100 # 备份服务上将 100改为99advert_int 1authentication auth_type PASSa

16、uth_pass 1111virtual_ipaddress #(如果有多个VIP,继续换行填写.)virtual_server 80 delay_loop 6 #( 每隔 10 秒查询 realserver 状态)lb_algo wrr #(lvs 算法)lb_kind DR #(Direct Route)persistence_timeout 60 #( 同一 IP 的连接 60 秒内被分配到同一台realserver)protocol TCP #( 用 TCP协议检查 realserver 状态)real_server 61.164.12

17、2.9 80 weight 3 #( 权重)TCP_CHECKconnect_timeout 10 #(10秒无响应超时)nb_get_retry 3delay_before_retry 3connect_port 80real_server 0 80 weight 3TCP_CHECKconnect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80 , 复制代码Ivs再按装keepalived,仍后配置,只需将红色标示的部分改一下即可2. BACKUP服务器同上配置,先安装/etc/keepaliv

18、ed/keepalived.conf3.停掉lvs_dr.sh演示脚本#/usr/local/sbin/lvs-dr.sh#/usr/local/sbin/lvs-dr.sh stop#/etc/init.d/keepalived start keepalived.conf配置文件,整个LVS负均衡HA方案,由vi /etc/rc.local将lvs-dr.sh这个脚本注释掉。停止lvs-dr 脚本启动keepalived 服务,keepalived 就能利用实现负载均衡和高可用keepalived.conf一个文件即可搞定!4.查看lvs服务是否正常#watch ipvsadm ?lnIP

19、Virtual Server version 1.2.1 (size=4096) Prot LocalAddressort Scheduler Flags -> RemoteAddressort Forward Weight ActiveConn InActConn TCP :80 wrr persistent 60 -> 0:80 Route 3 0 0 -> :80 Route 3 0 0复制代码#tail ?f /var/log/message 监听日志,查看状态,测试LVS负载均衡及高可用性是否有

20、效。5.停Master服务器的keepalived服务,查看BAKCUP艮务器是否能正常接管服务。四.相关参考1 . LVS基础知识汇总LVS 的算法介绍/viewthread.php?tid=69学习 LVS 的三种转发模式/viewthread.php?tid=77LVS 中的 IP 负载均衡技术 /viewthread.php?tid=68更多的请到 负载均衡版查看Keepalived 相关参考资料。/documentation.ht

温馨提示

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

评论

0/150

提交评论