`
yezi
  • 浏览: 280078 次
  • 来自: 北京
社区版块
存档分类
最新评论

关于linux下用lvs实现负载均衡的配置过程

阅读更多

研究了两天的时间终于磕磕绊绊的把lvs配置完成了,下面把过程记录下来备忘。系统环境如下

  1. server1:192.168.10.165  vip server    linux rhel rs3 kernal 2.4.21-37
  2. server2:192.168.10.162  apache+resin  linux rhel rs4 kernal 2.6.9-22
  3. server3:192.168.10.131  apache+resin  linux rhel rs4 kernal 2.6.9-22  
  4. vip:192.168.10.100   
  5. port:7001  

下面的安装是在vip server上进行的

1、查看自己的操作系统的内核 #uname -a

2、as3一般用的是2.4.21-37.EL的内核,这个内核已经包括了ipvs的补丁,进行如下的操作就可以3、下面建立一个指向,为了保证ipvsadm安装

  1.     # modprobe ip_vs   
  2.     # cat /proc/net/ip_vs   
  3.     出现如下的提示   
  4.     IP Virtual Server version 1.0.8 (size=65536)   
  5.     Prot LocalAddress:Port Scheduler Flags   
  6.         -> RemoteAddress:Port Forward Weight ActiveConn InActConn   
  7.     从提示中我们可以看到,安装了1.0.8的内核,这里我们需要ipvsadm 1.21-10的版本  

 

  1. # rpm -q kernel-source     
  2.         kernel-source-2.4.21-37.EL   
  3. # cd /usr/src   
  4. # ln -s linux-2.4.21-37.EL linux  

4、重新编译和安装ipvsadm

  1. # rpmbuild --rebuild ipvsadm-1.21-10.src.rpm   
  2. 重新编译的rpm文件一般会放到/usr/src/redhat/RPMS/i386下,安装该rpm文件   
  3. # rpm -vih ipvsadm-1.21-10.i386.rpm   
  4. 安装完成后可以通过ipvsadm命令查看是否安装成功   
  5. # ipvsadm   
  6.     IP Virtual Server version 1.0.8 (size=65536)   
  7.     Prot LocalAddress:Port Scheduler Flags   
  8.         -> RemoteAddress:Port           Forward Weight ActiveConn InActConn   

接下来配置VIP服务器

5、配置VIP脚本

接下来重新启动一下 reboot / init 6,启动后运行刚才的脚本,会出现下面的显示,说明配置成功了!

  1. IP Virtual Server version 1.0.8 (size=65536)   
  2. Prot LocalAddress:Port Scheduler Flags   
  3.   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn   
  4. TCP  192.168.8.100:7001 rr   
  5.   -> 192.168.36.108:7001          Route   1      0          0            
  6.   -> 192.168.8.162:7001           Route   1      0          0  

 

cpp 代码
  1. #!/bin/sh   
  2. #create in 20070509 by yezi   
  3. # description: start LVS   of  Directorserver   
  4. VIP=192.168.8.100   
  5. RIP1=192.168.8.162   
  6. RIP2=192.168.8.131   
  7. #RIPn=192.168.0.128~254   
  8. GW=192.168.8.254   
  9.   
  10. . /etc/rc.d/init.d/functions   
  11.   
  12. case "$1" in   
  13.     start)   
  14.         echo " start LVS  of DirectorServer"  
  15.        # set the Virtual  IP Address   
  16.        /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up   
  17.        /sbin/route add -host $VIP dev eth0:0   
  18.        #Clear IPVS table   
  19.        /sbin/ipvsadm -C   
  20.       #set LVS   
  21.       /sbin/ipvsadm -A -t $VIP:7001 -s rr   
  22.       /sbin/ipvsadm -a -t $VIP:7001 -r $RIP1:7001 -g   
  23.       /sbin/ipvsadm -a -t $VIP:7001 -r $RIP2:7001 -g   
  24.       #/sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -g   
  25.       #Run LVS   
  26.       /sbin/ipvsadm   
  27.       #end   
  28.       ;;   
  29.     stop)   
  30.         echo "close LVS Directorserver"  
  31.         /sbin/ipvsadm -C   
  32.       ;;   
  33.     *)   
  34.         echo "Usage: $0 {start|stop}"  
  35.         exit 1   
  36. esac  

接下来配置realserver

6、配置realserver脚本

  1. #!/bin/bash    
  2. #description : start realserver     
  3. VIP=192.168.8.100   
  4. /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up   
  5. /sbin/route add -host $VIP dev lo:0   
  6. echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore   
  7. echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce   
  8. echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore   
  9. echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce   
  10. sysctl -p   
  11. #end  

分别在两台realserver上运行该脚本,然后重新启动resin和apache,至此配置已经完成了,下面来看看测试的过程

首先在vip server上打开控制台,你会看见lvs的列表:

cpp 代码
  1. # ipvsadm -Ln   
  2. IP Virtual Server version 1.0.8 (size=65536)   
  3. Prot LocalAddress:Port Scheduler Flags   
  4.   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn   
  5. TCP  192.168.8.100:7001 rr   
  6.   -> 192.168.8.131:7001           Route   1      0          0            
  7.   -> 192.168.8.162:7001           Route   1      0          0  

从这里我们可以看到有两台realserver在后台提供转发后的访问,打开浏览器,输入http://192.168.8.100:7001/xxx,浏览器会返回你访问的web的结果,在打开另外一个浏览器输入同样的地址,返回同样的结果,然后回到控制台看看情况:

  1. IP Virtual Server version 1.0.8 (size=65536)   
  2. Prot LocalAddress:Port Scheduler Flags   
  3.   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn   
  4. TCP  192.168.8.100:7001 rr   
  5.   -> 192.168.8.131:7001           Route   1      0          1            
  6.   -> 192.168.8.162:7001           Route   1      0          1    

发现InActConn变成了1,表示两个服务器都接收到了转发,同时还可以打开apache的log,会发现刚才的web访问已经发送到两台realserver了,表明配置成功了!

ipvsadm命令

下面看看lvs控制台的基本命令

添加一个Service
  1. # ipvsadm -A -t 192.168.8.100:80 -s rr      
  2. rr:表示轮询的方法,缺省为wcl  
添加一个realserver
  1. # ipvsadm -a -t 192.168.8.100:80 -r 192.168.8.180:80 -g    
  2. -a:添加一个realserver   
  3. -r:realserver的地址   
  4. -g:缺省参数   
修改realserver
  1. # ipvsadm -e -t 192.168.8.100:80 -r 192.168.8.180:80 -w 100   
  2. -e:修改-r参数的realserver   
  3. -w:lvs转发通道的处理能力  
分享到:
评论
1 楼 mingxiao2010 2011-02-02  
正在看这个东西,thanks!

相关推荐

    LVS 负载均衡配置参考

    ### LVS负载均衡配置详解 #### 一、LVS简介 LVS(Linux Virtual Server)是一种先进的集群技术,主要用于构建高性能、高可用性的服务器集群。它通过IP负载均衡技术和基于内容请求分发技术来实现这一目标。具体而言...

    Linux下快速实现负载均衡.pdf

    本文主要阐述如何在 Linux 系统下快速实现负载均衡,介绍了使用 LVS(Linux Virtual Server)搭建负载均衡集群的原理和实现方法。 一、负载均衡的定义和原理 负载均衡是指将外部请求分配到多台服务器上,以提高系统...

    lvs实现负载均衡

    LVS (Linux Virtual Server) 是一种在 Linux 平台上实现负载均衡的技术。它可以有效地将大量的网络请求分发到多个后端服务器上处理,从而提高系统的整体响应速度和服务能力。LVS 项目由章文嵩博士于 1998 年发起,...

    LINUX集群LVS负载均衡配置.pdf

    ### LINUX集群LVS负载均衡配置知识点详解 #### 一、LVS概述与基本原理 **LVS**(Linux Virtual Server)是一种开源的负载均衡技术,主要用于实现高性能的Web服务器集群。它通过一个虚拟的IP地址(VIP)对外提供...

    Linux下的负载均衡集群LVS实现分析与测试.pdf

    ### Linux下的负载均衡集群LVS实现分析与测试 #### LVS结构与工作原理 Linux Virtual Server(LVS)是一种在Linux环境下实现的负载均衡技术,主要用于处理大规模并发访问的需求,通过将多台服务器组成集群来分担...

    lvs负载均衡集群详解

    Ipvsadm命令是LVS负载均衡集群的管理命令,通过Ipvsadm命令,可以实现负载均衡集群的配置、管理和监控。 LVS负载均衡集群的调度算法是整个集群的核心,通过调度算法,可以实现客户端请求的分发和负载均衡。常见的...

    keepalived+lvs集群负载均衡配置

    本文将详细介绍如何在 Red Hat 6.5 操作系统下利用 VMware Workstation 构建基于 Keepalived 和 LVS-DR 的高可用负载均衡集群,并深入探讨其工作原理和配置步骤。 #### 二、Keepalived 原理与配置 ##### 1. ...

    LVS负载均衡

    【LVS负载均衡详解】 LVS,全称Linux Virtual Server,是Linux系统中的一种高性能的负载均衡技术,由章文嵩博士发起并维护,旨在提供一个高质量的虚拟服务器集群解决方案。LVS作为开源项目,其官方网站为...

    LVS实现网络负载均衡实例精讲

    ### LVS实现网络负载均衡实例精讲 #### 一、LVS概述与背景 随着互联网用户的快速增长,服务器面临着巨大的访问压力。特别是在1990年代末期至2000年代初期,随着互联网用户数量的急剧增加(例如,1998年全球互联网...

    LVS+Keepalived实现高可用负载均衡

    本文档中所描述的具体业务场景是以CentOS Linux release 6.0 (Final)操作系统为基础,使用LVS+Keepalived实现高可用负载均衡。系统架构如图2所示,其中负载均衡服务器负责将客户端对VIP的访问请求转发至后端的真实...

    用LVS构架负载均衡的Linux集群系统.pdf

    总的来说,这篇文档为读者提供了关于LVS负载均衡集群系统的概念、架构和实施步骤的全面介绍,适合那些需要构建经济高效、可扩展的Linux集群系统的企业或个人参考。通过LVS,不仅可以提高服务的可用性,还能确保系统...

    linux下实现负载均衡

    这样,你就完成了在Linux(特别是RedHat 5)下的基本LVS负载均衡配置。 值得注意的是,LVS支持多种调度算法,如轮询(rr)、最少连接(lc)、短连接优先(wrr/wlc)等,可以根据实际需求选择合适的策略。此外,LVS...

    虚拟机中Lvs的负载均衡实验

    在虚拟机中实现 LVS 负载均衡需要配置 LVS director 和 real 服务器,并进行相应的设置和配置。下面是实现 LVS 负载均衡的详细步骤和知识点: 一、LVS 负载均衡的基本概念 LVS(Linux Virtual Server)是一种基于 ...

    LVS集群与负载均衡

    它主要通过IP负载均衡技术在多个服务器之间分配网络或应用程序的负载,以实现对网络服务请求的合理调度,保证服务的高可用性、高效性和稳定性。 在讨论LVS集群与负载均衡时,通常涉及到以下几个关键技术点: 1. ...

    lvs+keepalived+vsftp配置FTP服务器负载均衡

    在高可用性和负载均衡的场景中,每个后端服务器都需要安装并配置VSFTPd,以便接收来自LVS的连接。 **配置步骤**: 1. **安装LVS和Keepalived** 首先,在所有涉及的服务器上安装LVS和Keepalived。在Debian/Ubuntu...

    lvs负载均衡源码

    LVS负载均衡器的调度算法有很多种,例如轮询(Round Robin)、最少连接(Least Connections)、短连接优先(Shortest Connection First)等,可以根据实际需求选择合适的算法来分配请求。 在“LVS-master”这个...

    lvs负载均衡集群实验.docx

    lvs负载均衡集群是基于Linux操作系统的高可用性集群解决方案,通过将多个Real Server集成到一个虚拟的IP地址(Virtual IP,VIP)上,来实现对外提供服务的目的。下面将对lvs负载均衡集群的实验步骤进行详细的讲解。 ...

    基于LVS负载均衡的高性能Web站点设计与实现

    - **LVS负载均衡**:LVS作为核心负载均衡器,根据预设的策略,如轮询、最少连接、IP哈希等,将流量分配到各个服务器,确保负载的均衡分布。 3. **环境测试** 在部署完成后,需要对每个组件进行测试,确保它们能...

Global site tag (gtag.js) - Google Analytics