CentOs 5.0 LVS负载均衡集群

合集下载

LVS keepalived负载均衡高可用 配置安装大全

LVS keepalived负载均衡高可用 配置安装大全

LVS+Keepalived实现高可用集群一、基础介绍 (2)二、搭建配置LVS-NA T模式 (2)三、搭建配置LVS-DR模式 (4)四、另外一种脚本方式实现上面LVS-DR模式 (6)五、keepalived + LVS(DR模式) 高可用 (8)六、Keepalived 配置文件详细介绍 (11)一、基础介绍(一)根据业务目标分成三类:High Availability 高可用Load Balancing 负载均衡High Performance 高性能(二)实现集群产品:HA类:rhcs、heartbeat、keepalivedLB类:haproxy、lvs、nginx、f5、piranhaHPC类:/index/downfile/infor_id/42(三)LVS 负载均衡有三种模式:LVS-DR模式(direct router)直接路由模式进必须经过分发器,出就直接出LVS-NAT模式(network address translation)进出必须都经过分发器LVS-TUN模式(ip tunneling)IP隧道模式服务器可以放到全国各地二、搭建配置LVS-NAT模式1 、服务器IP规划:DR服务器添加一张网卡eth1,一个网卡做DIP,一个网口做VIP。

设置DIP、VIP IP地址:DIP的eth1和所有RIP相连同一个网段CIP和DIP的eth0(Vip)相连同一个网段Vip eth0 192.168.50.200Dip eth1 192.168.58.4客户机IP:Cip 192.168.50.32台真实服务器IP:Rip1 192.168.58.2Rip2 192.168.58.32 、R ealServer1配置:mount /dev/xvdd /media/vi /var/www/html/index.html写入:this is realserver1启动httpdvi /etc/sysconfig/network-scripts/ifcfg-eth0设置RIP,子网掩码必须设置成DIPIPADDR=192.168.58.2NETMASK=255.255.255.0GA TEWAY=192.168.58.43 、R ealServer2 配置:vi /var/www/html/index.html写入:this is realserver2启动httpdvi /etc/sysconfig/network-scripts/ifcfg-eth0设置RIP,子网掩码必须设置成DIPIPADDR=192.168.58.3NETMASK=255.255.255.0GA TEWAY=192.168.58.44 、在DR服务器上做以下设置:开启IP数据包转发vi /etc/sysctl.confnet.ipv4.ip_forward = 0 ##0改成1 ,此步很重要查看是否开启:sysctl -p5 、安装LVS服务:ipvsadmyum -y install ipvsadmlsmod |grep ip_vsTurbolinux系统没有带rpm包,必须下载源码安装:#ln -s /usr/src/kernels/2.6.18-164.el5-x86_64/ /usr/src/linux##如果不做连接,编译时会包错#tar zxvf ipvsadm-1.24.tar.gz#cd ipvsadm-1.24#make && make install运行下ipvsadm ,就加到ip_vs模块到内核了lsmod | grep ip 可以看到有ip_vs模块了6 、配置DR服务器,添加虚拟服务ipvsadm -L -n 查询信息ipvsadm -A -t 192.168.50.200:80 -s rr #添加集群服务、调度算法,rr为调度算法ipvsadm -a -t 192.168.50.200:80 -r 192.168.58.2 -m -w 1 # -m代表net模式,-w代表权重ipvsadm -a -t 192.168.50.200:80 -r 192.168.58.3 -m -w 2ipvsadm -L -n 再次查看是就有了realserverservice ipvsadm save 保存配置iptables -L 关闭或者清空防火墙watch -n 1 'ipvsadm -L -n' 查看访问记录的数显示如下:-> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 192.168.50.200:80 rr-> 192.168.58.2:80 Masq 1 0 13-> 192.168.58.3:80 Masq 2 0 12ActiveConn是活动连接数,也就是tcp连接状态的ESTABLISHED;InActConn是指除了ESTABLISHED以外的,所有的其它状态的tcp连接.7 、测试:http://192.168.58.200配完后若想修改算法:ipvsadm -E -t 192.168.58.200:80 -s wlc修改Rip的权重:ipvsadm -e -t 192.168.58.200:80 -r 192.168.58.2 -m -w 1ipvsadm -e -t 192.168.58.200:80 -r 192.168.58.3 -m -w 5三、搭建配置LVS-DR模式lo:1 回应客户端,lo:1上的IP跟机器有关,跟网卡没有关系arp_announce 对网络接口上本地IP地址发出的ARP回应作出相应级别的限制arp_ignore 定义对目标地址为本地IP的ARP询问不同的请求一、3台服务器IP配置规划:DIP:eth0:1 192.168.58.200/32 (VIP)eth0 192.168.58.3/24 (DIP)RIP1 lo:1 192.168.58.200/32 (VIP)eth0 192.168.58.4/24RIP2 lo:1 192.168.58.200/32 (VIP)eth0 192.168.58.5/24 .................................................................RIP n lo:1 192.168.58.200/32 (VIP)eth0 192.168.58.N/24二、每台realserver都加上下面四个步骤配置:1 、配置每台rip的IP、http,web页面2 、关闭每台rip服务器的ARP广播:echo 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_announce3 、配置VIPifconfig lo:1 192.168.58.200 netmask 255.255.255.255 broadcast 192.168.58.200 up4 、配置网关route add -host 192.168.58.200 dev lo:1三、DR上的配置(DR模式下Dip不用开启转发):1 、配置DIP,在eth0上添加一个子VIP接口:添加VIP:ifconfig eth0:1 192.168.58.200 broadcast 192.168.58.200 netmask 255.255.255.255 up2 、配置网关:route add -host 192.168.58.200 dev eth0:1route -n3 、安装ipvsadm(方法见文档上面)yum -y install ipvsadmlsmod |grep ip_vs4 、配置LVS集群:ipvsadm -A -t 192.168.58.200:80 -s rr #添加集群服务、调度算法,rr为调度算法ipvsadm -a -t 192.168.58.200:80 -r 192.168.58.3 -g -w 1 # -g代表DR模式,-w代表权重ipvsadm -a -t 192.168.58.200:80 -r 192.168.58.2 -g -w 2service ipvsadm saveipvsadm -L -n 查看信息四、测试:http://192.168.58.200四、另外一种脚本方式实现上面LVS-DR模式IP规划:Dip eth0 192.168.58.139VIP:192.168.58.200RIP1:192.168.58.2RIP2:192.168.58.31 、D R服务器上安装ipvsadm#yum -y install ipvsadm#lsmod | grep ip_vs 查看没有输出#modprobe ip_vs 安装即可2 、配置DIP服务器、LVS这里也是个写脚本为了方便vim /etc/init.d/lvsdr#!/bin/bash#lvs of DRVIP=192.168.58.200RIP1=192.168.58.2RIP2=192.168.58.3case "$1" instart)echo "start lvs of DR"/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.0 up echo "1" > /proc/sys/net/ipv4/ip_forward/sbin/iptables -C/sbin/ipvsadm -A -t $VIP:80 -s rr/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g/sbin/ipvsadm;;stop)echo "stop lvs of DR"echo "0" > /proc/sys/net/ipv4/ip_forward/sbin/ipvsadm -C/sbin/ifconfig eth0:0 down;;*)echo "Usage :$0 {start|stop}"exit1esacexit 0#chmod o+x /etc/init.d/lvsdr启动脚本:#service lvsdr start3 、2台RIP服务器都配置这里我们也都可以写成脚本开启2台RIP的httpd服务。

通过LVS+Keepalived搭建高可用的负载均衡集群系统

通过LVS+Keepalived搭建高可用的负载均衡集群系统

1、安装LVS软件(1)安装前准备操作系统:统一采用Centos5.3版本,地址规划如下:更详细的信息如下图所示:图中的VIP指的是虚拟IP地址,还可以叫做LVS集群的服务IP,在DR、TUN模式中,数据包是直接返回给用户的,所以,在Director Server上以及集群的每个节点上都需要设置这个地址。

此IP在Real Server上一般绑定在回环地址上,例如lo:0,同样,在Director Server 上,虚拟IP绑定在真实的网络接口设备上,例如eth0:0。

各个Real Server可以是在同一个网段内,也可以是相互独立的网段,还可以是分布在internet上的多个服务器.(2)安装操作系统需要注意的事项Centos5.3版本的Linux,内核默认支持LVS功能,为了方便编译安装IPVS管理软件,在安装操作系统时,建议选择如下这些安装包:l 桌面环境:xwindows system、GNOME desktop environment。

l 开发工具:development tools、x software development、gnome software、development、kde software development。

系统安装完毕,可以通过如下命令检查kernel是否已经支持LVS的ipvs模块:[root@localhost ~]#modprobe -l |grep ipvs/lib/modules/2.6.18-194.11.1.el5/kernel/net/ipv4/ipvs/ip_vs.ko/lib/modules/2.6.18-194.11.1.el5/kernel/net/ipv4/ipvs/ip_vs_dh.ko如果有类似上面的输出,表明系统内核已经默认支持了IPVS模块。

接着就可以安装IPVS管理软件了。

(3)在Director Serve上安装IPVS管理软件IPVS提供的软件包有源码方式的也有rpm方式的,这里介绍下源码方式安装IPVS,首先从/software/ipvs.html下载对应版本的ipvs源码,由于我们这里采用的操作系统为Centos5.3版本,因此,下载对应的ipvsadm-1.24版本,接着进行安装:[root@localhost ~]#tar zxvf ipvsadm-1.24.tar.gz[root@localhost ~]#cd ipvsadm-1.24[root@localhost ~]#make[root@localhost ~]#make install注意:在make时可能会出现错误编译信息,这是由于编译程序找不到对应内核的原因,按照如下操作就可以正常编译:[root@localhost ~]#ln -s /usr/src/kernels/2.6.18-128.el5-i686/ /usr/src/linux也可以下载rpm安装包,通过rpm方式进行安装:[root@localhost ~]#rpm –ivh ipvsadm-1.24-6.1.i386.rpm然后执行:[root@localhost ~]# ipvsadm --help如果看到帮助提示,表明IPVS已经成功安装(4)ipvsadm的用法举例如下:[root@localhost ~]# ipvsadm -A -t 192.168.12.135:80 -s rr -p 600以上表示在内核的虚拟服务器列表中添加一条192.168.12.135的虚拟服务器记录,并且指定此虚拟服务器的服务端口为80,然后指定此虚拟服务器的调度策略为轮询调度,并且在每个real server上的持续服务时间为600秒,即10分钟[root@localhost ~]# ipvsadm -A -t 192.168.12.188:21 -s wlc 以上表示在内核的虚拟服务器列表中又添加了一条192.168.12.188的虚拟服务器,此虚拟服务器的服务端口为21,即FTP 服务。

部署LVS+keepalived高可用负载均衡集群

部署LVS+keepalived高可用负载均衡集群

部署LVS+keepalived⾼可⽤负载均衡集群⽬录⼀ LVS + keepalived 集群概述在这个⾼度信息化的 IT 时代,企业的⽣产系统、业务运营、销售和⽀持,以及⽇常管理等环节越来越依赖于计算机信息和服务,对⾼可⽤(HA)技术的应⽤需求不断提⾼,以便提供持续的、不间断的计算机系统或⽹络服务。

Keepalived是⼀个基于VRRP协议来实现的LVS服务⾼可⽤⽅案,可以解决静态路由出现的单点故障问题。

1.1 Keepalived⼯具介绍专为LVS和HA设计的⼀款健康检查⼯具• ⽀持故障⾃动切换(Failover)• ⽀持节点健康状态检查(Health Checking)• 官⽅⽹站:1.2 ⼯作原理在⼀个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种⾓⾊的服务器,但是对外表现为⼀个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从⽽保证了⾼可⽤性。

keepalived 采⽤VRRP热备份协议实现Linux服务器的多机热备功能1.3 VRRP (虚拟路由冗余协议)是针对路由器的⼀种备份解决⽅案由多台路由器组成⼀个热备组,通过共⽤的虚拟IP地址对外提供服务每个热备组内同时只有⼀台主路由器提供服务,其他路由器处于冗余状态若当前在线的路由器失效,则其他路由器会根据设置的优先级⾃动接替虚拟IP地址,继续提供服务1.4 故障转移机制Keepalived⾼可⽤服务之间的故障切换转移,是通过VRRP 来实现的。

在 Keepalived服务正常⼯作时,主 Master节点会不断地向备节点发送(多播的⽅式)⼼跳消息,⽤以告诉备Backup节点⾃⼰还活着,当主 Master节点发⽣故障时,就⽆法发送⼼跳消息,备节点也就因此⽆法继续检测到来⾃主 Master节点的⼼跳了,于是调⽤⾃⾝的接管程序,接管主Master节点的 IP资源及服务。

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

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

使用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
小结
请思考:
常见的服务器群集有哪几种类型?

lvs keepalived nginx tomcat实现高性能负载均衡集群

lvs keepalived nginx tomcat实现高性能负载均衡集群

lvs+keepalived+nginx+tomcat实现高性能负载均衡集群拓扑图vip:192.168.1.100lvs master 192.168.1.101lvs slave 192.168.1.102nginx1 192.168.1.201nginx2 192.168.1.202tomcat 192.168.1.203(三台tomcat,端口不一样)centos 7.x一、编译安装Nginx➢安装前准备对于nginx编译安装需要先安装编译的工具,然后再安装nginx依赖yum -y install gcc gcc-c++ autoconf automake makeyum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel➢下载nginx#获取nginx,官方地址wget /download/nginx-1.12.2.tar.gz#解压(/root/lua/nginx-1.12.2)tar -zxvf nginx-1.12.2.tar.gz➢安装第一步是配置,第二步是编译安装➢配置nginx#进入到nginx 解压目录cd nginx-1.12.2#配置nginx#--prefix 指定安装的目录#/usr/local/nginx-lb 是安装目录,不能和自己下载的文件目录重了#./configure --prefix=/usr/local/nginx-lb#带ssl stub_status模块添加strem模块–with-stream,这样就能传输tcp协议了#http_stub_status_module 状态监控#http_ssl_module 配置https#stream 配置tcp得转发#http_gzip_static_module 压缩#http_sub_module 替换请求./configure \--prefix=/usr/local/nginx-lb --with-http_stub_status_module \--with-http_ssl_module --with-stream -\-with-http_gzip_static_module --with-http_sub_module➢编译安装#编译安装make && make install➢验证安装成功后,会在./configure --prefix=/usr/local/nginx-lb,指定的目录/usr/local/nginx-lb创建4个文件夹。

如何配置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的默认网关。

LVS搭建高可用性Web负载均衡服务器

LVS搭建高可用性Web负载均衡服务器

LVS搭建高可用性Web负载均衡服务器一.系统需求实现Linux下的Web服务器负载均衡,LVS以主备方式工作,并且实现LVS机器同时加入Web服务器群。

二.软硬件需求操作系统:Red Hat Enterprise Linux Server release 5(关闭selinux及iptables)相关软件:heartbeat-2.1.4 、net-snmp 、lm_sensors 、net-snmp、ipvsadm、perl模块网络要求:所有服务器位于同一VLan,机器无特殊要求。

三.软件安装以本次安装为例,先后安装下列rpm包以解决依赖关系.#rpm –ivh libnet-1.1.2.1-2.1.i386.rpm#rpm –ivh ipvsadm-1.24-8.1.i386.rpm#rpm –ivh lm_sensors-2.10.0-3.1.i386.rpm#rpm –ivh net-snmp-libs-5.3.1-14.el5.i386.rpm#rpm –ivh net-snmp-5.3.1-14.el5.i386.rpm#rpm –ivh perl-Compress-Zlib-1.42-1.fc6.i386.rpm#rpm –ivh perl-HTML-Parser-3.55-1.fc6.i386.rpm#rpm –ivh perl-HTML-Tagset-3.10-2.1.1.noarch.rpm#rpm –ivh perl-Net-SSLeay-1.30-4.fc6.i386.rpm#rpm –ivh perl-TimeDate-1.16-5.el5.noarch.rpm#rpm –ivh perl-MailTools-2.02-1.el5.rf.noarch.rpm#rpm –ivh perl-URI-1.35-3.noarch.rpm#rpm –ivh perl-libwww-perl-5.805-1.1.1.noarch.rpm以上软件包主要用来实现ISO/RM 2/3层数据转换及7层应用检测。

搭建高可用LVS负载均衡集群服务器

搭建高可用LVS负载均衡集群服务器

搭建高可用LVS负载均衡集群服务器LVS(Linux Virtual Server)是一种用于构建高可用负载均衡集群的技术。

它基于Linux操作系统,能够将负载分摊到多台服务器上,提高系统的可用性和性能。

本文将介绍如何搭建高可用LVS负载均衡集群服务器。

1.硬件准备在搭建LVS负载均衡集群之前,需要准备一些硬件设备。

首先需要一台或多台运行Linux操作系统的物理服务器作为后端服务器,这些服务器将实际处理来自客户端的请求。

其次,需要一台或多台用于负载均衡的服务器,即LVS负载均衡调度器,它将接收客户端请求,并将请求分发到后端服务器上。

2.安装操作系统在LVS负载均衡集群中,建议使用CentOS或其他类似的Linux操作系统。

安装操作系统时,确保选择的版本兼容LVS的设计和配置。

3.安装软件包在安装操作系统之后,需要安装所需的软件包。

LVS负载均衡集群的核心软件包是ipvsadm,它提供了管理五层负载均衡器的工具。

可以使用以下命令安装ipvsadm软件包:```sudo apt-get install ipvsadm```4.配置网络在配置LVS负载均衡集群之前,需要确保网络环境正确配置。

每个后端服务器都应该有一个私有IP地址,这个地址用于内部通信。

此外,LVS 负载均衡调度器也需要一个公共IP地址,客户端将使用该地址来访问服务。

5.配置LVS负载均衡调度器在配置LVS负载均衡调度器之前,首先需要启用内核IPVS模块。

使用以下命令加载IPVS模块:```sudo modprobe ip_vs```然后,可以使用ipvsadm工具配置LVS负载均衡调度器。

以下是一个简单的配置示例:``````其中,“-A”选项添加新的负载均衡虚拟服务器,“-t”选项指定负载均衡器的IP地址和端口,“-s”选项指定负载均衡算法(这里使用了wrr算法,也可以使用其他算法),“-a”选项添加新的真实服务器,“-r”选项指定后端服务器的IP地址,“-g”选项表示会话保持。

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

CentOs 5.3 LVS负载均衡集群一、什么是IPVS?IPVS(ip virtual server):它是由毕业于国防科技大学的章文嵩博士主持的一个开源的集群负载均衡软件,创立于1998年5月,可以实现Linux平台下的简单负载均衡。

二、什么是LVS?支持IPVS的集群负载均衡器和集群节点一起称为LVS (Linux Virtual Server)。

三、Linux集群分类集群计算机按功能和经构可以分成以下几类:✧高可用性集群(High-availability (HA) clusters)高可用性集群运行两个或多个节点上,当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。

还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行。

✧负载均衡集群(Load balancing clusters)负载均衡集群运行时,一般通过一个或者多个前端负载均衡器将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性。

这样的计算机集群有时也被称为服务器群(Server Farm)。

✧高性能计算集群(High-performance (HPC) clusters)按照计算关联程度的不同,又可以分为两种。

一种是任务片方式,要把计算任务分成任务片,再把任务片分配给各节点,在各节点上分别计算后再把结果汇总,生成最终计算结果。

另一种是并行计算方式,节点之间在计算过程中大量地交换数据,可以进行具有强耦合关系的计算。

这两种超级计算集群分别适用于不同类型的数据处理工作。

有了超级计算集群软件,企业利用若干台PC机就可以完成通常只有超级计算机才能完成的计算任务。

✧网格计算(Grid computing)网格计算即分布式计算,是一门计算机科学。

它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终结果。

四、LVS集群的种类LVS集群种类通常是通过LVS Director中继到集群节点的请求的方法来形容的,目前有三种可用的方法:✧LVS-NAT基于网络地址转换(network address translation ,NAT)✧LVS-DR直接路由(direct routing,DR),包上的MAC地址被更改,然后被转发到real-server✧LVS-Tun隧道(tunnelling) ,包被IPIP封装,然后被转发到real-server。五、LVS集群的对比六、LVS集群的原理Director机器收到外界请求,改写数据包的目标地址,按相应的调度算法将其发送到相应Real Server上,Real Server处理完该请求后,将结果数据包返回到其默认网关,即Director机器上,Director机器再改写数据包的源地址,最后将其返回给外界。

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

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

LVS-NAT方式负载均衡集群(图1)注: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的默认网关。

Director机器收到外界请求,按相应的调度算法将其直接发送到相应Real Server,Real Server处理完该请求后,将结果数据包直接返回给客户,完成一次负载调度。

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

LVS-DR方式负载均衡集群(图2)注:LVS-DR集群中注意Real Server的内核也必须打上修正ARP 问题的内核补丁✧LVS-TUN的数据转发流程是:Director机器收到外界请求,按相应的调度算法将其通过IP隧道发送到相应Real Server,Real Server处理完该请求后,将结果数据包直接返回给客户。

至此完成一次负载调度。

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

LVS-TUN方式负载均衡集群(图3)注:LVS-TUN集群中注意Real Server的内核必须打上修正ARP问题的内核补丁。

该方式中Director将客户请求分配到不同的Real Server,Real Server处理请求后直接回应给用户,这样Director就只处理客户机与服务器的一半连接,极大地提高了Director的调度处理能力,使集群系统能容纳更多的节点数。

另外TUN方式中的Real Server可以在任何LAN或WAN上运行,这样可以构筑跨地域的集群,其应对灾难的能力也更强,但是服务器需要为IP封装付出一定的资源开销,而且后端的Real Server必须是支持IP Tunneling的操作系统。

七、LVS的命名约定为了更加易于探讨此网络通信,LVS社区已经开发了一个命名的约定,以便基于每种类型的IP地址在网络对话中的角色来描述每种类型的IP地址。

✧虚拟IP地址(VIP)Director用于向客户端计算机提供服务的IP地址✧真实IP地址(RIP)在集群节点上使用IP地址✧Director的IP地址(DIP)Director用于连接到D/RIP网络的IP地址✧客户端计算机的IP地址(CIP)分配给客户端计算机的IP地址,该地址用作发送给集群的请求的源IP地址。

✧D/RIP网络由Director和Real Server组成的网络八、ipvsadm命令参数的含义virtual-service-address:虚拟服务器的ip,real-service-address:真实服务器的ipscheduler:调度方法ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p [timeout]] [-M netmask] ipvsadm -D -t|u|f virtual-service-address ipvsadm -C ipvsadm -R ipvsadm -S [-n] ipvsadm -a|e -t|u|f service-address:port -r real-server-address:port [-g|i|m] [-w weight] ipvsadm -d -t|u|f service-address -r server-address ipvsadm -L|l[options] ipvsadm -Z [-t|u|f service-address] ipvsadm ——set tcp tcpfin udp ipvsadm ——start-daemon state [——mcast-interface interface] ipvsadm ——stop-daemon ipvsadm -h命令选项解释:有两种命令选项格式,长的和短的,具有相同的意思。

在实际使用时,两种都可以。

-A ——add-service 在内核的虚拟服务器表中添加一条新的虚拟服务器记录。

也就是增加一台新的虚拟服务器。

-E ——edit-service 编辑内核虚拟服务器表中的一条虚拟服务器记录。

-D ——delete-service 删除内核虚拟服务器表中的一条虚拟服务器记录。

-C ——clear 清除内核虚拟服务器表中的所有记录。

-R ——restore 恢复虚拟服务器规则-S ——save 保存虚拟服务器规则,输出为-R 选项可读的格式-a ——add-server 在内核虚拟服务器表的一条记录里添加一条新的真实服务器记录。

也就是在一个虚拟服务器中增加一台新的真实服务器-e ——edit-server 编辑一条虚拟服务器记录中的某条真实服务器记录-d ——delete-server 删除一条虚拟服务器记录中的某条真实服务器记录-L|-l ——list 显示内核虚拟服务器表-Z ——zero 虚拟服务表计数器清零(清空当前的连接数量等)——set tcp tcpfin udp 设置连接超时值——start-daemon 启动同步守护进程。

他后面可以是master 或backup,用来说明LVS Router 是master 或是backup.在这个功能上也可以采用keepalived 的VRRP 功能。

——stop-daemon 停止同步守护进程-h ——help 显示帮助信息其他的选项:-t ——tcp-service service-address 说明虚拟服务器提供的是tcp 的服务[vip:port] or [real-server-ip:port]-u ——udp-service service-address 说明虚拟服务器提供的是udp 的服务[vip:port] or [real-server-ip:port]-f ——fwmark-service fwmark 说明是经过iptables 标记过的服务类型。

-s ——scheduler scheduler 使用的调度算法,有这样几个选项rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默认的调度算法是: wlc.-p ——persistent [timeout] 持久稳固的服务。

这个选项的意思是来自同一个客户的多次请求,将被同一台真实服务器处理。

timeout 的默认值为300 秒。

-M ——netmask netmask persistent granularity mask-r ——real-server server-address 真实的服务器[Real-Server:port]-g ——gatewaying 指定LVS 的工作模式为直接路由模式(也是LVS 默认的模式)-i ——ipip 指定LVS 的工作模式为隧道模式-m ——masquerading 指定LVS 的工作模式为NAT 模式-w ——weight weight 真实服务器的权值——mcast-interface interface 指定组播的同步接口-c ——connection 显示LVS 目前的连接如:ipvsadm -L -c——timeout 显示tcp tcpfin udp 的timeout 值如:ipvsadm -L ——timeout——daemon 显示同步守护进程状态——stats 显示统计信息——rate 显示速率信息——sort 对虚拟服务器和真实服务器排序输出——numeric -n 输出IP 地址和端口的数字形式。

相关文档
最新文档