LVS负载均衡集群-NAT

网友投稿 233 2022-11-01

LVS负载均衡集群-NAT

一.集群与分布式

1.1 集群的含义

Cluster,集群、群集,为解决某个特定问题将多台计算机组合起来形成的单个系统

由多台主机构成,但对外只表现为一个整体

1.2群集的三种类型

​​负载均衡​​群集

LB: Load Balancing,负载均衡,多个主机组成,每个主机只承担一部分访问请求

提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能

LB的负载分配依赖于主节点的分流算法

高可用群集

HA: High Availiablity,高可用,避免 SPOF(single Point Of failure)

提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果

HA的工作方式包括双工和主从两种模式

高性能运算群集

HPC: High-performance computing,高性能

提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力

高性能依赖于“分布式运算”、“并行计算”,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力

1.3LVS的负载调度算法

①轮询(Round Robin)

将收到的访问请求按照顺序轮流分配给群集中的各节点 (真实服务器)

均等地对待每台服务器,而不管服务器实际的连接数和系统负载。

②加权轮询(Weighted Round Robin)

根据调度器设置的权重值来分发请求

权重值高的节点优先获得任务并且分配的请求越多

这样可以保证性能高的节点承担更 多请求。

③最少连接(Least Connections)

根据真实服务器已建立的连接数进行分配

将收到的访问请求优先分配给连接数最少的节点

如果所有的服务器节点性能相近,采用这种方式可以更好的均衡负载

④加权最少连接(Weighted Least Connections)

在服务器节点的性能差异较大的 情况下,调度器可以根据节点服务器负载自动调整权重

权重较高的节点将承担更 大比例的活动连接负载。

⑤IP_Hash

根据请求来源的IP地址进行Hash计算,得到后端服务器

这样来自同一个IP的请求总是会落到同一台服务器上处理,以致于可以将请求上下文信息存储在这个服务器上

⑥url_hash

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器

后端服务器为缓存时比较有效

⑦fair

采用的不是内建负载均衡使用的轮换的均衡算法

而是可以根据页面大小、加载时间长短智能的进行负载均衡

也就是根据后端服务器时间来分配用户请求,响应时间短的优先分配

1.5负载均衡群集架构

第一层,负载调度器(Load Balancer或Director)第二层,服务器池(Server Pool)第三层,共享存储(Share Storage)

2.NAT模式 LVS负载均衡部署

配置环境

2.1部署共享存储(NFS服务器:192.168.204.200)

NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡 群集来说,使用 NFS 协议来共享数据存储是比较常见的做法,NFS 也是 NAS 存储设备必然支 持的一种协议。

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程 到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持

2.1.1 #关闭防火墙

systemctl stop firewalld

setenforce 0

2.1.2#安装nfs服务

yum install nfs-utils rpcbind -y

2.1.3. #新建目录,并创建站点文件

cd /opt/[root@opt]# mkdir yr zx [root@opt]# echo "this is yr" >yr/index.html [root@opt]# echo "this is zx" >zx/index.html

2.1.4. #开启服务

systemctl start rpcbind

systemctl start nfs

2.1.5. #授权

chmod 777 yr/ zx/

777读写执行权限

2.1.6. #设置共享策略

vim /etc/exports

/opt/yr 192.168.204.0/24(rw,sync)

/opt/zx 192.168.204.0/24(rw,sync)

2.1.7. #发布服务

systemctl restart nfs

exportfs -rv

参数 含义

a  全部挂载(或卸载)   /etc/exports 档案内的设定

r   重新挂载  /etc/exports 里面的设定,也同步的更新/etc/exports和/var/lib/nfs/xtab里面的内容

u  卸载某一目录

v   在export的时候,将分享的目录显示到荧屏上

#exportfs -rv//重新export一次

#exportfs -au//全部卸载

2.2节点Web服务器 第一台 (192.168.204.129)

2.2.1. #关闭防火墙

systemctl stop firewalld

setenforce 0

2.2.2. #安装install -y #查看nfs服务

showmount -e 192.168.204.200

2.2.4. #挂载站点

#法一:临时挂载(挂载的是共享的机器)

cat /var/~]# mount 192.168.204.200:/opt/zx /var/~]# df

#法二:永久挂载

vim /etc/fstab

192.168.204.200:/opt/zx/  /var/       nfs     defaults,_netdev 0 0

mount -a

2.2.5. #开启start #指定网关

vim /etc/sysconfig/network-scripts/ifcfg-ens33

GATEWAY=192.168.59.140

#DNS1=114.114.114.114

2.2.7. #重启网络服务

systemctl restart network

2.3第二台(192.168.204.130)

2.3.1. #关闭防火墙

systemctl stop firewalld

setenforce 0

2.3.2. #安装install -y #查看nfs服务

showmount -e 192.168.204.200

2.3.4. #挂载站点

#法一:临时挂载

[root@~]# mount 192.168.204.200:/opt/zx /var/~]# df

cat /var//etc/fstab

192.168.204.200:/opt/zx /var/   nfs     defaults,_netdev 0 0

mount -a

2.3.5. #开启start #指定网关

vim /etc/sysconfig/network-scripts/ifcfg-ens33

GATEWAY=192.168.59.118

#DNS1=8.8.8.8

2.2.7. #重启网络服务

systemctl restart network

2.4负载调度器

内网:192.168.204.140 (ens33) 外网卡:12.0.0.1(ens37)

2.4.1. #关闭防火墙

systemctl stop firewalld

setenforce 0

2.4.2. #安装ipvsadm

yum install -y ipvsadm*

2.4.3. #添加一块网卡,我这里是ens37,配置网卡,重启网络

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens37

vim ifcfg-ens37

去掉网关、UUID、修改IP

vim ifcfg-ens33

去掉网关

systemctl restart network

2.4.4. #打开路由转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

2.4.5. #防火墙做策略

#查看策略

iptables -nL -t nat

#清空策略

iptables -F

#添加策略

iptables -t nat -A POSTROUTING -s 192.168.59.0/24 -o ens37 -j SNAT --to 12.0.0.1

#查看策略

iptables -nL -t nat

2.4.6. #加载LVS内核模块

modprobe ip_vs

cat /proc/net/ip_vs

2.4.7. #开启ipvsadm服务

ipvsadm-save >/etc/sysconfig/ipvsadm

systemctl start ipvsadm.service

2.4.8. #清空策略

ipvsadm -C

2.4.9. #制定策略

#指定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.59.102:80 -m

ipvsadm -a -t 12.0.0.1:80 -r 192.168.59.105:80 -m

#开启服务

ipvsadm

2.4.10. 查看策略

ipvsadm -ln

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于AT89S51单片机的SPI与线阵CCD接口设计
下一篇:Java设计模式七大原则之合成复用原则详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~