部署LVS+keepalived做网站的高可用,高负载。

  • LVS+keepalived

    • keepalived背景

      • 针对LVS的辅助工具,主要提供故障切换与健康检查。

      • 工作场景:作为调度器的双机热备,以及节点服务器的健康检查以及故障切换(删除条目)。

      • 借鉴了VRRP协议来实现高可用。

    • keepalived部署

      • 拓扑

        • 两台调度器之间实现高可用并实现对web服务器的健康状态检查,web服务器之间做一个负载均衡。

      • 两台调度器的配置

        • 准备前奏

          • 添加或关闭防火墙,内核安全机制也要关闭

          • 关闭NetworkManager

            • 该服务如果不关闭,漂移IP无法进行漂移

        • 安装keepalived并进行配置

          • 安装后先设置为开机自启

            • systemctl disable keepalived

          • 拷贝配置文件:在/etc/keepalived/keepalived

          • 配置文件详解

            • 全局配置部分

              • global_defs {

              • notification_email {

                • 该模块表示当keep发生切换操作后需要发送Email通知,以及发送给哪些邮件地址

              • acassen@firewall.loc

                • 具体的邮件地址,每行一个

              • failover@firewall.loc

              • sysadmin@firewall.loc

              • }

              • notification_email_from Alexandre.Cassen@firewall.loc

                • 该行定义了发送警报邮件的发送者是谁(发件人)

              • smtp_server 192.168.200.1

                • 表示可以用那台服务器的邮件服务发送邮件,通常可以使用127.0.0.1也就是本机提供该服务。

              • smtp_connect_timeout 30

                • 连接stmp服务的超时时间

              • router_id LVS_DEVEL

                • 机器标识:区分不同服务器的标识,对实际的服务的运行不产生影响,邮件服务快速定位

              • vrrp_skip_check_adv_addr

                • 不对master的宣告地址做检查,宽松的运行keepalived

              • vrrp_strict

                • 启用该项是除非恰当设置网络,否则不允许单播通信。

              • vrrp_garp_interval 0

                • 定期宣告IP地址所有权,当设置为0时仅在切换后做宣告

              • vrrp_gna_interval 0

              • }

            • vrrp实例部分

              • vrrp_instance VI_1 {

                • 实例名称,一个服务器可以有多个实例(应用场景)后面会写。

              • state MASTER

                • 确定初始状态的角色

                  • 在vrrp的选举循环中的init位置

              • interface eth0

                • 承载VIP的网卡,以自己为准

              • virtual_router_id 51

                • 每一个实例都必须用相同的VRID才能加入到同一个热备组。

              • priority 100

                • 因为VRRP采用优先级做选举master依据范围(0~255)0保留,255(IP地址拥有者)

              • advert_int 1

                • master的宣告报文间隔,以秒为单位(告诉其他backup)master还活着。

              • authentication {

                • 当其他的实例想要加入该热备组需要进行密码认证。

              • auth_type PASS

              • auth_pass 1111

              • }

              • virtual_ipaddress {

                • 虚拟VIP地址:每一个虚拟vip就代表着一个群集

              • 192.168.200.16

              • 192.168.200.17

              • 192.168.200.18

              • }

              • }

            • 虚拟服务器部分

              • virtual_server 192.168.200.100 443 {

                • 与实例中的VIP对应,是一个群集的开始

              • delay_loop 6

                • 健康检查的时间间隔

              • lb_algo rr

                • 调度算法

                  • rr|wrr|lc|wlc|lblc|sh|dh 

              • lb_kind NAT

                • 工作模式

                  • DR TUN NET

              • persistence_timeout 50

                • 持久超时(会话保持,在50秒内来自同一个IP的请求会被转发到同一个服务器上)

              • protocol TCP

                • 健康检查用的协议

              • real_server 192.168.201.100 443 {

                • 后端真实服务器的IP地址以及端口

              • weight 1

                • 该真实服务器的权重

              • SSL_GET {

                • 健康检查的方法

                  • 5:SMTP_CHECK:用来检测邮件服务的smtp的
              • url {

              • path /

              • digest ff20ad2481f97b1754ef3e12ecd3a9cc

              • }

              • url {

              • path /mrtg/

              • digest 9b3a0c85a887a256d6939da88aabd8cd

              • }

              • connect_port 80

                • 健康检查的端口

              • connect_timeout 3

                • 健康检查的连接超时时间

              • nb_get_retry 3

                • 超时后重试的次数

              • delay_before_retry 3

                • 重试次数之间的间隔

              • }

              • }

              • }

          • 配置文件中需要改动的地方

            • #vrrp_strict

              • 将不允许单播注释

            • 根据需要可以设为不同的标识

              • router_id LVS_01

            • state MASTER

              • 根据拓扑需求设置为不同的角色

            • interface ens33

              • 根据实际需要选择合适的网卡承载VIP

            • virtual_router_id 51

              • 确保同一个热备组中的实例的id一致

            • priority 100

              • 优先级越高越优先

            • virtual_ipaddress { 192.168.10.172 }

              • 选择虚拟ip

            • virtual_server 192.168.10.172 80 { delay_loop 6 lb_algo rr lb_kind DR nat_mask 255.255.255.0 ! persistence_timeout 50 protocol TCP real_server 192.168.10.103 80 { weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } }

              • 修改成合适的IP地址,选择健康检查方式,将会话保持功能关闭方便后期测试。

          • 在调度器内核中加入相关参数

            • net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.ens33.send_redirects = 0

              • 关闭内核的重定向功能,

          • 最后开启keepalived

          • 从服务器也要进行相关设置

          • web服务器处理

            • 两台服务器分别用lo:0去承载VIP,并且在内核中添加相关参数。

              • 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

            • 最后在web网页文档目录下设置相关参数进行测试,分别down掉调度器与web服务器看是否能正常访问。

复制全部到xmind即可形成条理性笔记,图片复制不过去请单独粘贴! 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙开发设备管理:【@ohos.vibrator (振动)】

振动 说明: 开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 imp…

【网工】学习笔记1

windows:ipconfig ens40:和别人通信的网卡 lo本地回环和自己通信的网卡 ifconfig down/up 进程:运行起来的程序 使用浏览器访问网站:http:电脑上的程序和网站上的程序之间的通信。 主要用于服务器和客户端之间上传和…

Vue-Router4.0 报“Cannot read property ‘forEach‘ of undefined”

Vue-Router4.0在创建路由时 报“Cannot read property ‘forEach‘ of undefined” 解决办法 将路由规则名称更改为routes,否则报错 import { createWebHashHistory, createRouter } from vue-router; // 创建路由规定 const routes [{path: /login,name: login,co…

51单片机基础11——蓝牙模块控制亮灭

串口初试——蓝牙模块 蓝牙模块的使用1. 软硬件条件2. 蓝牙模块3. 代码(分文件处理之后的代码) 蓝牙模块的使用 1. 软硬件条件 单片机型号:STC89C52RC开发环境:KEIL4烧录软件串口通信软件:stc-isp蓝牙模块:HC-04LED模块(高电平点…

【数智化人物展】天云数据CEO雷涛:大模型连接数据库 为数智化提供高价值数据...

雷涛 本文由天云数据CEO雷涛投递并参与由数据猿联合上海大数据联盟共同推出的《2024中国数智化转型升级先锋人物》榜单/奖项评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 这几天,奥特曼讲SQL数据库和大模型结合起来会产生什么样的化学变化引起行业关注。为…

im即时通讯软件有哪些?WorkPlus安全专属移动数字化平台

IM即时通讯软件是为满足快速、即时沟通需求而设计的工具。在众多IM即时通讯软件中,WorkPlus作为一种安全专属移动数字化平台,为企业提供了全方位的移动办公解决方案,并注重信息安全和数据隐私保护。本文将介绍几种常见的IM即时通讯软件以及Wo…

【自动驾驶仿真在做什么——初学者总结(陆续补充)】

文章目录 基础概念自动驾驶级别再稍提一下ODD是什么? 自动驾驶仿真分类软件在环仿真硬件仿真 仿真究竟难在哪?关于lidar和radar区别一些名词解释 最近也是学习自动驾驶仿真相关知识,习惯去总结一下,方便自己回顾和总结&#xff0c…

layui-表单(输入框)

1.基本使用方法 先写一个表单元素块 form 加上layui-form 里面写行区块结构,如下: 2.输入框选项 placeholder默认文本 autocomplete自动填充 lay-verify required必填

2.5 C#视觉程序开发实例1----IO_Manager实现切换程序

2.5 C#视觉程序开发实例1----IO_Manager实现切换程序 1 IO_Manager中输入实现 1.0 IO_Manager中输入部分引脚定义 // 设定index 目的是为了今后可以配置这些参数、 // 输入引脚定义 private int index_trig0 0; // trig index private int index_cst 7; //cst index priva…

#招聘数据分析#2024年6月前程无忧招聘北上广深成渝对比情况

#招聘数据分析#2024年6月前程无忧招聘北上广深成渝对比情况 0、根据前程无忧不完全样本统计,北上广深成都重庆平均月工资从高到低依次为 北京15441元、上海14425元、深圳13310元、广州11192元、成都10539元、重庆10290。 1、成都招聘样本数全量35228个&#xff0c…

【论文阅读】-- Interactive Horizon Graphs:改进多个时间序列的紧凑可视化

Interactive Horizon Graphs: Improving the Compact Visualization of Multiple Time Series 摘要1 引言2 相关工作2.1 多个时间序列的可视化2.2 缩减折线图 (RLC)2.3 地平线图 (HG)2.4 大尺度和小尺度变异数据集2.5 多个时间序列…

Explore Synapse

rm -r dp-203 -f git clone https://github.com/MicrosoftLearning/dp-203-azure-data-engineer dp-203 cd dp-203/Allfiles/labs/01 ./setup.ps1 -- This is auto-generated code SELECTTOP 100 * FROMOPENROWSET(BULK https://datalakexxxxxxx.dfs.core.windows.net/fil…

vue css 链式布局模式

<div class"pp-wrap"> <div class"pp-left"><!--跳活动反思--><div class"even-box" v-for"(item,index) in trackingPtoPLeftList" :key"index" click"jumpReview(item)"><div …

嵌入式UI开发-lvgl+wsl2+vscode系列:6、布局(Layouts)

一、前言 这节总结一下整体页面的布局方式&#xff0c;lvgl的布局方式比较少&#xff0c;目前只有flex和grid两大类布局&#xff0c;即弹性布局和网格布局&#xff0c;弹性布局一般就是指定相对位置&#xff0c;网格布局就是将整个页面划分为网格状&#xff0c;我们做其它的UI…

日志自动分析-Web---360星图GoaccessALBAnolog

目录 1、Web-360星图(IIS/Apache/Nginx) 2、Web-GoAccess &#xff08;任何自定义日志格式字符串&#xff09; 源码及使用手册 安装goaccess 使用 输出 3-Web-自写脚本&#xff08;任何自定义日志格式字符串&#xff09; 4、Web-机器语言analog&#xff08;任何自定义日…

【C++】 解决 C++ 语言报错:Invalid Conversion from ‘const char*’ to ‘char*’

文章目录 引言 在 C 编程中&#xff0c;类型转换错误&#xff08;Invalid Conversion&#xff09;是常见的编译错误之一。特别是当程序试图将一个常量字符指针&#xff08;const char*&#xff09;转换为非常量字符指针&#xff08;char*&#xff09;时&#xff0c;会导致编译…

【C++题解】1413. 切割绳子

问题&#xff1a;1413. 切割绳子 类型&#xff1a;贪心&#xff0c;二分&#xff0c;noip2017普及组初赛 题目描述&#xff1a; 有 n 条绳子&#xff0c;每条绳子的长度已知且均为正整数。绳子可以以任意正整数长度切割&#xff0c;但不可以连接。现在要从这些绳子中切割出 m…

TF-IDF和BM25原理和区别

TF-IDF TF-IDF是TF&#xff08;词频&#xff0c;Term Frequency&#xff09;和IDF&#xff08;逆文档频率&#xff0c;Inverse Document Frequency&#xff09;的乘积。我们先来看他们分别是怎么计算的&#xff1a; TF的计算有多种方式&#xff0c;常见的是 除以文章总词数是…

多点mGRE over IPsecVPN 配置及NHRP的使用

一、实验目的及拓扑 1、实验思路&#xff1a;FW1为总部固定IP&#xff0c;FW2和FW3为分支动态地址&#xff0c;通过mGRE over IPsec实现&#xff0c;并加载NHR解决多点隧道目的地址问题 2、网络拓扑 二、基本配置 &#xff08;一&#xff09;配置相关接口地址&#xff0c;并…

14-34 剑和诗人8 - 微调 LLM 的分块策略

​​​​​​ 介绍 使用大规模 LLM 会带来巨大挑战&#xff0c;特别是在内存管理和模型微调方面。一项可以缓解这些挑战的强大技术是分块&#xff0c;这是一种将大量输入或输出分解为更小、更易于管理的部分的策略。 让我们深入研究分块策略的复杂性&#xff0c;探索它们在微…