第六章LINUX系统下配置lvs负载均衡集群

合集下载

linux lvs 配置

linux lvs 配置

Linux负载均衡一、LVS概述及原理LVS是一个开源的软件,由毕业于国防科技大学的章文嵩博士于1998年5月创立,可以实现LINUX平台下的简单负载均衡。

LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器。

LVS集群采用IP负载均衡技术和基于内容请求分发技术。

调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。

整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。

为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。

一般来说,LVS集群采用三层结构,其主要组成部分为:1) 负载调度器(load balancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。

2) 服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。

3) 共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。

调度器是服务器集群系统的唯一入口点(Single Entry Point),它可以采用IP 负载均衡技术、基于内容请求分发技术或者两者相结合。

在IP负载均衡技术中,需要服务器池拥有相同的内容提供相同的服务。

当客户请求到达时,调度器只根据服务器负载情况和设定的调度算法从服务器池中选出一个服务器,将该请求转发到选出的服务器,并记录这个调度;当这个请求的其他报文到达,也会被转发到前面选出的服务器。

在基于内容请求分发技术中,服务器可以提供不同的服务,当客户请求到达时,调度器可根据请求的内容选择服务器执行请求。

因为所有的操作都是在Linux操作系统核心空间中将完成的,它的调度开销很小,所以它具有很高的吞吐率。

如何配置LVSNAT、LVSTUN、LVSDR方式的负载均衡集群

如何配置LVSNAT、LVSTUN、LVSDR方式的负载均衡集群

如何配置LVS/NAT、LVS/TUN、LVS/DR方式的负载均衡集群2010年10月28日星期四下午 02:29转载自yupanlovehlq最终编辑yupanlovehlq实例理解了上述关于请求转发方式和调度算法的基本概念后,就可以运用LVS来具体实现几种不同方式的负载均衡的集群系统。

LVS的配置是通过前面所安装的IP虚拟服务器软件ipvsadm来实现的。

ipvsadm与LVS的关系类似于 iptables和NetFilter的关系,前者只是一个建立和修改规则的工具,这些命令的作用在系统重新启动后就消失了,所以应该将这些命令写到一个脚本里,然后让它在系统启动后自动执行。

网上有不少配置LVS的工具,有的甚至可以自动生成脚本。

但是自己手工编写有助于更深入地了解,所以本文的安装没有利用其它第三方提供的脚本,而是纯粹使用ipvsadm命令来配置。

下面就介绍一下如何配置LVS/NAT、LVS/TUN、LVS/DR方式的负载均衡集群。

1.设定LVS/NAT方式的负载均衡集群NAT是指Network Address Translation,它的转发流程是:Director机器收到外界请求,改写数据包的目标地址,按相应的调度算法将其发送到相应Real Server上,Real Server处理完该请求后,将结果数据包返回到其默认网关,即Director机器上,Director机器再改写数据包的源地址,最后将其返回给外界。

这样就完成一次负载调度。

构架一个最简单的LVS/NAT方式的负载均衡集群如图2所示。

图2 LVS/NAT方式的集群简图Real Server可以是任何的操作系统,而且无需做任何特殊的设定,惟一要做的就是将其默认网关指向Director机器。

Real Server可以使用局域网的内部IP(192.168.0.0/24)。

Director要有两块网卡,一块网卡绑定一个外部IP地址 (10.0.0.1),另一块网卡绑定局域网的内部IP(192.168.0.254),作为Real Server的默认网关。

Linux负载均衡集群配置详解

Linux负载均衡集群配置详解

Linux服务器负载均衡集群配置1.1 负载均衡集群配置1.1.1 配置DR(1)在DR上初始化piranha的密码# piranha-passwd输入两遍密码teleepoch即可。

(2)在DR上启动需要的服务# service piranha-gui start(3)在DR上使用piranha工具配置LVS首先在浏览器中输入http://127.0.0.1:3636打开piranha,输入用户名:piranha,密码:teleepoch上面设置的密码。

登录后将看到监视屏幕。

配置Global Settings(是对DR的配置)点击Direct Routing,然后输入公网IP:192.168.1.141,和局域网IP:10.0.0.1。

点击ACCEPT按钮保存设置。

点击VIRTUAL SERVERS进入服务控制页面,点击ADD按钮添加一个服务。

选中服务按钮,点击EDIT。

Name:服务名称, webApplication port:服务端口,80Protocol:协议,tcpVirtual IP Address:虚拟IP地址,192.168.1.140 Virtual IP Network Mask: 虚拟IP掩码,255.255.255.0 Firewall Mark: 防火墙标记,不用Device:设备,eth0:1Re-entry Time:重试时间,15Service timeout:服务超时,6Queesce server:不用Load monitoring tool:服务监控工具Scheduling:调度算法,Persistence:不用Persistence Network Mask:不用配置完成后点击ACCEPT按钮保存设置。

点击REAL SERVER连接,配置Real Server。

点击ADD按钮添加一个节点,点击EDIT按钮编辑节点,点击(DE)ACTIVATE按钮激活节点。

Linux负载均衡

Linux负载均衡

Linux负载均衡软件LVS(概念篇)一、 LVS简介LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是。

现在LVS已经是 Linux 标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能。

使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。

从而以低廉的成本实现最优的服务性能。

LVS自从1998年开始,发展到现在已经是一个比较成熟的技术项目了。

可以利用LVS技术实现高可伸缩的、高可用的网络服务,例如WWW服务、Cache服务、DNS服务、FTP服务、MAIL服务、视频/音频点播服务等等,有许多比较著名网站和组织都在使用LVS架设的集群系统,例如:Linux的门户网站()、向RealPlayer提供音频视频服务而闻名的Real公司()、全球最大的开源网站()等。

二、 LVS体系结构使用LVS架设的服务器集群系统有三个部分组成:最前端的负载均衡层,用Load Balancer 表示,中间的服务器群组层,用Server Array表示,最底端的数据共享存储层,用Shared Storage表示,在用户看来,所有的内部应用都是透明的,用户只是在使用一个虚拟服务器提供的高性能服务。

LVS体系结构如图1所示:图1 LVS的体系结构下面对LVS的各个组成部分进行详细介绍:Load Balancer层:位于整个集群系统的最前端,有一台或者多台负载调度器(Director Server)组成,LVS模块就安装在Director Server上,而Director的主要作用类似于一个路由器,它含有完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给Server Array层的应用服务器(Real Server)上。

linux virtrul server(LVS负载均衡服务器)

linux virtrul server(LVS负载均衡服务器)

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配置信息:∙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/software/kernel-2.6/ipvsadm-1.24.tar.gz #wget/software/keepalived-1.1.15.tar.gz2. 安装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∙#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/sysconfig/∙#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脚本实现负载均衡vi /usr/local/sbin/lvs-dr.sh#!/bin/bash# description: start LVS of DirectorServer#Written by :NetSeekGW=192.168.2.253# website director vip.WEB_VIP=192.168.2.170WEB_RIP1=192.168.2.171WEB_RIP2=192.168.2.172. /etc/rc.d/init.d/functionslogger $0 called with $1case "$1" instart)# Clear all iptables rules./sbin/iptables -F# Reset iptables counters./sbin/iptables -Z# Clear all ipvsadm rules/services./sbin/ipvsadm -C#set lvs vip for dr/sbin/ipvsadm --set 30 5 60/sbin/ifconfig eth0:0 $WEB_VIP broadcast $WEB_VIP netmask 255.255.255.255 up/sbin/route add -host $WEB_VIP dev eth0:0/sbin/ipvsadm -A -t $WEB_VIP:80 -s wrr -p 3/sbin/ipvsadm -a -t $WEB_VIP:80 -r $WEB_RIP1:80 -g -w 1/sbin/ipvsadm -a -t $WEB_VIP:80 -r $WEB_RIP2:80 -g -w 1touch /var/lock/subsys/ipvsadm >/dev/null 2>&1# set Arp/sbin/arping -I eth0 -c 5 -s $WEB_VIP $GW >/dev/null 2>&1 ;;stop)/sbin/ipvsadm -C/sbin/ipvsadm -Zifconfig eth0:0 downroute del $WEB_VIP >/dev/null 2>&1rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1/sbin/arping -I eth0 -c 5 -s $WEB_VIP $GWecho "ipvsadm stoped";;status)if [ ! -e /var/lock/subsys/ipvsadm ];thenecho "ipvsadm is stoped"exit 1elseipvsadm -lnecho "..........ipvsadm is OK."fi;;*)echo "Usage: $0 {start|stop|status}"exit 1esacexit 02.配置Realserver脚本.#!/bin/bash# Written by NetSeek# description: Config realserver lo and apply noarpWEB_VIP=192.168.2.170. /etc/rc.d/init.d/functionscase "$1" instart)ifconfig lo:0 $WEB_VIP netmask 255.255.255.255 broadcast $WEB_VIP /sbin/route add -host $WEB_VIP dev lo:0echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "1" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/all/arp_announcesysctl -p >/dev/null 2>&1echo "RealServer Start OK";;stop)ifconfig lo:0 downroute del $WEB_VIP >/dev/null 2>&1echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "0" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "0" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "0" >/proc/sys/net/ipv4/conf/all/arp_announceecho "RealServer Stoped";;status)# Status of LVS-DR real server.islothere=`/sbin/ifconfig lo:0 | grep $WEB_VIP`isrothere=`netstat -rn | grep "lo:0" | grep $web_VIP`if [ ! "$islothere" -o ! "isrothere" ];then# Either the route or the lo:0 device# not found.echo "LVS-DR real server Stopped."elseecho "LVS-DR Running."fi;;*)# Invalid entry.echo "$0: Usage: $0 {start|status|stop}"exit 1;;esacexit 0附上realserver机上的/etc/sysctl.conf:# Kernel sysctl configuration file for Red Hat Linux## For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and# sysctl.conf(5) for more details.# Controls IP packet forwardingnet.ipv4.ip_forward = 1# Controls source route verificationnet.ipv4.conf.default.rp_filter = 1# Do not accept source routingnet.ipv4.conf.default.accept_source_route = 0# Controls the System Request debugging functionality of the kernel kernel.sysrq = 0# Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications.kernel.core_uses_pid = 1net.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2或者采用secondary ip address方式配置# vi /etc/sysctl.conf添加以下内容如上所示:net.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2#sysctl –p#ip addr add 61.164.122.8/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 keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_fromAlexandre.Cassen@firewall.locsmtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVEL}vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.2.170}}virtual_server 192.168.2.170 80 {delay_loop 6lb_algo wrrlb_kind DRpersistence_timeout 60protocol TCPreal_server 192.168.2.171 80 {weight 3TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 192.168.2.172 80 {weight 3TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}}在备用调度器上:#vi /etc/keepalived/keepalived.conf (备用调度器) ! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_fromAlexandre.Cassen@firewall.locsmtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVEL}vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 51priority 99advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.2.170}}virtual_server 192.168.2.170 80 {delay_loop 6lb_algo wrrlb_kind DRpersistence_timeout 60protocol TCPreal_server 192.168.2.171 80 {weight 3TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 192.168.2.172 80 {weight 3TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}}2. BACKUP服务器同上配置,先安装lvs再按装keepalived,仍后配置/etc/keepalived/keepalived.conf,只需将红色标示的部分改一下即可.3. vi /etc/rc.local#/usr/local/sbin/lvs-dr.sh 将lvs-dr.sh这个脚本注释掉。

Linux中LVS负载均衡群集

Linux中LVS负载均衡群集

一配置存储设备1按拓扑图配置ip地址2安装nfs共享服务3创建共享文件5给其他用户写的权限6启动nfs服务7查看共享文件二配置节点服务器1配置web1的节点服务器1.1按拓扑配置ip地址1.2挂在由存储服务器提供的/opt/wwwroot1.3查看挂在1.5启动httpd服务1.6再在存储服务器上查看写的网页文件已存放上来2配置web2的节点服务器(步骤同web1的方法一样)三配置调度服务器1按拓扑图配置各个ip地址2添加模块输入命令modprobe ip_vs3开启路由功能4放火墙写规则5安装ipvsadm包6创建虚拟服务器7添加服务器节点8保存并启动ipvsadm服务9验证去xp客户机上访问网站202.106.195.1多次访问10用ipvsadm -Lnc命令查看负责直接路由模式(LVS-DR)一台LVS调度服务器(连个ip地址)一案拓扑图配置各个设备的ip地址二配置存储服务器(步骤同实验一)三配置节点服务器1配置web1的节点服务器1.1按拓扑配置ip地址1.2挂在由存储服务器提供的/opt/wwwroot1.3查看挂在1.4写网页文件1.5启动httpd服务1.6再在存储服务器上查看写的网页文件已存放上来1.7配置虚拟vip来实现负载均衡1.7.1复制虚拟网卡(注意了这的1.7.2修改虚拟ip地址(注意调度web都是这样配置虚拟ip的子网掩码是广播IP地址仅用于发送WEB响应数据包的源地址,不监听客户请求,由调度服务器监听和分发请求1.7.3将访问VIP的数据限制在本地避免通讯混乱1.7.4调整LINUX内核ARP响应参数,阻止更新VIP的MAC地址,避免冲突1.7.5重启机1.7.6启机后查看路由ip2配置web2的节点服务器(步骤同web1的方法一样)四配置调度服务器1复制外网网卡做虚拟ip2修改内核文件(调度服务器和节点服务器公用VIP,为避免ARP解析异常,关闭LINUX内核重定向参数响应)3重启服务器4安装ipvsadm包5添加模块6创建虚拟服务器7添加节点8保存启动ipvsadm。

LVS集群之十种调度算法及负载均衡

LVS集群之十种调度算法及负载均衡

一、LVS概念LVS(Linux Virtual Server):Linux 虚拟服务器LVS是个负载均衡设备,它不提供任何服务,用户请求到这里的时候,它是将客户需求转发至后端真正提供服务的服务,所以说后端的服务称作real server。

LVS分为两段,前一段称为ipvsadm(管理集群服务的命令行工具),后面一段叫做ipvs(内核模块)【提示:LVS和iptables不能同时使用】。

二、LVS类型LB(Load Balancing):负载均衡集群特性:为了增加能力HA(High Availability):高可用集群特性:提供服务的可用性(一年在线时间达到99.999%才行)计算方法:在线时间/(在线时间/故障处理时间)HP([HPC]High Performance):高性能集群特性:提供服务的性能三、LVS组成结构(负载均衡实现方案)基于DNS域名轮流解析的方法基于客户端调度访问的方法基于应用层系统负载的调度方法基于IP地址的调度方法其中基于IP的负载调度算法中,IP负载均衡技术是执行效率最高的四、LVS十种调度算法1、静态调度:①rr(Round Robin):轮询调度,轮叫调度轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。

算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。

【提示:这里是不考虑每台服务器的处理能力】②wrr:weight,加权(以权重之间的比例实现在各主机之间进行调度)由于每台服务器的配置、安装的业务应用等不同,其处理能力会不一样。

所以,我们根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。

③sh:source hashing,源地址散列。

主要实现会话绑定,能够将此前建立的session信息保留了源地址散列调度算法正好与目标地址散列调度算法相反,它根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的并且没有超负荷,将请求发送到该服务器,否则返回空。

Linux中的LVS网络负载技术介绍

Linux中的LVS网络负载技术介绍

LVS集群中的IP负载均衡技术介绍NLB是Windows下网络负载平衡技术。

它可以保证几台win机器之间,通过配置后,利用广播或组播方式,使得虚拟ip地址同时均匀的分布在每台或者指定的几台win机器上,从而实服务器现网络负载。

相信这个大家都比较熟。

但我们今天讨论的是Linux下的情况。

问题就在于:Linux中有类似windows的nlb的技术吗?有又如何实现的呢?答案肯定是肯定的。

不但有,而且很多。

除了我们今天要讲的LVS外,还有LNLB、HAproxy、Pound等第三方Linux软件。

接下来我们来看一幅LVS虚拟服务拓扑图:这张图所展示的,内容很简单的:就是终端通过网络连接到一台平衡服务器上,然后平衡服务器将终端的连接,转发给LAN网或WAN网中服务器。

简单的1说,这就是LVS的基本原理。

LVS简单吧!在LVS项目中,把图中的前置平衡服务器称之为Director Server(DR),后置的实际服务器称之为Real Server (RS)。

看着这拓扑案例图,也许,大家很快就想到一个问题:DR机宕了怎么办?不就OVER了吗?是啊!这涉及到一个HA(High-Availability)高可用性问题。

要保证DR服务器的冗余安全,可采用Heartbeat建主备来解决此问题。

但HA 的问题,我们不打算在这里讨论。

另外一个问题也许你想到了,也许你还没留意到。

那就是重定向问题,如何保证Director Service能将来自同一个Client的请求发给同一个RealServer呢?LVS可通过服务Persistent参数来设置。

那问题是,“来自同一个客户”是基于IP的客户端还是基于浏览器客户端的Cookie呢?LVS 还有另一参数[-M netmask]。

所以说应该是基于源地址.它指出源地址的匹配方式。

-p900-M255.255.255.0就是掩码后网络地址相同的请求使用同一个模板。

***********************************************************************************关于MAN命令中对-P和-M参数的说明。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用ipvsadm工具4-4 保存负载分配策略 导出工具:ipvsadm-save 导入工具: ipvsadm-restore [root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm [root@localhost ~]# cat /etc/sysconfig/ipvsadm 系统服务: /etc/init.d/ipvsadm -A -t 172.16.16.172:http -s rr 默认策略文件:/etc/sysconfig/ipvsadm -a -t 172.16.16.172:http -r 192.168.7.21:http -m -w 1 -a -t 172.16.16.172:http -r 192.168.7.22:http -m -w 1 -a -t 172.16.16.172:http -r 192.168.7.23:http -m -w 1 [root@localhost ~]# service ipvsadm stop [root@localhost ~]# service ipvsadm start
[root@localhost ~]# modprobe ip_vs [root@localhost ~]# cat /proc/net/ip_vs IP Virtual Server version 1.2.1 (size=4096) 确认内核对LVS的支持 Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
小结
请思考:
常见的服务器群集有哪几种类型?
使用ipvsadm建立LVS群集的基本过程是什么?
如何配置、使用NFS共享目录?
构建LVS-NAT群集2-1
案例环境
LVS调度器作为Web服务器池的网关
使用轮询(rr)调度算法
Internet
群集地址:172.16.16.172
集群技术概述3-3
负载均衡的工作模式
地址转换(NAT)模式
IP隧道(TUN)模式
Internet 直接路由(DR)模式
Internet
Internet
NAT模式
TUN模式
DR模式
关于LVS虚拟服务器2-1 Linux Virtual Server 针对Linux内核的负载均衡解决方案 1998年5月,由我国的章文嵩博士创建 官方网站:/
第六章LVS负载均衡群集
——
Ruijie University
技能展示
了解群集的结构与工作模式 学会配置NFS共享服务 学会构建LVS负载均衡群集
本章结构
集群技术概述 LVS群集应用基础
LVS虚拟服务器
LVS负载均衡群集
NFS共享存储服务
案例1:LVS-NAT群集 构建负载均衡群集
案例2:LVS-DR群集
负载均衡的结构
第一层,负载调度器(Load Balancer或Director)
第二层,服务器池(Server Pool)
群集IP地址(VIP)
主调度器 HA
第三层,共享存储(Share Storage)
负 载 调 度 器
Inter池
共 享 存 储
NAS存储设备
使用ipvsadm工具4-3
查看群集及节点情况 主要操作选项 -L 查看LVS群集方案 [root@localhost ~]# ipvsadm -L -n -n 以数字形式显示地址信息 …… -c 查看各节点的负载连接情况 TCP 172.16.16.172:80 rr -> 192.168.7.21:80 Masq 1 2 7 -> 192.168.7.22:80 Masq 1 3 9 -> 192.168.7.23:80 Masq 1 2 8 -> 192.168.7.24:80 Masq 1 4 6 [root@localhost ~]# ipvsadm -Lnc IPVS connection entries pro expire state source virtual destination TCP 01:51 FIN_WAIT 172.16.16.110:49712 172.16.16.172:80 192.168.7.21:80 TCP 01:52 FIN_WAIT 172.16.16.110:49720 172.16.16.172:80 192.168.7.22:80 ……
LVS策略的默认存放位置
NFS共享存储服务2-1
Network File System,网络文件系统 依赖于RPC(远端过程调用) 需安装nfs-utils、portmap软件包 系统服务:nfs、portmap 共享配置文件:/etc/exports
[root@localhost ~]# yum -y install nfs-utils portmap [root@localhost ~]# chkconfig nfs on [root@localhost ~]# chkconfig rpcbind on
使用ipvsadm工具4-1 创建虚拟服务器 主要操作选项 -A 添加虚拟服务器 -t 设置群集地址(VIP,Virtual IP) -s 指定负载调度算法
[root@localhost ~]# ipvsadm -A -t 172.16.16.172:80 -s rr
使用ipvsadm工具4-2 添加、删除服务器节点 主要操作选项 -a 添加真实服务器 -d 删除真实服务器 -r 指定真实服务器(Real Server)的地址 -m 使用NAT模式;-g、-i分别对应DR、TUN模式 -w 为节点服务器设置权重,默认为1
LVS负载调度器wo eth0: 172.16.16.172/24 eth1: 192.168.7.254/24
Web服务器池:节点1-节点4 192.168.7.21-24/24
NFS共享:/var/www/html 192.168.7.250/24
构建LVS-NAT群集2-2 配置过程 LVS调度器的配置:SNAT策略、LVS-NAT策略 Web节点服务器的配置: httpd 服务 [root@localhost ~]# yum -y install httpd vi /etc/sysctl.conf [root@localhost ~]# mount 192.168.7.250:/opt/wwwroot /var/www/html …… 访问http://172.16.16.172/ ,并验证群集分配情况 SNAT地址转换策略 [root@localhost ~]# = vi1/var/www/html/index.html net.ipv4.ip_forward [root@localhost ~]# sysctl <h1>LVS 负载均衡群集 ——-p 测试网页/<h1> [root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -o 各节点的网页相同 [root@localhost ~]# service httpd start eth0 -j SNAT --to-source 172.16.16.172 [root@localhost ~]# chkconfig httpd on LVS-NAT群集模式 [root@localhost ~]# service ipvsadm stop [root@localhost ~]# ~]# ipvsadm ipvsadm -A -Ln [root@localhost -t 172.16.16.172:80 -s rr IP Virtual Server~]# version 1.2.1-a (size=4096) [root@localhost ipvsadm -t 172.16.16.172:80 -r 192.168.7.21:80 -m Prot LocalAddress:Port Scheduler [root@localhost ~]# ipvsadm -a -t Flags 172.16.16.172:80 -r 192.168.7.22:80 -m -> RemoteAddress:Port Weight ActiveConn InActConn -m [root@localhost ~]# ipvsadm -aForward -t 172.16.16.172:80 -r 192.168.7.23:80 TCP 172.16.16.172:80 rr [root@localhost ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.24:80 -m -> 192.168.7.21:80 Masq 1 2 9 -> 192.168.7.22:80 Masq 1save 3 8 [root@localhost ~]# service ipvsadm -> 192.168.7.23:80 Masq 1 on 2 9 [root@localhost ~]# chkconfig ipvsadm 查看群集分配情况 -> 192.168.7.24:80 Masq 1 4 7
NFS共享存储服务2-2 配置NFS共享 修改/etc/exports文件 依次启动rpcbind 、 nfs 服务 [root@localhost ~]# yum mkdir -y -p install /opt/wwwroot portmap 确认已发布的共享 [root@localhost ~]# chkconfig portmap on [root@localhost ~]# service vi /etc/exports portmap start 挂载NFS共享目录 客户机也必须支持RPC /opt/wwwroot 172.16.16.0/24(rw,sync,no_root_squash) mount [-t nfs] 服务器:/共享路径 挂载点 /var/ftp/pub [root@localhost 192.168.4.11(ro) ~]# showmount 192.168.4.110(rw) -e 172.16.16.172 Export list for 172.16.16.172: [root@localhost /var/ftp/pub 192.168.4.11 ~]# service rpcbind start 共享路径 客户机地址(权限选项) [root@localhost /opt/wwwroot 172.16.16.0/24 ~]# service nfs start [root@localhost ~]# mount showmount 172.16.16.172:/opt/wwwroot -e /var/www/html Export list for localhost.localdomain: [root@localhost ~]# tail -1 /etc/mtab /var/ftp/pub 192.168.4.11 172.16.16.172:/opt/wwwroot /var/www/html nfs 挂载NFS共享目录 /opt/wwwroot 172.16.16.0/24 rw,vers=4,addr=172.16.16.172,clientaddr=172.16.16.177 00
相关文档
最新文档