lvs负载均衡集群
购买昂贵的大型机
整合多台廉价的普通服务来构建大型集群环境,以一个地址对外提供环境
概述:根据不同的需求提供不同的服务
类型
最少2+节点服务器,对外表现一个整体,即一个访问入口
-
负载均衡集群:以提高服务器的整体性能,高并发,高负载。较依赖于主节点(条调度器/负载均衡器)的分流算法,将客户的请求分流到各个服务器节点
-
高可用集群:提高服务的可靠性,减少中断时间,连续性,高可用 。工作模式主要使用主从服务器,当主坏掉时,从以最少的时间变成主。
-
sla服务水平协定一般为99.9
-
高性能运算集群:提高应用系统的CPU运算速度,扩展硬件资源和分析能力。
负载均衡集群的分层介绍
lvs只能进行ip调动,与四层基本调动
- 负载调度器:主调度器和备用调度器:是整个系统的唯一入口,对外使用公有的VIP地址
- 服务器池:多个服务器组成
- 共享存储:nas存储设备
LVS虚拟服务器
- LVS是针对linux开发的一个负载均衡项目,默认编译为ip_vs模块
yum -y install ipvsadm #下载管理工具ipvsadm [root@localhost ~]# modprobe ip_vs #加载ip_vs模块 [root@localhost ~]# lsmod | grep ^ip_vs #查看ip_vs模块 ip_vs 145497 0 [root@localhost ~]# cat /proc/net/ip_vs #查看ip_vs版本信息 IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
LVS负载均衡的工作模式
关于集群可以根据ip,端口,等进行分发,其中基于ip的负载调度是效率最高的。常见的有地址装换(nat),ip隧道(tunnel),直接路由(DR),FULLNAT四种工作模式
-
nat模式:地址转换模式,负载调度器作为所有服务器节点的网关,即数据的进出都经过负载调度器,调度器压力大,安全性高
-
TUN模式:IP隧道,负载调度器仅作为客户机的访问入口,各节点通过各个的Internet连接直接回应客户机,数据的进入经过负载调度器,数据的输出由后端真实服务器返回,所有节点都需要接入互联网,配有公网ip ,负载调度器和后端服务器通过ip隧道进行连接,调度器压力小,安全性低,需要大量的支出。
-
DR模式:直接路由,采用半开放式网络结构,数据的进入经过负载调度器,数据的输出由后端真实服务器返回,负载调度器和真实服务器处于同一物理网络,调度器压力小,安全性低
以上三个模式,nat方式只需要一个公网ip地址,从而成为最易用的一种负载均衡模式,安全性比较高。
LVS的负载均衡调度算法
-
轮叫调度(rr):调度器通过“轮叫”给服务器,平均对待每一台服务器,但是不一定有用
-
加权轮叫(wrr):调度器通过“加权轮叫”给服务器,相当于weight,可以自动问询真实服务器的负载情况, 并动态的调整权值。
-
最少链接(lc):调度器通过“最少链接”将链接最少的服务器调度。
-
加权最少链接(wlc):根据系统负载能力来进行权重的对比
-
基于局部性的最少链接(lblc):针对目标IP地址的负载均衡,找出最近对应的ip,若是服务器没有超载,则使用该服务器。
-
带复制的局域局部最少链接(lblcr): 将lblc的一个对象,变为一组对象。
-
目标地址散列(dh):根据请求的目标ip地址,作为散列项从静态分配的散列表找出对应服务器。
-
原地址散列(sh):根据请求的源ip地址,作为散列项从静态分贝的散列表找出对应服务器。
使用ipvsadm管理工具
-
概念:作为ip_vs模块来进行添加,删除服务节点,以及集群的运行
[root@localhost ~]# rpm -q ipvsadm ipvsadm-1.27-7.el7.x86_64 [root@localhost ~]# ipvsadm -v ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
-
创建虚拟服务器
地址:192.168.200.10:80 算法:rr,wrr,lc,wlc ipvsadm -A -t 192.168.200.10:80 -s rr -A:创建虚拟服务器 -t:指定VIP地址端口 -s:确认算法
-
添加服务器节点
添加四个节点:ip地址依次为192.168.200.11,12,13,14 ipvsadm -a -t 192.168.200.10:80 -r 192.168.200.11:80 -m -w 1 ipvsadm -a -t 192.168.200.10:80 -r 192.168.200.11:80 -m -w 1 ipvsadm -a -t 192.168.200.10:80 -r 192.168.200.11:80 -m -w 1 ipvsadm -a -t 192.168.200.10:80 -r 192.168.200.11:80 -m -w 1 -a:添加服务器 -t:指定VIP地址端口 -r:制定真实服务器(RIP)地址端口 -m:表示使用NAT集群(-g:DR模式,-i:TUN模式) -w:设置权重,为0时表示暂停
-
查看集群节点状态