负载均衡群集(Load Balance Cluster)
以提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能LB的负载分配依赖于主节点的分流算法
群集的负载调度技术有三种工作模式
- 地址转换(本文只介绍NAT模式)
- IP隧道
- 直接路由
NAT模式
地址转换 (Network AddressTranslation)
- 简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口
- 服务器节点使用私有IP地址,与负载调度器位于同一一个物理网络,安全性要优于其他两种方式
负载均衡群集架构
负载均衡的结构
- 第一层,负载调度器(Load Balancer或Director)
- 第二层,服务器池(Server Pool)
- 第三层,共享存储(Share Storage)
LVS的负载调度算法
轮询(Round Robin)
将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器)均等地对待每一台服务器,而不管服务器实际的连接数和系统负载
加权轮询(Weighted Round Robin)
- 根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重
- 保证处理能力强的服务器承担更多的访问流量
最少连接(Least Connections)
根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点
加权最少连接(Weighted Least Connections)
- 在服务器节点的性能差异较大的情况下,可以为真实服务器自动调整权重
- 权重较高的节点将承担更大比例的活动连接负载
实验操作
实验环境
调度服务器(centos7):
外(ens36):12.0.0.1
内(ens33):192.168.200.1
web服务器1(centos7):192.168.200.110
web服务器2(centos7):192.168.200.120
存储服务器(centos7):192.168.200.130
client客户端(win10):12.0.0.12
1、验证存储服务器是否安装相关服务
[root@localhost ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.48.el7.x86_64 #已安装
[root@localhost ~]# rpm -q rpcbind
rpcbind-0.2.0-42.el7.x86_64 #已安装
[root@localhost ~]#
2、分别验证两台web服务器是否安装httpd服务,若没有,则安装
第一台:
[root@localhost ~]# rpm -q httpd
未安装软件包 httpd
[root@localhost ~]# yum install httpd -y
.................//省略安装过程
[root@localhost ~]#
第二台:
[root@localhost ~]# rpm -q httpd
未安装软件包 httpd
[root@localhost ~]# yum install httpd -y
.................//省略安装过程
[root@localhost ~]#
3、验证调度服务器是否有管理工具,若没有,则安装
[root@localhost ~]# rpm -q ipvsadm
未安装软件包 ipvsadm
[root@localhost ~]# yum install ipvsadm -y
.................//省略安装过程
[root@localhost ~]#
一、配置调度服务器
1、将配置服务器的网络模式改为仅主机
2、配置存储服务器,固定IP地址
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #dhcp改为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=09073596-a7cf-404c-a098-28c3ff58c44b
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.200.130 #IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.200.1 #网关
[root@localhost ~]# systemctl restart network #重启网络服务
[roo