linux————LVS集群

目录

一、集群概述

一、负载均衡技术类型

二、负载均衡实现方式 

二、LVS结构

一、三层结构

二、架构对象

三、LVS工作模式

四、负载均衡算法

一、静态负载均衡

二、动态负载

五、ipvsadm命令详解

六、LVS配置

一、基础配置

二、实现NAT模型搭建

配置IP地址

 安装ipvsadm

 开启路由转发功能

加载ip_vs模块

 启动ipvsadm

 配置负载分配策略

配置web服务

 访问测试​编辑

​编辑

三、实现的模型搭建

调整ARP参数

 配置虚拟ip

 安装ipvsadm​编辑

启动ipvsadm服务​编辑​编辑

配置负载分配策略

 配置web节点

 访问测试


一、集群概述

一、负载均衡技术类型

        四层负载均衡器 也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;

        七层负载均衡器 也称为 7 层交换机,位于 OSI 的最高层,即应用层,此负载均衡器支持多种协议,如HTTP、FTP、SMTP 等。7 层负载均衡器可根据报文内容,配合一定的负载均衡算法来选择后端服务器,即“内容交换器”。如常见的 HAProxy、Nginx。

二、负载均衡实现方式 

        硬件负载均衡产品:F5 、深信服 、Radware

        软件负载均衡产品: LVS(Linux Virtual Server)、 Haproxy、Nginx、Ats(apache traffic server)

二、LVS结构

一、三层结构

        负载调度器

        服务器池

        共享存储

二、架构对象

        

VSVirtual Server ,也称为Director,负载均衡服务器
RSReal Server,真正的服务器,集群中各节点
VIPDirector 向外部提供服务的 IP
DIPDirector 向内部与 RS 通信的 IP

RIP

真实服务器的 IP
CIP客户端的 IP

三、LVS工作模式

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

四、负载均衡算法

一、静态负载均衡

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

二、动态负载

        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   隧道模式(不常用)
       -m    NAT模式

六、LVS配置

一、基础配置

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

二、实现NAT模型搭建

配置IP地址

增加一块网卡(NET模式 ip192.168.100.3, vmnet1 ip 192.168.131.100)

 安装ipvsadm

 开启路由转发功能

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

或 cd /etc/sysctl.d  &&touch route.conf

添加 net.ipv4.ip_forward = 1

加载  sysctl -p 

加载ip_vs模块

modprobe ip_vs
lsmod |grep ip_vs

 启动ipvsadm

创建对应的文件或目录 

 配置负载分配策略

ipvsadm -A -t 192.168.131.100:80 -s rr
ipvsadm -a -t 192.168.113.100:80 -r 192.168.100.4:80 -m
ipvsadm -a -t 192.168.131.100:80 -r 192.168.100.5:80 -m

ipvsadm-save > /etc/sysconfig/ipvsadm

配置web服务

安装nginx

修改网页页面

 或        route add -net 0/0 gw 192.168.100.3

 

 访问测试

深度刷新 ctrl+f5

三、实现的模型搭建

调整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

加载iop_vs模块

modprobe ip_vs
lsmod |grep ip_vs

启动ipvsadm服务

配置负载分配策略

ipvsadm -A -t 192.168.115.200:80 -s rr
ipvsadm -a -t 192.168.115.200:80 -r 192.168.115.4:80 -g
ipvsadm -a -t 192.168.115.200:80 -r 192.168.115.5:80 -g

 配置web节点

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

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0

DEVICE=lo:0
IPADDR=192.168.115.200
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback:0

route add -host 192.168.115.200/32 dev lo:0

 访问测试

深度刷新 ctrl+f5

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

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

相关文章

redis高级----------主从复制

redis的四种模式:单例模式;主从模式;哨兵模式,集群模式 一、主从模式 单例模式虽然操作简单,但是不具备高可用 缺点: 单点的宕机引来的服务的灾难、数据丢失单点服务器内存瓶颈,无法无限纵向扩…

NO.08 MyBatis创建逆向工程

目录 1、前言 2、添加依赖和插件 3、创建MyBatis的核心配置文件 4、创建逆向工程的配置文件 5、执行MBG插件的generate目标 1、前言 工程的创建有正向工程和逆向工程之分。正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表,如…

Windows上安装Hugo的环境

Hugo是一个使用Go编写的静态站点生成器,即网站构建工具。 静态的意思是指在内容在网站上呈现之前需要全部编译成HTML文件。而动态的站点生成器是请求哪个页面就编译生成哪个HTML页面。 在Windows上可以选用包管理器Chocolatey、Scoop、Winget来安装Hugo。 这里我…

Rancher证书更新

一、环境 主机名 IP地址 操作系统 rancher版本 K8s-Master 192.168.10.236 Centos 7 2.5.9 二、更新证书 1、查看当前证书到期时间 2、进行证书轮换 [rootK8s-Master ~]# docker ps |grep rancher/rancher d581da2b7c4e rancher/rancher:v2.5.9 …

CGAL 点云分类

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 点云分类一直是点云数据应用的永恒课题,它包含很多,如地面点分类、建筑物分类、植被分类等。CGAL中也为我们提供了一种点云分类的方式,其具体的计算过程如下所述: 首先,使用点云中所携带的一些几何特征来对数据…

小梦C嘎嘎——启航篇】C++STL 中 list日常使用的接口介绍

小梦C嘎嘎——启航篇】CSTL 中 list日常使用的接口介绍😎 前言🙌什么是list?常用的函数接口无参的构造函数接口拷贝构造接口赋值运算符重载 总结撒花💞 😎博客昵称:博客小梦 😊最喜欢的座右铭&a…

云服务器(Centos7系统)配置JAVA+mysql+tomcat 环境

文章主要内容来源云服务器(Centos7系统)部署javaweb项目(二)配置JAVAmysqltomcat 环境_man_zuo的博客-CSDN博客 模仿途中遇到的问题 连接无效 有时连接无法下载,可能是过期了,将其更换为官网给的下载连接即…

WiFi天线和NB-IoT天线不通用

表面看起来完全一样。但是把WiFi天线插到NB-IoT设备后,信号弱了很多。还导致设备反复重启

代码随想录算法训练营之JAVA|第三十三天|738. 单调递增的数字

今天是第33天刷leetcode,立个flag,打卡60天,如果做不到,完成一件评论区点赞最高的挑战。 算法挑战链接 738. 单调递增的数字https://leetcode.cn/problems/monotone-increasing-digits/ 第一想法 题目理解:找到一个…

【Unity细节】Unity制作汽车时,为什么汽车会被弹飞?为什么汽车会一直抖动?

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶‍🌫️收录于专栏:unity细节和bug 😶‍🌫️优质专栏 ⭐【…

MYSQL 统计停车时长百分比

SELECTCOUNT(*) AS 数量,subquery.total_count AS 总数,COUNT(*) * 100 / subquery.total_count AS 百分比,CASEWHEN park_long < 900 THEN 15分钟以内WHEN park_long > 900 AND park_long < 3600 THEN 15-60分钟WHEN park_long > 3600 AND park_long < 10800 T…

只需五分钟,了解kafka的环境搭建

〇、前言 在Kafka系列的上一篇文章中&#xff0c;我们介绍了Kafka的体系结构&#xff0c;那么本篇文章呢&#xff0c;我们就着手来把Kafka的运行环境搭建起来。 此处 &#xff0c;我们采用线上环境普遍使用的ZooKeeper作为管理存储和管理kafka集群元数据&#xff0c;或者辅助…

vue 中 axios 的安装及使用

vue 中 axios 的安装及使用 1. axios 安装2. axios使用 1. axios 安装 首先&#xff0c;打开当前的项目终端&#xff0c;输入 npm install axios --save-dev验证是否安装成功&#xff0c;检查项目根目录下的 package.json,其中的 devDependencies 里面会多出一个axios及其版本…

SpringBoot整合阿里云OSS,实现图片上传

在项目中&#xff0c;将图片等文件资源上传到阿里云的OSS&#xff0c;减少服务器压力。 项目中导入阿里云的SDK <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.10.2</version>…

ffmpeg合并mp4视频文件

下载ffmpeg Download FFmpeg 2配置环境 右键此电脑-》属性-》高级系统设置 环境变量-》path 解压上面ffmpeg压缩包&#xff0c;找到bin目录&#xff0c;复制完整路径&#xff0c;添加到path环境变量中 测试ffmpeg ffmpeg合并MP4文件 创建一个文本文件&#xff0c;例如inpu…

mybatis入门Idea搭建

一、概念 1、什么是mybatis&#xff1f; MyBatis是一个开源的Java持久层框架&#xff0c;它提供了一种简化数据库访问的方式。它的主要作用是将Java对象与数据库表之间进行映射&#xff0c;使开发者可以通过面向对象的方式操作数据库&#xff0c;而不需要编写大量的SQL语句。M…

vue3 实现按钮权限管理

在做后台管理系统时&#xff0c;经常会有权限管理的功能&#xff0c;这里来记录一下关于按钮权限管理的实现方法 1、自定义指令 v-permission。新建js文件用来写指令代码。 export default function btnPerms(app) {app.directive(permission, {mounted(el, binding) {if (!p…

vscode C++17便捷配置教程(懒人版)

环境链接 以上是已经配置好的c17环境链接&#xff0c;直接下载解压即可 下载解压之后按照msys64-mingw64-bin路径打开 然后单击该路径右方空白区域可直接复制路径 然后点击开始菜单搜索“环境变量“并打开&#xff08;如图&#xff09; 然后点击右下方环境变量 之后双击下方…

低压风机单片机方案

低压风机通常由电机、转子、机壳、进气管、出气管、齿轮和减速机等组成。电机带动转子旋转&#xff0c;旋转的转子带动齿轮和减速机转动&#xff0c;进而形成空气被吸入转子内部&#xff0c;通过旋转而产生的离心力把气体压缩&#xff0c;并将气体排出。 低压风机方案的主控型…

C++11并发与多线程笔记(10) future其他成员函数、shared_future、atomic

C11并发与多线程笔记&#xff08;10&#xff09; future其他成员函数、shared_future、atomic 1、std::future 的成员函数1.1 std::future_status 2、std::shared_future&#xff1a;也是个类模板3、std::atomic原子操作3.1 原子操作概念引出范例&#xff1a;3.2 基本的std::at…