




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、利用LVS+Keepalived实现高性能高可用负载均衡作者:NetSeek网站:背景:随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费? 同时实现商业硬件一样的高性能高可用的功能?有什么好的负载均衡可伸张可扩展的方案 吗?答案是肯定的!有!我们利用 LVS+Keepalived基于完整开源软件的架构可以为你提供 一个负载均衡及高可用的服务器。一. LVS+Keepalived 介绍1. LVSLVS是Linux Virtual Server的简写
2、,意即 Linux虚拟服务器,是一个虚拟的服务 器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR );八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh )。2. KeepalviedKeepalived在这里主要用作 RealServer的健康状态检查以及LoadBalanee主机和BackUP主机之间failover的实现二. 网站负载均衡拓朴图LinuxTone S>S系统简单负载均衡架构负载肉荀层I务£'故据廉足IP信息列表:名称I
3、PLVS-DR-MasterLVS-DR-BACKUPLVS-DR-VIPWEB1-RealserverWEB2-Realserver0GateWay.安装LVS和Keepalvied软件包1. 下载相关软件包#mkdir /usr/local/src/lvs#cd /usr/local/src/lvs#wget http:/www .linu /software/kernel-2.6/ipvsadm-1.24.ta
4、r.gz#wget http:/www.keepalived.Org/software/keepalived-1.1.15.tar.gz2. 安装 LVS 和 Keepalived#lsmod |grep ip_vs#un ame -r2.6.18-53.el5PAE#ln -s /usr/src/kernels/2.6.18-53.el5PAE-i686/usr/src/li nux#tar zxvf ipvsadm-1.24.tar.gz#cd ipvsadm-1.24#make && make in stall#find / -name ipvsadm # 查看 ipvs
5、adm 的位置#tar zxvf keepalived-1.1.15.tar.gz#cd keepalived-1.1.15#./c on figure&& make && make in stall#find / -name keepalived# 查看 keepalived 位置#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/#cp /usr/local/etc/syscon fig/keepalived /etc/syscon fig/#mkdir /etc/keepalived#cp
6、/usr/local/etc/keepalived/keepalived.c onf /etc/keepalived/#cp /usr/local/sb in/keepalived /usr/sb in/#service keepalived start|stop#做成系统启动服务方便管理四.配置LVS实现负载均衡1 . LVS-DR,配置LVS脚本实现负载均衡#vi /usr/local/sb in/lvs-dr.sh#!/bi n/bash# descripti on: start LVS of DirectorServer#Writte n by :NetSeek http:/www .
7、linuxton GW=# website director vip.SNS_VIP=SNS_RIP1=SNS RIP2=0./etc/rc.d/i nit.d/fu ncti onslogger $0 called with $1case "$1" instart)# set squid vip/sb in/ipvsadm -set 30 5 60/sb in/ifco nfig ethO:O $SNS_VIP broadcast $SNS_VIP netmask 2
8、55 broadcast $SNS_VIP up/sbi n/route add -host $SNS_VIP dev eth0:0/sb in/ipvsadm -A -t $SNS_VIP:80 -s wrr -p 3/sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP1:80 -g -w 1/sbi n/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP2:80 -g -w 1touch /var/lock/subsys/ipvsadm >/dev/ null 2>&1J Jstop)/s
9、b in/ipvsadm -C/sb in/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 ;the necho "ipvsadm stoped"exit 1elseecho "ipvsad
10、m OK"fi5 5*)echo "Usage: $0 start|stop|status"exit 1esacexit 02. 配置 Realserver 脚本.#vi /usr/local/sbi n/realserver.sh#!/bin/bash# description: Config realserver lo and apply noarp#Writte n by :NetSeek http:/www .linuxton SNS_VIP=./etc/rc.d/i nit.d/fu ncti onscase "
11、;$1" instart)ifconfig lo:0 $SNS_VIP netmask 55 broadcast $SNS_VIP/sbi n/route add -host $SNS_VIP dev lo:0echo "1" >/proc/sys/net/ipv4/c on f/lo/arp_ig noreecho "2" >/proc/sys/net/ipv4/c on f/lo/arp_a nnounceecho "1" >/proc/sys/net/ipv4/c on f/
12、all/arp_ig noreecho "2" >/proc/sys/net/ipv4/c on f/all/arp_a nnouncesysctl -p >/dev/null 2>&1echo "RealServer Start OK"stop)ifconfig lo:0 dow nroute del $SNS_VIP >/dev/null 2>&1echo "0" >/proc/sys/net/ipv4/c on f/lo/arp_ig noreecho "0"
13、; >/proc/sys/net/ipv4/c on f/lo/arp_a nnounceecho "0" >/proc/sys/net/ipv4/c on f/all/arp_ig noreecho "0" >/proc/sys/net/ipv4/c on f/all/arp_a nnounceecho "RealServer Stoped"*)echo "Usage: $0 start|stop"exit 1esacexit 0或者采用 secondary ip address方式配置# vi
14、 /etc/sysctl.c onfn et.ipv4.c on f.lo.arp_ig nore = 1n et.ipv4.c on f.lo.arp a nnounce = 2n et.ipv4.c on f.all.arp_ig nore = 1n et.ipv4.c on f.all.arp a nnounce = 2#sysctl -p#ip addr add /32 dev lo#ip add list查看是否绑定3. 启动lvs-dr脚本和realserver启本,在 DR上可以查看 LVS当前状态:#watch ipvsadm -n五.利用Keepalv
15、ied实现负载均衡和和高可用性1. 配置在主负载均衡服务器上配置keepalived.co nf#vi /etc/keepalived/keepalived.c onf! Con figurati on File for keepalivedglobal_defs no tificati on _email cn seek# failoverfirewall.loc# sysadm in firewall .locno tificati on _email_from sn s-lvssmtp_server # smtp_c onn ect_timeout 30router_i
16、d LVS_DEVEL# 20081013 written by :netseek# VIP1vrrpn sta nee VI_1 state MASTER#备份服务器上将 MASTER改为BACKUPin terface eth0virtual_router_id 51priority 100#备份服务上将 100改为99advert_ int 1authe nticati on auth_type PASSauth_pass 1111virtual_ipaddress #(如果有多个VIP,继续换行填写.)virtual server 80
17、 delay_loop 6 lb_algo wrr lb kind DRpersiste nce_timeout 60 protocol TCP#(每隔10秒查询realserver状态)#(lvs算法)#(Direct Route)#(同一 IP的连接60秒内被分配到同一台realserver)real_server 80 weight 3TCP_CHECK conn ect_timeout 10n b_get_retry 3 delay_before_retry 3 conn ect_port 80real_server 0 80 weig
18、ht 3TCP_CHECK connect timeout 10#(权重)#(10秒无响应超时)n b_get_retry 3 delay_before_retry 3 conn ect_port 802. BACKUP 服务器同上配置,先安装Ivs 再按装 keepalived,仍后配置 /etc/keepalived/keepalived.conf,只需将红色标示的部分改一下即可3. vi /etc/rcocal#/usr/local/sbin/lvs-dr.sh 将 Ivs-dr.sh 这个脚本注释掉。步#/usr/local/sbin/lvs-dr.sh stop 停止 lvs-dr 脚本#/etc/init.d/keepalived start启动 keepalived 服务,keepalived 就能利用 keepalived.conf 配己置文件,实现负载均衡和高可用.4. 查看lvs服务是否正常#watch ipvsadm -nIP Virtual Server ver
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课题开题报告:租赁产品对消费者行为的双刃剑影响、机理及应对策略-心理所有权缺失和负担双视角
- 医学基础知识理解训练试题及答案
- 2025企业安全管理人员安全培训考试试题及答案【新】
- 2025年台式单相砂轮机项目可行性研究报告
- 2025年分子复合材料项目可行性研究报告
- 培养学习兴趣提升育婴师考试的关键因素试题及答案
- 2025年会计师试题及答案科学备考
- 膝痹病的护理
- 婴幼儿心理健康知识试题及答案
- 微课程制作系统操作指南
- 前庭神经炎病人的护理
- (正式版)JBT 5300-2024 工业用阀门材料 选用指南
- 招标代理服务 投标方案(技术方案)
- 2024年陕西西安市长安城乡建设开发有限公司招聘笔试参考题库含答案解析
- 2011年10月自考00567马列文论选读试题及答案含解析
- 寺院宣传法治知识讲座
- 《多源图像融合技术及其遥感应用-图像融合技术》课件
- 直播带岗方案
- 瓶盖自动封装机的设计
- 无线局域网覆盖方案
- 网络安全前沿技术与未来趋势研究
评论
0/150
提交评论