研究了两天的时间终于磕磕绊绊的把lvs配置完成了,下面把过程记录下来备忘。系统环境如下
- server1:192.168.10.165 vip server linux rhel rs3 kernal 2.4.21-37
- server2:192.168.10.162 apache+resin linux rhel rs4 kernal 2.6.9-22
- server3:192.168.10.131 apache+resin linux rhel rs4 kernal 2.6.9-22
- vip:192.168.10.100
- port:7001
下面的安装是在vip server上进行的
1、查看自己的操作系统的内核 #uname -a
2、as3一般用的是2.4.21-37.EL的内核,这个内核已经包括了ipvs的补丁,进行如下的操作就可以3、下面建立一个指向,为了保证ipvsadm安装
- # modprobe ip_vs
- # cat /proc/net/ip_vs
- 出现如下的提示
- IP Virtual Server version 1.0.8 (size=65536)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- 从提示中我们可以看到,安装了1.0.8的内核,这里我们需要ipvsadm 1.21-10的版本
- # rpm -q kernel-source
- kernel-source-2.4.21-37.EL
- # cd /usr/src
- # ln -s linux-2.4.21-37.EL linux
4、重新编译和安装ipvsadm
- # rpmbuild --rebuild ipvsadm-1.21-10.src.rpm
- 重新编译的rpm文件一般会放到/usr/src/redhat/RPMS/i386下,安装该rpm文件
- # rpm -vih ipvsadm-1.21-10.i386.rpm
- 安装完成后可以通过ipvsadm命令查看是否安装成功
- # ipvsadm
- IP Virtual Server version 1.0.8 (size=65536)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
接下来配置VIP服务器
5、配置VIP脚本
接下来重新启动一下 reboot / init 6,启动后运行刚才的脚本,会出现下面的显示,说明配置成功了!
- IP Virtual Server version 1.0.8 (size=65536)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- TCP 192.168.8.100:7001 rr
- -> 192.168.36.108:7001 Route 1 0 0
- -> 192.168.8.162:7001 Route 1 0 0
cpp 代码
- #!/bin/sh
- #create in 20070509 by yezi
- # description: start LVS of Directorserver
- VIP=192.168.8.100
- RIP1=192.168.8.162
- RIP2=192.168.8.131
- #RIPn=192.168.0.128~254
- GW=192.168.8.254
-
- . /etc/rc.d/init.d/functions
-
- case "$1" in
- start)
- echo " start LVS of DirectorServer"
- # set the Virtual IP Address
- /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
- /sbin/route add -host $VIP dev eth0:0
- #Clear IPVS table
- /sbin/ipvsadm -C
- #set LVS
- /sbin/ipvsadm -A -t $VIP:7001 -s rr
- /sbin/ipvsadm -a -t $VIP:7001 -r $RIP1:7001 -g
- /sbin/ipvsadm -a -t $VIP:7001 -r $RIP2:7001 -g
- #/sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -g
- #Run LVS
- /sbin/ipvsadm
- #end
- ;;
- stop)
- echo "close LVS Directorserver"
- /sbin/ipvsadm -C
- ;;
- *)
- echo "Usage: $0 {start|stop}"
- exit 1
- esac
接下来配置realserver
6、配置realserver脚本
- #!/bin/bash
- #description : start realserver
- VIP=192.168.8.100
- /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
- /sbin/route add -host $VIP dev lo: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
- #end
分别在两台realserver上运行该脚本,然后重新启动resin和apache,至此配置已经完成了,下面来看看测试的过程
首先在vip server上打开控制台,你会看见lvs的列表:
cpp 代码
- # ipvsadm -Ln
- IP Virtual Server version 1.0.8 (size=65536)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- TCP 192.168.8.100:7001 rr
- -> 192.168.8.131:7001 Route 1 0 0
- -> 192.168.8.162:7001 Route 1 0 0
从这里我们可以看到有两台realserver在后台提供转发后的访问,打开浏览器,输入http://192.168.8.100:7001/xxx,浏览器会返回你访问的web的结果,在打开另外一个浏览器输入同样的地址,返回同样的结果,然后回到控制台看看情况:
- IP Virtual Server version 1.0.8 (size=65536)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- TCP 192.168.8.100:7001 rr
- -> 192.168.8.131:7001 Route 1 0 1
- -> 192.168.8.162:7001 Route 1 0 1
发现InActConn变成了1,表示两个服务器都接收到了转发,同时还可以打开apache的log,会发现刚才的web访问已经发送到两台realserver了,表明配置成功了!
ipvsadm命令
下面看看lvs控制台的基本命令
添加一个Service
- # ipvsadm -A -t 192.168.8.100:80 -s rr
- rr:表示轮询的方法,缺省为wcl
添加一个realserver
- # ipvsadm -a -t 192.168.8.100:80 -r 192.168.8.180:80 -g
- -a:添加一个realserver
- -r:realserver的地址
- -g:缺省参数
修改realserver
- # ipvsadm -e -t 192.168.8.100:80 -r 192.168.8.180:80 -w 100
- -e:修改-r参数的realserver
- -w:lvs转发通道的处理能力
分享到:
相关推荐
### LVS负载均衡配置详解 #### 一、LVS简介 LVS(Linux Virtual Server)是一种先进的集群技术,主要用于构建高性能、高可用性的服务器集群。它通过IP负载均衡技术和基于内容请求分发技术来实现这一目标。具体而言...
本文主要阐述如何在 Linux 系统下快速实现负载均衡,介绍了使用 LVS(Linux Virtual Server)搭建负载均衡集群的原理和实现方法。 一、负载均衡的定义和原理 负载均衡是指将外部请求分配到多台服务器上,以提高系统...
LVS (Linux Virtual Server) 是一种在 Linux 平台上实现负载均衡的技术。它可以有效地将大量的网络请求分发到多个后端服务器上处理,从而提高系统的整体响应速度和服务能力。LVS 项目由章文嵩博士于 1998 年发起,...
### LINUX集群LVS负载均衡配置知识点详解 #### 一、LVS概述与基本原理 **LVS**(Linux Virtual Server)是一种开源的负载均衡技术,主要用于实现高性能的Web服务器集群。它通过一个虚拟的IP地址(VIP)对外提供...
### Linux下的负载均衡集群LVS实现分析与测试 #### LVS结构与工作原理 Linux Virtual Server(LVS)是一种在Linux环境下实现的负载均衡技术,主要用于处理大规模并发访问的需求,通过将多台服务器组成集群来分担...
Ipvsadm命令是LVS负载均衡集群的管理命令,通过Ipvsadm命令,可以实现负载均衡集群的配置、管理和监控。 LVS负载均衡集群的调度算法是整个集群的核心,通过调度算法,可以实现客户端请求的分发和负载均衡。常见的...
本文将详细介绍如何在 Red Hat 6.5 操作系统下利用 VMware Workstation 构建基于 Keepalived 和 LVS-DR 的高可用负载均衡集群,并深入探讨其工作原理和配置步骤。 #### 二、Keepalived 原理与配置 ##### 1. ...
【LVS负载均衡详解】 LVS,全称Linux Virtual Server,是Linux系统中的一种高性能的负载均衡技术,由章文嵩博士发起并维护,旨在提供一个高质量的虚拟服务器集群解决方案。LVS作为开源项目,其官方网站为...
### LVS实现网络负载均衡实例精讲 #### 一、LVS概述与背景 随着互联网用户的快速增长,服务器面临着巨大的访问压力。特别是在1990年代末期至2000年代初期,随着互联网用户数量的急剧增加(例如,1998年全球互联网...
本文档中所描述的具体业务场景是以CentOS Linux release 6.0 (Final)操作系统为基础,使用LVS+Keepalived实现高可用负载均衡。系统架构如图2所示,其中负载均衡服务器负责将客户端对VIP的访问请求转发至后端的真实...
总的来说,这篇文档为读者提供了关于LVS负载均衡集群系统的概念、架构和实施步骤的全面介绍,适合那些需要构建经济高效、可扩展的Linux集群系统的企业或个人参考。通过LVS,不仅可以提高服务的可用性,还能确保系统...
这样,你就完成了在Linux(特别是RedHat 5)下的基本LVS负载均衡配置。 值得注意的是,LVS支持多种调度算法,如轮询(rr)、最少连接(lc)、短连接优先(wrr/wlc)等,可以根据实际需求选择合适的策略。此外,LVS...
在虚拟机中实现 LVS 负载均衡需要配置 LVS director 和 real 服务器,并进行相应的设置和配置。下面是实现 LVS 负载均衡的详细步骤和知识点: 一、LVS 负载均衡的基本概念 LVS(Linux Virtual Server)是一种基于 ...
它主要通过IP负载均衡技术在多个服务器之间分配网络或应用程序的负载,以实现对网络服务请求的合理调度,保证服务的高可用性、高效性和稳定性。 在讨论LVS集群与负载均衡时,通常涉及到以下几个关键技术点: 1. ...
在高可用性和负载均衡的场景中,每个后端服务器都需要安装并配置VSFTPd,以便接收来自LVS的连接。 **配置步骤**: 1. **安装LVS和Keepalived** 首先,在所有涉及的服务器上安装LVS和Keepalived。在Debian/Ubuntu...
LVS负载均衡器的调度算法有很多种,例如轮询(Round Robin)、最少连接(Least Connections)、短连接优先(Shortest Connection First)等,可以根据实际需求选择合适的算法来分配请求。 在“LVS-master”这个...
lvs负载均衡集群是基于Linux操作系统的高可用性集群解决方案,通过将多个Real Server集成到一个虚拟的IP地址(Virtual IP,VIP)上,来实现对外提供服务的目的。下面将对lvs负载均衡集群的实验步骤进行详细的讲解。 ...
- **LVS负载均衡**:LVS作为核心负载均衡器,根据预设的策略,如轮询、最少连接、IP哈希等,将流量分配到各个服务器,确保负载的均衡分布。 3. **环境测试** 在部署完成后,需要对每个组件进行测试,确保它们能...