LVS集群 (四十四)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、集群概述

1. 负载均衡技术类型

 2. 负载均衡实现方式

二、LVS结构

三、LVS工作模式

四、LVS负载均衡算法

 1.  静态负载均衡

  2.  动态负载均衡

五、ipvsadm命令详解

六、LVS配置案例

1.  基础配置

2. 实现NAT模型搭建

3. 实现DR模型搭建

总结



前言

LVS(Linux Virtual Server)是一个基于Linux操作系统的高性能、可扩展的服务器集群技术。它通过将多台服务器组织成一个逻辑集群,提供负载均衡、高可用性和扩展性等功能。


提示:以下是本篇文章正文内容,下面案例可供参考

一、集群概述

1. 负载均衡技术类型

          四层负载均衡器 也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;
        七层负载均衡器 也称为 7 层交换机,位于 OSI 的最高层,即应用层,此负载均衡器支持多种协议,如HTTP、FTP、SMTP 等。7 层负载均衡器可根据报文内容,配合一定的负载均衡算法来选择后端服务器,即“内容交换器”。如常见的 HAProxy、Nginx。

 2. 负载均衡实现方式

        硬件负载均衡产品:F5 、深信服 、Radware
        软件负载均衡产品: LVS(Linux Virtual Server)、 Haproxy、Nginx、Ats(apache traffic server)

二、LVS结构

     三层结构
        负载调度器
        服务器池
        共享存储
    架构对象
        VS:Virtual Server,也称为 Director,负载均衡服务器
        RS:Real Server,真正的服务器,集群中各节点
        VIP:Director 向外部提供服务的 IP
        DIP:Director 向内部与 RS 通信的 IP
        RIP:真实服务器的 IP
        CIP:客户端的 IP

三、LVS工作模式

    LVS-NAT(NAT模式)
    LVS-DR(直接路由模式)(应用最广泛)
    LVS-TUN(IP隧道(Tunnel)模式,不常用)
    FULL-NAT模式(双向转换模式,不常用)

四、LVS负载均衡算法

 1.  静态负载均衡

             rr(round robin,轮询 )
            wrr(weight round robin,加权轮询)
            sh(source hashing,源地址散列算法(HASH))
            dh(destination hashing,目标地址 HASH)

  2.  动态负载均衡

        lc(leash-connection,最少连接 )
            简单算法:active * 256 + inactive (谁的小选谁)
        wlc(加权最少连接)
            简单算法:(active * 256 + inactive) / weight(谁的小选谁)
        sed(最少期望延迟)
            简单算法:(active + 1) * 256 / weight (谁的小选谁)
        nq(never queue,永不排队)
        LBLC(基于局部性的最少连接 )
        LBLCR(基于局部性的带复制功能的最少连接)

五、ipvsadm命令详解

-A 添加虚拟服务节点
-D 删除虚拟服务节点
-L 查看虚拟服务节点列表
-a添加真实服务节点
 -d删除真实服务节点
 -l 查看真实服务节点列表
 -t指定虚拟服务器IP地址
 -s指定调度算法
 -r指定真实服务器节点IP地址
-w指定权重值
-g 直接路由模式(默认)
 -i 隧道模式(不常用)
 -mNAT模式

六、LVS配置案例

1.  基础配置

    修改主机名
    关闭防火墙
    关闭Selinux
    关闭Networkmanager
    配置IP地址

2. 实现NAT模型搭建

2.1 负载调度器配置
    配置IP地址
            增加一块网卡


            cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens37
            vim ifcfg-ens37 

            删除UUID
     NAME=ens37
     DEVICE=ens37


      

   配置本地yum源

    安装ipvsadm
        yum  install -y ipvsadm 


    开启路由转发功能
        vim /etc/sysctl.conf
        net.ipv4.ip_forward = 1  


        sysctl -p


    加载ip_vs模块
        modprobe ip_vs
        lsmod |grep ip_vs


    启动ipvsadm服务
        systemctl start ipvsadm

    配置负载分配策略
        ipvsadm -A -t 192.168.142.100:80 -s rr

        ipvsadm -a -t 192.168.142.100:80 -r 192.168.115.4:80 -m
        ipvsadm -a -t 192.168.142.100:80 -r 192.168.115.5:80 -m


    保存策略
        ipvsadm-save > /etc/sysconfig/ipvsadm 

2.2 web节点配置
    配置网关
        route add -net 0/0 gw 192.168.115.3

 测试访问:192.168.23.100 

 

 

 3. 实现DR模型搭建

原理图

 

3.1 负载调度器配置

调整ARP参数
    vim /etc/sysctl.conf
    net.ipv4.conf.all.send_redirects = 0 
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects = 0


    sysctl -p

配置虚拟IP地址
    cd /etc/sysconfig/network-scripts/
    cp ifcfg-ens33 ifcfg-ens33:0

 安装ipvsadm
    yum  install -y ipvsadm

加载ip_vs模块
    modprobe ip_vs
    lsmod |grep ip_vs

启动ipvsadm服务
    systemctl start ipvsadm

配置负载分配策略
    ipvsadm -A -t 192.168.115.200:80 -s rr
    ipvsadm -a -t 192.168.115.200:80 -r 192.168.156.4:80 -g
    ipvsadm -a -t 192.168.115.200:80 -r 192.168.156.5:80 -g

3.2  web节点配置(两台一样的配置)

调整ARP参数
    vim /etc/sysctl.conf
    net.ipv4.conf.all.arp_ignore=1 
net.ipv4.conf.all.arp_announce=2 
net.ipv4.conf.default.arp_ignore=1 
net.ipv4.conf.default.arp_announce = 2 
net.ipv4.conf.lo.arp_ignore = 1 
net.ipv4.conf.lo.arp_announce=2
    sysctl -p 

配置虚拟IP地址
    cd /etc/sysconfig/network-scripts/
    cp ifcfg-lo ifcfg-lo:0
    vim ifcfg-lo:0 添加回环路由
    route add -host 192.168.156.200/32 dev lo:0

 测试

 


总结

LVS集群具有以下优点:

高可用性:通过使用多个服务器节点,当某个节点故障时,其他节点可以继续提供服务,保证系统的可用性。

负载均衡:将客户端请求分发给集群中的多个服务器节点,使得各个节点的负载相对均衡,提高系统的性能和吞吐量。

扩展性:可以根据需求方便地添加或移除服务器节点,实现集群的横向扩展。

总的来说,LVS集群是一种成熟的、可靠的服务器集群技术,广泛应用于大规模的互联网服务、电子商务等领域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/109911.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【分析绘图】R语言实现一些常见的绘图

微生信-在线绘图网站 线性图 library(ggplot2)x <- rnorm(100, 14, 5) # rnorm(n, mean 0, sd 1) y <- x rnorm(100, 0, 1) ggplot(data NULL, aes(x x, y y)) # 开始绘图geom_point(color "darkred") # 添加点annotate("text",x 13,…

Mybatis小记

目录 Mybatis第一个程序 xml文件 测试类 错误排查 Mybatis第一个程序 1.搭建实验数据库 2.导入MyBatis相关jar包 3.编写MyBatis核心配置文件 4.编写MyBatis工具类 5.创建实体类、 6.编写Mapper接口类 7.编写Mapper.xml配置文件 8.编写测试类 对象传参只引用需要的属性就可…

springcloud3 GateWay章节-Nacos+gateway(跨域,filter过滤等5

一 常用工具类 1.1 结构 1.2 跨域 Configuration public class CorsConfig {Beanpublic CorsWebFilter corsFilter() {CorsConfiguration config new CorsConfiguration();config.addAllowedMethod("*");config.addAllowedOrigin("*");config.addAllowe…

lua的函数

1.一个示例实现列表的元素的求和 [root]# more funcAdd.lua function add(a)local sum 0for i 1,#a dosum sum a[i]endreturn sum enda {1,2,3,4,5,6}local sum add(a)print(sum)

Flask入门一 ——虚拟环境及Flask安装

Flask入门一 ——虚拟环境及Flask安装 在大多数标准中&#xff0c;Flask都算是小型框架&#xff0c;小到可以称为“微框架”&#xff0c;但是并不意味着他比其他框架功能少。Flask自开发伊始就被设计为可扩展的框架。Flask具有一个包含基本服务的强健核心&#xff0c;其他功能…

大模型理解之CLIP

前言 2021年2月份&#xff0c;CLIP模型被提出&#xff0c;想法很简单&#xff0c;性能高效&#xff0c;而且具备很好的泛化性。我在这里简单谈论下我对CLIP模型的理解&#xff0c;以及发现的一些问题。 我是在沐神的视频中了解的CLIP, 里面提到CLIP最大的贡献在于打破了固定类…

ELK之LogStash介绍及安装配置

一、logstash简介 集中、转换和存储数据 Logstash 是免费且开放的服务器端数据处理管道&#xff0c;能够从多个来源采集数据&#xff0c;转换数据&#xff0c;然后将数据发送到您最喜欢的“存储库”中。 Logstash 能够动态地采集、转换和传输数据&#xff0c;不受格式或复杂度的…

10.Oracle中decode函数

【函数格式】&#xff1a; decode ( expression, condition_01, result_01, condition_02, result_02, ......, condition_n, result_n, result_default) 【函数说明】&#xff1a; 若表达式expression值与condition_01值匹配&#xff0c;则返回result_01&#xff0c;…

[ DPU / SmartNIC/ 网卡 ]系统级的测试验证

开局一张图&#xff0c;其他慢慢来编 信雅纳DPU测试解决方案荣获第三届DPU峰会的“匠芯技术奖” 看完这张&#xff0c;小编再送一张&#xff1a;&#xff1a;&#xff1a; 网卡进化 更智能的加速卡SmartNIC/DPU 例如&#xff0c;将部分网络协议处理的功能卸载到 DPU 网卡&am…

初试Eureka注册中心

Eureka是spring cloud中的一个负责服务注册与发现的组件。遵循着CAP理论中的A(可用性)P(分区容错性)。一个Eureka中分为eureka server和eureka client。其中eureka server是作为服务的注册与发现中心。 搭建eureka服务 引入eureka依赖 引入SpringCloud为eureka提供的starter依…

Arcgis colorRmap

arcgis中colorRmap对应的名称&#xff1a; 信息来源&#xff1a;https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm 在arcpy中使用方法&#xff1a; import arcpy cr arcpy.mp.ColorRamp("Yellow to Red")python中 ma…

Python“牵手”淘宝商品列表数据,关键词搜索淘宝API接口数据,淘宝API接口申请指南

淘宝平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范&#xff0c;淘宝API接口是指通过编程的方式&#xff0c;让开发者能够通过HTTP协议直接访问淘宝平台的数据&#xff0c;包括商品信息、店铺信息、物流信息等&#xff0c;从而实现淘宝平台…

【面试题】MVC、MVP与MVVM模式是什么?

MVC模式 MVC是应用最广泛的软件架构之一&#xff0c;一般MVC分为&#xff1a; Model&#xff08; 模型 &#xff09;、Controller&#xff08; 控制器 &#xff09;、View&#xff08; 视图 &#xff09;。 这主要是基于分层的目的&#xff0c;让彼此的职责分开。View 一般…

leetcode875. 爱吃香蕉的珂珂(java)

二分查找 爱吃香蕉的珂珂二分查找 上期经典 爱吃香蕉的珂珂 难度 - 中等 LC - 875.爱吃香蕉的珂珂 珂珂喜欢吃香蕉。这里有 n 堆香蕉&#xff0c;第 i 堆中有 piles[i] 根香蕉。警卫已经离开了&#xff0c;将在 h 小时后回来。 珂珂可以决定她吃香蕉的速度 k &#xff08;单位&…

Apache StreamPark系列教程第一篇——安装和体验

一、StreamPark介绍 实时即未来,在实时处理流域 Apache Spark 和 Apache Flink 是一个伟大的进步,尤其是Apache Flink被普遍认为是下一代大数据流计算引擎, 我们在使用 Flink & Spark 时发现从编程模型, 启动配置到运维管理都有很多可以抽象共用的地方, 我们将一些好的经验…

Unity关键概念

Unity是一款跨平台的游戏引擎和开发工具&#xff0c;用于创建2D和3D游戏、交互式内容和应用程序。它提供了一个强大的开发环境&#xff0c;使开发者能够轻松地设计、开发和部署高质量的游戏和应用程序。 以下是Unity的几个关键概念&#xff1a; 游戏对象&#xff08;Game Obj…

基于Visual studio创建API项目

API&#xff08;英文全称&#xff1a;Application Programming Interface,中文&#xff1a;应用程序编程接口&#xff09; 为什么要 通过API接口可以与其他软件实现数据相互通信&#xff0c;API这项技术能够提高开发效率。 本文是基于vs2017 .net平台搭建API。希望可以帮助到学…

法律小程序开发:让法律咨询更便捷

在现代社会&#xff0c;法律咨询服务越来越受到人们的重视和需求。为了方便用户预约法律咨询&#xff0c;很多律所都开始使用小程序来提供在线预约服务。那么&#xff0c;如何制作一款律所预约小程序呢&#xff1f; 首先&#xff0c;我们可以选择乔拓云网作为制作小程序的平台。…

鸿蒙是一个怎么样的操作系统,真的是安卓套壳吗?

从鸿蒙项目正式推出以来&#xff0c;就一直有各自声音&#xff0c;有看好的&#xff0c;认为鸿蒙的出现将会成为一个智能终端设备操作系统的框架和平台&#xff0c;促进万物互联产业的繁荣发展&#xff1b;也有的人在唱衰&#xff0c;觉得鸿蒙发展不起来&#xff0c;甚至认为鸿…

LLM预训练大型语言模型Pre-training large language models

在上一个视频中&#xff0c;您被介绍到了生成性AI项目的生命周期。 如您所见&#xff0c;在您开始启动您的生成性AI应用的有趣部分之前&#xff0c;有几个步骤需要完成。一旦您确定了您的用例范围&#xff0c;并确定了您需要LLM在您的应用程序中的工作方式&#xff0c;您的下…