呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到

1 集群

1.1 什么是集群

集群也叫群集(cluster),是由多台主机构成,都干同样一件事,对外展现为一个整体。

1.2 群集的类型

  • 负载均衡群集(LB)

提高系统响应效率,处理更多的访问请求,减少响应延迟,实现高并发、高负载的能力。典型代表:软件类(Nginx、LVS、HAProxy、SLB);硬件类:F5、绿盟

  • 高可用集群(HA)

提高系统可用性,减少中断时间。通常用n个9来代表高可用的指标。(3个9表示99.9%非关键性业务,4个9表示99.99%关键业务)典型代表:keeplived、heartbead

  • 高性能运算群集(HPC)

通过云计算或分布式计算将硬件资源整合成资源池,获取高性能的cpu、内存等资源来提高整体运算能力

1.3 集群的目的

  • 提高性能:

可是计算密集应用

  • 降低成本

相对实现纵向扩展的同等性能,集群价格更加便宜

  • 提高可扩展性

增加集群的节点

  • 增强可靠性
  • 多个节点完成相同的功能,避免单点故障

1.4 根据群集所针对的目标差异lvs的三种工作模式(虚拟的服务器集群的系统)

  • 地址转换(NAT)
调度器会作为所有节点服务器的默认网关,也是客户端的访问入口和节点服务器的返回响应消息的出口,所以调度器会承载双向流量的负载压力,可能会成为整个群集的性能瓶颈,由于节点服务器都会出去内网环境,使用私网IP,所以具有一定的安全性。
  • IP Tunnel 隧道(TUN)
调度器仅作为客户端的访问入口,节点服务器的响应消息是直接返回客户端的,不需要经过调度器,但是由于节点服务器需部署在不同的公网环境,所以要有独立的公网IP,而且调度器与节点服务器是通过专用的IP速到实现相互通信,因此IP隧道模式的成本较高,安全性较低,且数据IP隧道传输的过程中现需要额外的封装和解封装,性能也会受到一定影响。
  • 直接路由 Direct Routing(DR)
调度点仅作为客户端的访问入口,节点服务器的响应消息是直接返回客户端的,不需要经过调度器。(与NAT模式的区别)
节点服务器与调度器是部署在同一个网络里,因此不要建立专用的IP隧道。(与IP隧道模式的区别)
DR模式是企业首选的LVS模式

1.5 负载均衡的结构

  • 第一层负载调度器(Load Balancer或Director)
访问整个群集系统的唯一入口,对外使用所有服务器的共有VIP地址,也称为群集IP地址。通常会配置主、备两台调度器实现热备份,当主调度器失效以后能够平滑替换至备用调度器,确保高可用性。
  • 第二层服务器池(Server Pool)
群集所提供的应用服务、由服务器池承担,其中每个节点具有独立的RIP地址(真实IP),只处理调度器分发过来的客户机请求。当某个节点暂时失效时,负载调度器的容错机制将会将其隔离,等待错误排除以后再重新纳入服务器池。
  • 第三层共享存储(Share Storage)
为服务器池的所有节点提供稳定、一致的文件存取服务,确保整个群记得统一性。共享存储可以使用NAS设备,或者提供NFS共享服务的专用服务器。

1.6 LVS的负载调度算法

固定的调度算法(RR、WRR、DH、SH)
  • 轮询(Round Robin)
将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器),均等地对待每一台服务器,而不管服务器实际的连接数和系统的负载。
  • 加权轮询(Weighted Round Robin)
根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多,保证性能强的服务器承担更多的访问流量。
  • 目的地址哈希调度(Destination Hashing)
以目的地址为关键字查找一个静态的hash表来获得所需的RS。
  • 源地址哈希调度(Source Hashing)
以源地址为关键字查找一个静态的hash表来获得所需的RS
动态的调度算法(WLC、LC、LBLC)
  • 加权最小连接调度(wlc)
架设各台的RS的权值依次为Wi,当前tcp链接数依次为Ti,依次去Ti/Wi为最小的RS座位下一个分配的RS。
  • 最小链接数的调度(Least-connection)
IPVS表存储了所有活动的连接,LB会比较将连接请求发送到当前连接最少得RS
  • 基于地址的最小链接数调度(Locality-based Least-connection)
将来自同一个目的地址的请求分配给同一台RS,此时这台服务器是尚未满负荷的。否则就将这个请求分配给链接数最小的RS,并以它作为下一次分配的优先考虑。

2 ipvsadm工具

2.1 ipvsadm 工具选项说明

-A:添加虚拟服务器
-D:删除整个虚拟服务器
-s:指定负载调度算法(轮询:rr、加权轮询:wrr、最少链接:1c、加权最少链接:wlc)
-a:表示添加真实服务器(节点服务器)
-d:删除某一个节点
-t:指定 VIP地址及TCP端口
-r:指定 RIP地址及TCP端口
-m:表示使用 NAT群集模式
-g:表示使用 DR模式
-i:表示使用 TUN模式
-w:设置权重(权重为0时表示暂停节点)
-p 60:表示保持长连接60秒(默认关闭链接保持)
-l:列表查看 LVS 虚拟服务器(默认为查看所有)
-n:艺术字形式显示地址、端口等信息,长与“-l”选项组合使用。ipvsadm -ln [-t  VIP:PORT]

2.2 常用命令格式

添加一个虚拟服务器,并指定vip为12.0.0.1,调度算法为轮询rr,长连接时间为5秒

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第1张图片

启动服务前须保存负载分配策略

如果是删除某个节点或者删除某个虚拟服务器
ipvsadm -d -t 12.0.0.1:80 -r 192.168.20.10:80     #删除群集中某一节点服务器
ipvsadm -D -t 12.0.0.1:80             #删除整个虚拟服务器
systemctl stop ipvsadm                #停止服务(清空策略),如果selinux没关闭/etc/sysconfig/ipvsadm内容也会清空
systemctl start ipvsadm               #启动服务(根据/etc/sysconfig/ipvsadm恢复策略)
ipvsadm-restore < /opt/ipvsadm            #恢复LVS 策略
如果是需要开机就生效 那么需要将其写入到/etc/rc.local文件中
vim /etc/rc.local
ipvsadm-restore < /opt/ipvsadm            #恢复LVS 策略
 
并且给该文件添加执行权限

3 NAT模式的LVS负载均衡群集部署

3.1 实验目的和原理

本次实验的目标是实现NAT模式的LVS四层反向代理,两台nginx做七层代理且为节点服务器,最终实现效果是客户端可以通过vip为12.0.0.1的网关访问集群中的静态和动态页面

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第2张图片

负载均衡器:内网:192.168.111.6 外网:12.0.0.1
web服务器1:192.168.111.7
web服务器2:192.168.111.8
nfs共享服务器:192.168.111.99

3.2 具体实验步骤

配置NFS共享服务器
安装并启动rpcbind和nfs服务

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第3张图片

创建共享目录,并将网页文件写入目录中

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第4张图片

配置共享文件并发布

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第5张图片

配置web1服务器
启动rpcbind服务查看并查看共享服务器的共享文件是否存在

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第6张图片

进行永久挂载

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第7张图片

配置网卡的网关为负载调度器的内网地址,并重启网卡

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第8张图片

将nginx长连接模式关闭

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第9张图片

配置web2服务器
同上开启rpcbind,并进行挂载将网卡配置改为负载调度器网关并重启网卡,将nginx服务长连接关闭并重启服务

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第10张图片

配置负载调度器
安装ipvsadm软件,打开路由转发功能

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第11张图片

添加一块网卡,地址改为外网网关地址12.0.0.1,本来的网卡改为192.168.111.6,配置完成后重启网卡

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第12张图片

配置ipvsadm工具
加载并查看ip_vs版本信息

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第13张图片

启动服务器需要保存负载分配策略,然后重启服务

-C清除原有策略,-A创建虚拟服务器 -t并指定VIP地址为12.0.0.1 ,-s 指定负载调度算法为rr(轮询)

-a指定节点服务器 -t指定VIP地址为12.0.0.1:80 -r 指定RIP地址为192.168.111.7和192.168.111.8 -m表示使用NAT集群模式,启用策略并查看节点状态

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第14张图片

使用浏览器查看是否轮询出现页面

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第15张图片

windows浏览器测试效果

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第16张图片

呕心沥血整理的LVS负载均衡知识还有NAT模式的部署,学到就是赚到_第17张图片

你可能感兴趣的:(lvs,负载均衡,运维)