首页 > 其他分享 >LVS负载均衡集群

LVS负载均衡集群

时间:2023-12-15 18:38:02浏览次数:31  
标签:负载 LVS IP 调度 集群 服务器 节点

LVS

Cluster,集群,群集

有多台主机构成,对外只表现为一个整体,只提供一个访问入口(域名或IP地址),相当于一台大型计算机

特点:由堕胎主机构成,都干同一件事,对外展现为一个整体

集群分类

根据集群针对的目标差异,可分为三种类型

负载均衡集群 (LB)

提高系统响应效率,处理更多的访问请求,减少响应延迟,实现高并发,高负载的能力。

典型代表:软件类(nginx LVS Haproxy SLB) 硬件类(F5 绿盟)

高可用集群 (HA)

提高系统的可靠性,减少中断时间,确保服务的连续性 (通常使用 N 个 9 代表高可用的而指标。)3个9 99.9% 一年连续服务的时间99.9%的时间,中断时间0.1% <font color='red'>非关键业务三个9 或四个9</font>

典型代表:Keepalived heartbeat

高性能运算集群 (HPC)

通过云计算或分布式计算获取高性能的CPU、内存等资源,来提高整体运算能力

负载均衡集群(Load Balance Cluster)

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

LB的负载分配依赖于主节点的分流算法,将来自客户机的访问<font color='red'>请求分担给多个服务器节点</font>,从而缓解而整个系统的负载压力,如DNS询,反向代理等

负载均衡集群架构

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

 

LVS的三种工作模式

1)NAT 地址转换

调度器会作为所欲节点服务器的默认网关,也是客户端的访问入口和节点服务器返回响应消息的出口,所以调度器会承受双向流量的负载压力,可能会为整个群集的性能瓶颈。由于节点服务器都会处于内网环境,使用私网IP,所以具有一点的安全性。

 

 

2)TUN IP隧道 ip Tunnel

调度器仅作为客户端的访问入口,节点服务器的响应信息时直接返回客户端的,不需要经过调度器,但是由于节点服务器需要部署在不同的公网环境,所以要有独立的公网IP,而且调度器与节点服务器时通过专用的IP隧道实现相互通信,因此IP隧道模式的成本较高,安全性较低,且数据在IP隧道传输过程中需要额外的封装和解放装。性能也会受到一定的影响。

 

3)DR 直接路由 Direct Routing

调度器仅作为客户端的访问入口,节点服务器的响应消息是直接而返回客户端,不需要经过调度器。 (与NAT模式的区别)

节点服务器与调度器时部署在同规格物理网络里,因此不需要建立专用的IP隧道 (与IP隧道模式的区别)

DR模式时企业首选的LVS 模式

 

 

LVS的负载调度算法

 

轮询 (Round Robin)
将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器)均等地对待每一台服务器,而不管服务器实际的连接数和系统负载加权轮询(Weighted Round Robin)根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多
保证性能强的服务器承担更多的访问流量

 

最少连接 (Least Connections)
根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点

加权最少连接(Weighted Least Connections)

在服务器节点的性能差异较大时,可以为真实服务器自动调整权重性能较高的节点将承担更大比例的活动连接负载

LVS调度算法

rr (轮询)   wrr (加权轮询)   sh(源地址哈希)   dh(目的地址哈希)  lc(最小连接)  wlc(加权最小链家)   lblc(基于地址的最小连接)

wlc(加权最小链家):优先分配请求给<连接数>/<权重值>的值最小的节点服务器

lblc(基于地址的最小连接):优先根据目的地址哈希将请求分配给同样一个节点服务器,若此节点服务器满负荷了,则优先将请求分配给当前连接数最小的节点服务器

 

ipcsadm工具

yum安装

创建虚拟服务器

添加或删除节点服务器

查看集群及节点请况

保存负载分配策略

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

 

LVS-NAT模式

1)部署NFS共享存储

2)部署web节点服务器,注意:节点服务器的默认网关 要指向调度器的内网IP,测试时候可关闭连接保持

3)部署调度器,配置双网卡,开启IP路由转发功能,如果内网中的节点服务器需要访问外网则需要配置SNAT规则,安装ipvsadm工具,添加虚拟服务器和真实服务器的相关配置 ,使用(-m)选项选择NAT 模式

4)客户端配置设置默认网关指向节点调度器的外网IP并使用客户端工具测试

 

 

 #准备四个服务器,22是负载调度器,23,28是节点服务器,24是共享存储

共享存储

 #创建两个目录

 

 #给新创建的目录权限

 #重定向输出到新建目录下创建index.html下

 

 #给两个创建的目录,可写可读权限,同步

 #刷新比详细显示

 #开启rpcbind和nfs

节点服务器

 #安装httpd

 #开启http

 #开启rpc和nfs

 #永久挂载

 #指定共享存储服务器IP,opt下的kgc   挂载目录  指定nfs服务,参数   第一个0不备份,第2个0开机不自检

 #刷新挂载

 

 #查看挂载情况

 #去28节点服务器配置与23服务器一样。永久挂载不一样

 #修改网卡配置

 #网关指向负载调度器的IP

 #另一个节点服务器也是指向负载调度器的IP

 #重启网络

配置负载调度器

 #给22设配器添加个网卡

 #复制ens33 名为ens36

 

 #修改网卡配置

 #重启网络

 

 #编辑内核参数配置文件

 #添加路由

 

 #删除所有规则

 #指定规则

 

 #加载ip_vs模块

 

 #安装ipvsadm

 #启动服务器需保存负载策略             

ipvsadm --save > /etc/sysconfig/ipvsadm   另一种保存

 

 #开启ipvsadm

 #清空所有策略

 #指定外网接口 80端口  -s 轮询

 

 

 #启用策略

 #保存策略

 #打开虚拟window  ping几个网卡

 

 #访问调度器的外网端口

 

 #刷新一下

 

标签:负载,LVS,IP,调度,集群,服务器,节点
From: https://www.cnblogs.com/yanrui07/p/17903224.html

相关文章

  • docker部署redis主从集群
    1、创建数据目录(logs目录要给权限,要不然会报错)mkdir-pv/data/redis/(data,logs}chmod777/data/redis/logs2、redis.conf配置文件-—-主从配置master节点配置cd/data/redisvimredis.confport6379bind0.0.0.0daemonizenoprotected-modenorequirepass123......
  • prometheus监控k8s集群信息(通过kubelet)
    prometheus监控k8s集群信息(通过kubelet)一、创建prometheus访问k8s权限账户(在k8s集群中操作)。1、在k8s集群中创建服务账户vimprometheus-sa.yamlapiVersion:v1kind:ServiceAccountmetadata:name:prometheus-sanamespace:monitor 2、创建集群角色......
  • Linux部署elasticsearch集群
    文章目录一、集群规划二、安装前准备(所有节点操作)创建数据目录修改系统配置文件/etc/sysctl.conf创建用户组设置limits.conf三、初始化配置(在节点1上操作)下载安装包解压安装包修改jvm.options文件下配置的所占内存修改集群配置文件elasticsearch.yml将安装包传到另外两个节点......
  • 创建一个Redis集群的启动命令并启动
    第一步:进入到存放集群的目录里cd/opt/cluster如下图[红线圈中的目录]:第二步:在此目录创建sh文件[示例为start.sh],并打开编辑vimstart.sh第三步:在文件中,写入要执行的所有Redis端口命令`redis-server/opt/cluster/6001/redis.confredis-server/opt/cluster/6002/redis.c......
  • 安装NETDATA集群监控面板
    安装NETDATA集群监控面板介绍官方链接演示网页:https://my-netdata.io/官方首页:http://netdata.cloud/文档地址:http://docs.netdata.cloudgithub地址:https://github.com/netdata/netdata#infographic安装官网提供一键安装脚本bash<(curl-Sshttps://my-netdata.io/kick......
  • 05 基础入门——资产架构&端口&应用&WAF&站库分离&负载均衡
    一、资产架构1、网站配置(1)目录型网站安全bbs.xiaodi8.com  dz论坛      #该域名下有一套网站程序,dz论坛bbs.xiaodi8.com/blog wp程序  #该域名的某个目录下也配置了一套网站程序总结:一个网站,两个程序,其中任何一个程序出现漏洞,都可以进入安全测试(同一服务器......
  • k8s1.26部署etcd集群挂载nfs failed to save Raft hard state and entries","error":"
    背景:使用helm部署apisix时会把etcd也一起部署了,etcd数据需要持久化的,这边因为测试环境使用nfs,挂载nfs时发现只有一个etcd节点启动正常其他两个均报错如下:failedtosaveRafthardstateandentries","error":"input/outputerror截图:排错过程:1查看节点是否都可以挂载nfs  ---......
  • SAP-APP-服务器组-pacemaker集群的基础环境的安装部署-001
    1、安装pacemaker相关的软件及可能会用到的软件,两台主机都需要安装[root@app01qq-5201351]#yuminstallnmap-ncat-y[root@app01qq-5201351]#yuminstallpcs-y[root@app01qq-5201351]#yuminstallresource-agents-sap-ynmap-ncat软件包是因为可以提供nc命令,只......
  • 教你使用Prometheus-Operator进行K8s集群监控
    本文分享自华为云社区《Promethues-operator入门使用指导》,作者:可以交个朋友。一、背景在非operator配置的普罗中我们监控k8s集群都是通过配置configmap进行服务发现和指标拉取。切换到prometheus-operator难免会有些使用问题。不少用户已经习惯底层配置自动发现的方式。当过渡......
  • prometheus监控k8s集群node节点/linux操作系统
    prometheus监控k8s集群node节点/linux操作系统 一、监控linux操作系统1、下载二进制包wgethttps://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz2、解压,移动至/opt并做软连接tarzxfnode_expo......