LVS负载均衡集群 (NAT模式)

LVS集群

集群的概念:

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

集群的水平扩展:

增加设备,并行运行多个服务,通过网路连接和算法来调度服务分配的问题

集群的类型:

负载均衡集群(LB loab blance) :多个主机组成,每个主机只承担一部分访问请求,靠负载均衡算法实现

高可用集群(HA high availiablity) :避免SPOF(singe point of failuer) 单点故障,系统当中有一部分组件出现故障。可以保障整个系统继续运行

HPC(high-performance computing):快速 转发 快速响应

集群的可靠性指标:

MTBF:系统在正常运行期间无故障平均时间,一般用小时或者天数表示,MTBF值越高,系统的可靠性越高,出现的故障也越小

MTTR:系统从发生故障到恢复正常运行的平均时间,MTTR越小 说明系统的恢复故障的能力越强

A:系统可靠性指标,A值越高越好

A=MTBF/(MTBF+MTTR)

停机时间:

计划内停机:只的预定时间内的维护或者维修时间,自定义

计划外停机:运维人主要关注的

设计集群的需要考虑的一些原则;

1 可扩展性:要有随时添加删除设备的能力(动态的扩缩容)

2 集群中:如果有节点发生故障,它可以快速检测并且自动切换,

3 负载均衡:合理的分配每个服务的负载,避免单个节点的过载影响性能

4 可维护性:方便的进行部署维护监控,降低成本

5 安全性 :数据泄密

6 易用性:相关的工作

lvs集群:

linux virtual server 是一个部署在Linux系统通过内核层面实现负载均衡的软件

作用:

多个后端服务器组成一个高可用,高新能,负载均衡的高性集群,通过负载均衡的算法将客户请求发送到后端服务器。

lv集群当中的术语: 

Vs(virtual server) :lvs服务的逻辑名字,外部访问lvs集群是提供的一个虚拟ip地址和端口

VIP: virtual ip对外提供访问的统一虚拟IP地址。

DS(Director server): lvs集群当中的主服务器,也叫调度器,是整个lvs集群的核心,接收客户端的请求转发到后端RS

DIP: Director ip调度器在Iys内部使用的ip地址。用于和真实服务器进行通信。

RS(real server lvs ):后端是真时服务器的IP,接收到DS的请求之后,返回响应结果

RIP:后端真实服务器的jp地址

CIP: client ip客户端的ip地址

LVS访问的大致流程

1 客户端访问都是vip地址

2 由调度器ds接受到请求,根据调度算法选择好后端服务器 请求发送给rs

3 RS处理请求并将响应发送到DS

4 DS把RS 的响应包装成自己响应,发送到客户端

lvs的负载均衡模式方式:

NAT DR TUN

其中NAT和DR最常用的方式

NAT:地址转发

配置步骤:

1:在调度器上配置双网卡。一个指内,一个之外

2:配置一个可以和公网进行通信的vip

3: 配置转发策略,如果访问vip就会把请求的数据转发到后台的RS地址,响应给用户。

192.18.33.0---------调度器---- ---- nat转换-------------12.0.0.1:80-------客户端。

数据请求进入调度器做的是请求报文中ip地址的修改

数据响应进入调度器,根据NAT配置进行地址转换

nat:

对于客户端来说请求地址始终不变,客户端不需要修改任何配置。转发由调度器通过算法来完成,后端服务器只管接受响应。也不需要修改任何配置。

DR:

DR:直接路由模式。请求由调度器完成,但是响应客户端由真实服务器直接响应,不需要通过调度器。

好处是:性能高,而且可以配置vip地址的高可用。不存在单点故障。

如何设置lvs:

Lvs adm工具: 管理ipvs内核模块的命令工具,可用于配置和管理LVS集群

-A: 添加虚拟服务器

-D: 删除整个服务器

-s 指定负载调度的算法

-a 添加真实服务器

-d 删除真实服务器

-t 指定vip地址的端口号

-r 指定rip的端口号

-m 表示使用nat 模式

- g 表示使用DR模式

- i 表示使用TUN模式

-w 设置真是服气的权重

- P 60 :设置连接保持的时间60秒(默认不带)

-ln 以数字和列表的形式查看lvs的配置信息

静态调度的写法:

 Rr 轮询

Wrr加权轮询

dh 目的地址hash
根据ip地址查找静态hash表 获取需要真实的rs地址

动态调度的写法:

ls最小连接数调度

wlc:加权最小连接数调度

权重高的,转发的就多,为了额避免性能瓶颈,在跟上最小连接数分配,可以把请求往连接数量较小的服务器继续转发。

lblc:基于地址的最小连接数调度。

将来自同一个目的地址的请求分配给RS,如果这台服务器尚未满负荷,就会把请求分配给连接数最小的RS,而且在下一次转发

网址访问内容

#清空原有数据

所有从233.0网段进来的统统从12.0.0.1出去

#配置共享策略

[root@www opt]# vim /etc/exports

#创建共享目录,哪些网址可以访问,给与权限可以同步

#把服务发布下

[root@www opt]# exportfs -rv

NAT模式

命令:systemctl stop firewalld

setenforce 0

#安装依赖环境

命令:yum -y install nfs-utils rpcbind

#开启服务

命令:systemctl start rpcbind

systemctl start nfs

#创建共享目录

命令:mkdir /opt/[名字]  /opt/[名字]

给目录文件赋权

命令:chmod 777 /opt/名称  /opt/名称

设置共享配置文件

命令:vim /etc/exports

发布共享目录并查看

命令:exportfs -rv

showmount -e

配置第二台虚拟机

安装HTTP服务

命令:yum -y install httpd

开启HTTP服务

命令:systemctl start httpd

systemctl enable httpd

安装共享依赖环境

命令:yum -y install rpcbind nfs-utils

按顺序开启服务

命令:systemctl start nfs

systemctl enable nfs

systemctl start rpcbind

systemctl enable rpcbind

测试查看共享地址

命令:showmount -e 192.168.8.100

创建网页执行文件

命令:echo “内容” > /var/www/html/index.html

创建永久挂载

命令:vim /etc/fstab

查看挂载是否成功

命令:mount -a    #先刷新挂载

df -h

部署第三台虚拟机

安装相同的服务

命令:yum -y install nfs-utils rpcbind httpd

创建网页执行文件

命令:echo "内容" > /var/www/html/index.html

创建永久挂载

命令:vim /etc/fstab

 查看挂载

命令:mount -a   #刷新挂载

df -h

查看指定地址共享

命令:showmount -e [IP地址]

部署第四台虚拟机

配置SNAT转发规则

命令:vim /etc/sysctl.conf

测试配置内容

命令:sysctl -p

清除防火墙策略

命令:iptables -F

检查一下防火墙策略

命令:iptables -t nat -nL

 设置防火墙策略

命令:iptables -t nat -A POSTROUTING -s [IP地址] -o ens36 -j SNAT --to--source 10.0.0.1

加载IP_VS模块

命令:modprobe ip_vs

安装ipvsadm工具

命令:yum -y install ipvsadm

修改虚拟机设置

修改网络编辑器

​​​​​​​

创建网卡

命令:cp ifcfg-ens33 ifcfg-ens36

修改网卡配置文件

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

查看网卡信

命令:ifconfig

设置ipvsadm策略

命令:ipvsadm -C

ipvsadm -A -t 10.0.0.1:80 -s rr

ipvsadm -a -t 10.0.0.1:80 -r 192.168.8.200:80 -m -w 1

ipvsadm -a -t 10.0.0.1:80 -r 192.168.8.130:80 -m -w 1

保存分配策略

命令:ipvsadm-save

启动策略

命令:ipvsadm

 修改Win系统的IPv4地址协议

修改Web节点服务器的网关指向

网关指向调度器的RIP地址

两台Web服务重启网卡

命令:systemctl restart network

修改Win系统虚拟机的网络适配器

用浏览器进行访问测试

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

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

相关文章

【Javascript】基础数据类型

目录 基础数据类型 1.number 字面量声明 数字对象方式声明 整数判断 指定返回小数位数 NaN-表示非数字值 浮点精度 解决误差 String 字面量声明 数字对象声明 连接运算符 获取长度 大小写转换 转换成大写 转换成小写 ​编辑 移除空白 获取单字符 ​编辑 截…

html中公用css、js提取、使用

前言 开发中,页面会有引用相同的css、js的情况,如需更改则每个页面都需要调整,重复性工作较多,另外在更改内容之后上传至服务器中会有缓存问题,特针对该情况对公用css、js进行了提取并对引用时增加了版本号 一、提取…

分布式Trace:横跨几十个分布式组件的慢请求要如何排查?

目录 前言 一、问题的出现? 二、一体化架构中的慢请求排查如何做 三、分布式 Trace原理 四、如何来做分布式 Trace 前言 在分布式服务架构下,一个 Web 请求从网关流入,有可能会调用多个服务对请求进行处理,拿到最终结果。这个…

Redis-Sentinel高可用架构学习

Redis-Sentinel高可用架构 Redis主从复制过程: 主从同步原理 Redis Sentinel(哨兵)高可用集群方案:Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案。 当用Redis做Master-slave的高可用方案时,假如master宕机了…

Rust-后端服务调试入坑记

这篇文章收录于Rust 实战专栏。这个专栏中的相关代码来自于我开发的笔记系统。它启动于是2023年的9月14日。相关技术栈目前包括:Rust,Javascript。关注我,我会通过这个项目的开发给大家带来相关实战技术的分享。 如果你关注过我的Rust 实战里…

Unity⭐️Win和Mac安卓打包环境配置

文章目录 🟥 配置Android SDK1️⃣ 配置 SDK Platforms2️⃣ 配置 SDK Tools🎁 Android SDK Build-Tools🎁 Android SDK Command-line Tools(latest)🎁 Android SDK Tools(Obsolete)🟧 配置NDK🟩 配置JDK前情提示: 此方法适用于Windows/Mac 在配置时注意开启 🪜 …

解决osg绘制场景时因Z冲突导致重影或闪烁等不正常情况

目录 1. 问题的提出 2. Z冲突(z-fighting)简介 2.1. Z冲突(z-fighting)产生的原因 2.2. 如何消除Z冲突(z-fighting) 3. 代码实现 1. 问题的提出 今天绘制了一个棋盘格,鼠标在棋盘格上单击…

CVE-2019-0708漏洞实战

使用命令:search 0708搜索exp脚本 搜索网段中主机漏洞 use auxiliary/scanner/rdp/cve_2019_0708_bluekeep 照例,show options 看一下配置 设置网段set RHOSTS x.x.x.x run运行就行了 使用攻击模块 use exploit/windows/rdp/cve_2019_0708_bluekee…

论文阅读-多目标强化学习-envelope MOQ-learning

introduction 一种多目标强化学习算法,来自2019 Nips《A Generalized Algorithm for Multi-Objective Reinforcement Learning and Policy Adaptation》本文引用代码全部来源于论文中的链接。主要参考run_e3c_double.py文件 1 总体思想 1.将输入中加入多目标的偏…

Leetcode 202 快乐数(HashSet,环形链表思想)

Leetcode 202 快乐数(HashSet) 解法1 : 用HashSet来检测循环:star:为什么说数字n的位数由log n给定呢?解法2 : 链表的思想[出现循环表示链表出现环],使用快慢指针法 题目链接>>>>>>>&…

用 Java 在 PDF 中创建和管理图层,实现交互式文档

PDF 图层(也称为可见图层或附加图层等)是组织和管理 PDF 文档中内容可见性的一种方法。PDF 图层可用于创建交互式文档、隐藏或显示特定信息、创建多语言版本文档等。通过添加和删除图层,用户可以根据需要定制 PDF 文档指定内容的可见性与显示…

PO模式在selenium自动化测试框架的优势

大家都知道po模式可以提高代码的可读性和减少了代码的重复,但是相对的缺点还有,今天通过本文一起学习下PO模式在selenium自动化测试框架的优势,需要的朋友可以参考下 PO模式简介 1.什么是PO模式 PO模型是:Page Object Model的简写 页面对象…

国内有哪些做得好的企业协同办公软件

在当今信息化时代,企业协同办公软件成为了提升企业效率和推动协作的重要工具。国内市场涌现出许多优秀的企业协同办公软件,为企业提供了高效、便捷的协同办公解决方案。在本文中,我们将向大家介绍3款在国内好评如潮的企业协同办公软件&#x…

项目知识点总结-过滤器-MD5注册-邮箱登录

(1)过滤器 使用过滤器验证用户是否登录 /** * Title: NoLoginFilter.java * Package com.qfedu.web.filter * Description: TODO(用一句话描述该文件做什么) * author Feri * date 2018年5月28日 * version V1.0 */ package com.gdsdx…

Mingw快捷安装教程 并完美解决出现的下载错误:The file has been downloaded incorrectly

安装c语言编译器的时候,老是出现The file has been downloaded incorrectly,真的让人 直接去官网拿压缩包:https://sourceforge.net/projects/mingw-w64/files/ (往下拉找到那个x86_64-win32-seh的链接,点击后会自动…

【Java题】实现继承和多态的例子

一:题目 1.员工类Employee: (1)私有成员变量:姓名,年龄,工资 (2)提供无参,有参构造 (3)成员方法:work()方法——员工工作 …

AUTOSAR AP 硬核知识点梳理(2)— 架构详解

一 AUTOSAR 平台逻辑体系结构 图示逻辑体系结构描述了平台是如何组成的,有哪些模块,模块之间的接口是如何工作的。 经典平台具有分层的软件体系结构。定义明确的抽象层,每个抽象层都有精确定义的角色和接口。 对于应用程序,我们需要考虑使用的软件组件,希望它们是可重用的…

洗地机哪个好用?2023年洗地机推荐指南

说到提高家庭幸福生活的家电,洗地机肯定是少不了的,特别对于现在快节奏的生活来说,高效率的解决家务活,而且能够大幅度的提高生活质量。在市场上,消费者面临着选择合适洗地机的难题,因为有各种型号、功能和…

vue3 + fastapi 实现选择目录所有文件自定义上传到服务器

文章目录 ⭐前言💖 技术栈选择 ⭐前端页面搭建💖 调整请求content-type传递formData ⭐后端接口实现💖 swagger文档测试接口 ⭐前后端实现效果💖 上传单个文件💖 上传目录文件 ⭐总结⭐结束 ⭐前言 大家好&#xff0c…

嵌入式养成计划-45----QT--事件机制--定时器事件--键盘事件和鼠标事件--绘制事件

一百一十五、事件机制 当这件事情发生时,会自动走对应的函数处理(重写的事件函数) 115.1 事件处理简介 什么是事件? (重点) 件是由窗口系统或者自身产生的,用以响应所发生的各类事情,比如用户按下并释放…