LSV负载均衡群集
1. 群集概述
1.1 群集的分类
根据群集所针对的目标差异,可分为三种类型
负载均衡群集
高可用群集
高性能运算群集
1.1.1 负载均衡群集(Load Balance Cluster)
提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能
LB的负载分配依赖于主节点的分流算法
1.1.2 高可用群集(High Availability Cluster)
提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果
HA的工作方式包括双工和主从两种模式
1.1.3 1、高性能运算群集(High Performance Computer Cluster)
提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力
高性能运算群集的高性能依赖于“分布式运算”、“并行计算”,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力
2. 负载均衡群集
2.1 负载均衡群集工作模式分析
1、负载均衡群集是目前企业用得最多的群集类型
2、群集的负载调度技术有三种工作模式
地址转换
IP隧道
直接路由
2.2 NAT模式
●地址转换(Network Address Translation)
●简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口
●服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式
2.3 TUN模式
●IP隧道(IP Tunnel)
简称TUN模式,采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器
●服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信
2.4 直接路由(Direct Routing)
●简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络
●负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道
2.5 负载均衡群集架构
负载均衡的结构
第一层,负载调度器(Load Balancerg或Director)
第二层,服务器池(Server Pool)
第三层,共享存储(Share Storage)
2.6 LVS的负载调度算法
1、轮询(Round Robin)
将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器),均等地对待每一台服务器,而不管服务器实际的连接数和系统负载
2、加权轮询(Weighted Round Robin)
根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重
保证处理能力强的服务器承担更多的访问流量
3、最少连接(Least Connections)
根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点
4、加权最少连接(Weighted Least Connections)
在服务器节点的性能差异较大的情况下,可以为真实服务器自动调整权重
权重较高的节点将承担更大比例的活动连接负载
2.7 常用命令的解释
LVS的负载调度算法有四种最常用的:轮询算法(rr)、加权轮询(wrr)、最少轮询(Ic)、加权最少轮询(wlc)
1.创建虚拟服务器(注意:NAT模式要两块网卡,调度器的地址是外网口地址)
群集的VIP地址为192.168.80.33,针对TCP80端口提供负载分流服务,使用的轮询调度算法。对于负载均衡调度器来说,VIP必须是本机实际已启用的IP地址
ipvsadm -A-t 192.168.20.11:80 -s rr
//选项"-A"表示添加虚拟服务器,"-t"用来指定VIP地址及TCP端口,"-S"用来指定负载调度算法——rr、wrr、Ic、wlc
2.添加服务器节点
ipvsadm -a -t 192.168.20.11:80-r 192.168.80.33:80 -m
ipvsadm -a -t 192.168.20.11:80 -r 192.168.80.44:80 -m
/选项"a"表示添加真实服务器,"-“用来指定VIP地址及TCP端口,“r”'用来指定RIP地址及TCP端口,”-m"表示使用NAT群集模式("-g"是DR模式,“1"是TUN模式)
{ -m参数后面还可以跟-w的参数,这里没有做的"-w"用来设置权重(权重为0时表示暂停节点)}
3.删除服务器节点
ipvsadm -d -r 192.168.90.22:80-t 192.168.80.88:80
/需要从服务器池中删除某一个节点时,使用选项"-心”。执行删除操作必须指定目标对象,包括节点地址、虚拟IP地址。如上所示的操作将会删除LVS群集192.168.80.8中的节点
若需要删除整个虚拟服务器时,使用选项-D并指定虚拟IP地址即可,无需要指定节点。例如:“ipvsadm -D-t 192.168.80.11:80”,则删除此虚拟服务器。
//查看节点状态,加个"-n"将以数字形式显示地址、端口信息
ipvsadm-L //查看节点状态,加个"-n"将以数字形式显示地址、端口信息
ipvsadm-save > /etc/sysconfig/ipvsadm//保存策略
3. 实验
实验要求
调度器 配置双网关 VM1:192.168.100.21 桥接网卡:20.0.0.26
二台WEB服务器集群池,192.168.100.22 192.168.100.23 这边网关必须指向192.168.100.21这个地址
一台NFS共享服务器
调度器
nmcli connection 查看一下新增网卡的UUID号
ens33 c15f171f-cad0-4a5b-8aa0-eff164e0ac02 ethe
ens37 281b343a-e1cc-364d-b799-da4895cc080c ethe
virbr0 126bfb68-05e1-4df5-8360-f6b8ddd2ef18 brid
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens37
vi ifcfg-ens37 编辑网卡信息
vi ifcfg-ens33 编辑ens33网卡信息
systemctl restart network 重启网卡
yum -y install ipvsadm 安装ipvsadm 管理工作
modprobe ip_vs 调用ip_vs模块
cat /proc/net/ip_vs 查看ip_vs版本信息
ipvsadm -v
ipvsadm -A -t 20.0.0.26:80 -s rr 群集的VIP地址20.0.0.26,针对TCP80端口提供负载分流服务,使用调度算法为轮询
ipvsadm -a -t 20.0.0.26:80 -r 192.168.100.22:80 -m 添加服务节点
ipvsadm -a -t 20.0.0.26:80 -r 192.168.100.23:80 -m 添加服务节点
ipvsadm-save > /opt/ipvsadm 保存策略
vi /etc/sysctl.conf 开启调度服务器路由转发功能
net.ipv4.ip_forward = 1 最后一段插入这个
sysctl -p
ipvsadm -ln 查看节点状态
设置存储服务区
vi /etc/sysconfig/network-scripts/ifcfg-ens33 进入里面更改以下IP地址和网关
yum -y install nfs-utils 安装nfs-utils
yum -y install rpcbind 安装rpcbind
mkdir /opt/51xit /opt/52xit 创建文件夹
vi /etc/exports 设置文件权限
/opt/51xit 192.168.100.0/24(rw,sync)
/opt/52xit 192.168.100.0/24(rw,sync)
systemctl restart nfs 重新启动nfs
systemctl restart rpcbind 重新启动rpcbind
systemctl enable rpcbind 永久自启rpcbind
systemctl enable nfs 永久自启nfs
echo "this is www.51xit.top" >/opt/51xit/index.html 测试页
echo "this is www.52xit.top" >/opt/52xit/index.html 测试页
cat /opt/51xit/index.html 查看信息是否输出成功
cat /opt/52xit/index.html 查看信息是否输出成功
两台 WEB服务器
yum -y install nfs-utils
showmount -e 192.168.100.25 看一下是否存在
mkdir -p /var/www/html 创建文件夹
yum -y install httpd 安装httpd服务
systemctl start httpd 开启httpd服务
systemctl enable httpd 永久自启
上面的两台WEB服务器设置相同
mount 192.168.100.25:/opt/51xit /var/www/html 这个是WEB1的挂载
vi /etc/fstab 永久挂载
192.168.100.25:/opt/51xit /var/www/html nfs defaults,_netdev 0 0
Init 6
mount 192.168.100.25:/opt/52xit /var/www/html 这个是WEB2的挂载
vi /etc/fstab 永久挂载
192.168.100.25:/opt/51xit /var/www/html nfs defaults,_netdev 0 0
Init 6
测试
先用浏览器登录分别登录192.168.100.22和192.168.100.23 看以下输出信息然后再测试调度器20.0.0.26 看一下信息是否会随着每次刷新更换信息