LVS负载均衡群集
群集的定义
Cluster,集群(也称群集)由多台主机构成,但对外只表现为一一个整体,只提供一-个访问入口(域名或IP地址), 相当于一台大型计算机。
群集的作用
对于企业服务的的性能提升一般会有两种方式:
纵向扩展: 对服务器的CPU 内存 硬盘 等硬件进行升级或者扩容来实现的 性能上限会有瓶颈,成本昂贵,收效比不高等问题。
横向扩展:通过增加服务器主机数量来应该高并发的场景。
群集的目的
提高性能:计算密集应用。如天气预报,核试验模拟。 降低成本:相对百万美元的超级计算机,价格便宜。 提高可扩展性:只要增加集群节点即可。 增强可靠性:多个节点完成相同功能,避免单点失败。
企业级群集的类型
负载均衡(LB):提高应用系统的响应效率,处理更多的访问请求,减少延迟,提高并发和负载能力。 同时也是如今企业运用最多的群集类型。
高可用(HA): 提高应用系统的可靠性,减少服务中断时间,确保服务的连续性
高性能运算(HPC):将多台主机的硬件计算资源整合到一起实现分布式运用,比如 云计算
LVS的相关话术:
DS:Director Server。指的是前端负载均衡器。
RS:Real Server。节点服务器,后端真实的工作服务器。
VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址。
DIP:Director Server IP,主要用于和内部主机通讯的IP地址。
RIP:Real Server IP,后端服务器的IP地址。
CIP:Client IP,访问客户端的IP地址。
LVS的基本原理
1.当用户向负载均衡器(Director Server)发起请求,调度器将请求发送至内核空间。
2.Prerouting链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发送到INPUT链。
3.IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已经定义好的集群服务进行对比,如果用户请求的就是定义的集群服务,那么此时IPVS会强行修改数据包里的目标IP地址及端口,并将新的数据包发送到POSTROUTING链。
4.POSTROUTING链接收数据包后发现目标IP地址刚好是自己的后端服务器,那么此时通过选路,将数据包最终发送到后端的服务器。
LVS负载均衡的三种模式
群集的负载调度技术有三种工作模式:地址转换(NAT模式) ,直接路由(DR模式),IP隧道(IP-TUN)。对于商用来说,最常用是NAT模式和DR模式。
NAT(地址转换)
-
Network Address Translation,简称NAT模式
-
类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机 的访问入口,也是各节点回应客户机的访问出口。
-
服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两 种方式。
-
缺点:由于NAT的负载均衡器既作为用户的访问请求入口,也作为节点服务器响应请求的出口,承载两个方向的压力,调度器的性能会成为整个集群的瓶颈。
DR模式(直接路由)
- Direct Routing,简称DR模式。
- 采用半开放式的网络结构,与TUN模式的结构类似,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器。承载的压力比NAT小。
- 但各节点并不是分散在各地,而是与调度器位于同一个物理网络。
- 负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道。
LVS的负载调度算法
rr:轮询算法(Round Robin)
- 将请求依次分配给不同的RS节点,即RS节点中均摊分配。适合于RS所有节点处理性能接近的情况。
- 将收到的访问请求安装顺序轮流分配给群集指定各节点(真实服务器),均等地对待每一台服务器,而不管服务器实际的连接数和系统负载。
wrr:加权轮询调度(Weighted Round Robin)
- 依据不同RS的权重值分配任务。权重值较高的RS将优先获得任务,并且分配到的连接数将比权值低的RS更多。相同权值的RS得到相同数目的连接数。
- 保证性能强的服务器承担更多的访问流量。
dh:目的地址哈希调度(destination hashing)
- 以目的地址为关键字查找一个静态hash表来获得所需RS。
sh:源地址哈希调度(source hashing)
- 以源地址为关键字查找--个静态hash表来获得需要的RS。
(2)动态调度算法: wlc,lc,1blc
lc:最小连接数调度( Least Connections)
- ipvs表存储了所有活动的连接。LB会比较将连接请求发送到当前连接最少的RS。
- 根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点。
wlc:加权最小连接数调度(Weighted Least Connections)
- 假设各台RS的权值依次为Wi,当前tcp连接数依次为Ti,依次取Ti/Wi为最小的RS作为下一个分配的RS。
- 在服务器节点的性能差异较大时,可以为真实服务器自动调整权重。
- 性能较高的节点将承担更大比例的活动连接负载。
lblc:基于地址的最小连接数调度(locality-based least-connection)
-
将来自同一个目的地址的请求分配给同一-台RS,此时这台服务器是尚未满负荷的。否则就将这个请求分配给连接数最小的RS,并以它作为下一次分配的首先考虑。
LVS-NAT模式实例
NFS服务器 7-5 192.168.222.105
#关闭防火墙
systemctl stop firewalld
setenforce 0
#安装nfs服务
yum install nfs-utils rpcbind -y
#新建目录,并创建站点文件
cd /opt/
mkdir zhao qian
echo "zhaoqiansunli" >zhao/index.html
echo "zhouwuzhengwang" >qian/index.html
#开启服务
systemctl start rpcbind
systemctl start nfs
#授权
chmod 777 zhao/ qian/
#设置共享策略
vim /etc/exports /opt/fl
192.168.222.0/24(rw,sync) /opt/dl
192.168.222.0/24(rw,sync)
#发布服务
systemctl restart nfs
exportfs -rv
节点服务器1 7-4 192.168.222.104
#关闭防火墙
systemctl stop firewalld
setenforce 0
#安装httpd
yum install -y httpd
#查看nfs服务
showmount -e 192.168.222.105
#挂载站点
#法一:临时挂载
dfmount 192.168.222.105:/opt/zhao /var/www/html/
cat /var/www/html/index.html
#法二:永久挂载
vim /etc/fstab
192.168.222.105:/opt/zhao/ /var/www/html/ nfs defaults,_netdev 0 0
mount -a
#开启httpd服务
systemctl start httpd
#指定网关
vim /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=192.168.222.100
#DNS1=8.8.8.8
#重启网络服务
systemctl restart network
节点服务器2 7-3 192.168.222.103【和7-4操作相同】
负载调度器 7-2 192.168.222.100 需要两块网卡
#关闭防火墙
systemctl stop firewalld
setenforce 0
#安装ipvsadm
yum install -y ipvsadm*
#添加一块网卡,配置网卡,重启网络
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens35
vim ifcfg-ens35 去掉网关、UUID、修改IP
vim ifcfg-ens33 去掉网关
systemctl restart network
#打开路由转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
#防火墙做策略
#查看策略
iptables -nL -t nat
#清空策略
iptables -F
#添加策略
iptables -t nat -A POSTROUTING -s 192.168.222.0/24 -o ens35 -j SNAT --to 12.0.0.1
#查看策略
iptables -nL -t nat
#加载LVS内核模块
modprobe ip_vs
cat /proc/net/ip_vs
#开启ipvsadm服务
ipvsadm-save >/etc/sysconfig/ipvsadm
systemctl start ipvsadm.service
#清空策略
ipvsadm -C
#制定策略
#指定IP地址 外网的入口 -s rr 轮询 ipvsadm -A -t 12.0.0.1:80 -s rr
#先指定虚拟服务器再添加真实服务器地址,-r:真实服务器地址 -m指定nat模式
ipvsadm -a -t 12.0.0.1:80 -r 192.168.222.103:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.222.104:80 -m
#开启服务 ipvsadm
#查看策略
ipvsadm -ln
客户端主机
修改ip
访问12.0.0.1文章来源:https://www.toymoban.com/news/detail-731807.html
文章来源地址https://www.toymoban.com/news/detail-731807.html
到了这里,关于LVS-NAT模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!