Web服务器群集——LVS负载均衡群集

LVS负载均衡群集

群集技术概述:根据所需要的的环境不同,群集提供的功能也不相同(比如一个公司的网站有Apache服务器、Nginx服务器、Tomcat服务器、Mysql服务器等,这些服务器都不在一台主机上,有很多组成一个群,就可以说运用的群集技术)

群集类型:1.负载均衡群集(DNS轮询、反向代理)

                  2.高可用群集(故障切换、多机热备)

                  3.高性能运算群集(云计算)

负载均衡群集工作模式分析(3种模式)

地址转换(NAT模式)

简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器    节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口,服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要    优于其他两种方式

IP隧道(TUN模式)

简称TUN模式,采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器,服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP  隧道与负载调度器相互通信

直接路由(DR模式)

简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但各节点 并不是分散在各地,而是与调度器位于同一一个物理网络,负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道

负载均衡群集的架构模式:

负载均衡调度器:用来调度服务

Web服务器池:所有服务器群

共享存储:所有服务器都可共享的存储设备

LVS

内核模块名称:ip_vs

加载内核中的模块:modprobe ip_vs

查看模块信息: cat /proc/net/ip_vs

LVS常用算法

rr(轮询):调度器通过"轮叫"调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载

wrr(加权轮询):调度器通过"加权轮叫"调度算法根据真实服务器的不同处理能力来调度访问请求,这样可以保证处理能力强的服务器处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值

lc(最少连接):调度器通过"最少连接"调度算法动态地将网络请求调度到已建立的链接数最少的服务器上,如果集群系统的真实服务器具有相近的系统性能,采用"最小连接"调度算法可以较好地均衡负载

wlc(加权最少连接):在集群系统中的服务器性能差异较大的情况下,调度器采用"加权最少链接"调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值

操作LVS软件:ipvsadm

ipvsadm使用方法:

查看调度详情:

添加调度器:ipvsadm -A -t 192.168.0.21:80 -s rr

-A:添加虚拟服务器

-t:指定VIP地址  

-s:指定负载调度算法(rr   wrr  lc   wlc)

添加节点服务器:ipvsadm -a -t 192.168.0.21:80 -r 192.168.1.100:80 -m -w 1

-a:添加真实服务器  

-t:指定VIP地址 

-r:指定RIP地址 

-m:表示NAT群集模式(-g DR   -i TUN)

-w:设置权重(0表示暂停节点)

一、实现LVS-NAT模式(如下图)

先用两台电脑搭建httpd服务,写两个网页IP地址设置分别为192.168.1.100和192.168.1.101

在网关服务器上配置好防火墙,用LVS-NAT代替DNAT策略实现访问网关服务器的外网卡IP地址去访问内网的网页,实现两个网页互相调用,刷新会调用不同服务器的httpd服务

1.网关服务器下载安装ipvsadm

rpm -ivh ipvsadm-1.26-2.el6.x86_64.rpm

2.配置网关服务器

开启路由转发功能:修改/etc/sysctl.conf文件

net.ipv4.ip_forward = 1

配置SNAT策略:iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 192.168.0.21

删除FORWARD链策略:iptables -D FORWARD 1

网关服务器上要在INPUT链中开启80端口(因为是ipvsadm代处理80端口所以别人要通过80端口访问进来)

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

3.配置LVS-NAT模式代替之前的DNAT策略

添加调度服务器:ipvsadm -A -t 192.168.0.21:80 -s rr

添加节点服务器:ipvsadm -a -t 192.168.0.21:80 -r 192.168.1.100:80 -m -w 1

                           ipvsadm -a -t 192.168.0.21:80 -r 192.168.1.101:80 -m -w 1

4.测试,访问192.168.0.21:80刷新查看网页是否不但分别调用两个Apache服务器的网页

二、实现LVS-DR模式(如下图)

实现红线圈起来的部分,一台调度服务器,两台httpd服务器,一台测试机通过虚拟IP地址访问,实现两台httpd服务互相均衡调用

调度服务器配置

1.配置网卡eth0:0——ifconfig eth0:0 192.168.1.200/32

2.安装操作软件:rpm -ivh /media/CentOS_6.5_Final/Packages/ipvsadm-1.26-2.el6.x86_64.rpm

3.加载模块并查看:modprobe ip_vscat /proc/net/ip_vs

补充:关闭重定向响应

net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.eth1.send_redirects = 0

后端两台服务器的配置

1.调整/proc内核参数,关闭默认ARP响应

echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

2.添加虚拟网卡lo:0——ifconfig lo:0 192.168.1.200/32

3.添加一条路由记录,将访问VIP的数据限制在本地,以避免通信紊乱

route add -host 192.168.1.200 dev lo:0

192.168.1.100的vip配置信息:                                      192.168.1.101的vip配置信息:

  

ipvs规则配置(调度服务器上配置)

ipvsadm -A -t 192.168.1.200:80 -s rr
ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.100:80 -g -w 1
ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.101:80 -g -w 1

测试:

使用测试机测试访问192.168.1.200

刷新会转换页面

查看调度服务器上的情况信息:ipvsadm -ln

红色为两台后端服务器分别调度的次数

发布了23 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/feili12138/article/details/104416496