Keepalived+LVS实现负责均衡,高可用的集群

        Keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器,管理服务器池,而不仅仅用作双机热备。使用Keepalived构建LVS群集更加简便易用,主要优势体现在:对LVS负责调度器实现热备切换,提高可用性;对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入。

        在基于LVS+Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,两台以上的节点服务器。

         使用Keepalived构建LVS群集时,也需要用到ipvsadm管理工具。但大部分工作会由Keepalived自动完成,不需要手动执行ipvsadm(除了查看和监控群集以外)。下面主要讲解Keepalived的服务器池设置,关于NFS共享服务的配置、Keepalived的热备配置等在此不再详细述。

配置过程:

1.配置主调度器

(1)全局配置,热备配置

        首先为主,从调度器实现热备功能,漂移地址使用LVS集群的地址

 (2)web服务地址池配置

        在Keepalived的热备配置基础上添加“virtual_server VIP 端口 {……}”区段来配置虚拟服务器,主要包括对负载调度算法,群集工作模式,健康检测间隔,真实服务器地址等参数的设置。

 (3)重新启动Keepalived服务

systemctl restart Keepalived

(4) 主服务器内核参数的配置

[root@localhost ~]# vi /etc/sysctl.conf
在末尾添加:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@localhost ~]# sysctl -p

 2.配置从调度器

(1)从调度器的配置和主调度器的配置大致一致,只需要调整router_id(从调度器名称),start(从调度器的热备状态),priority(优先级)参数即可。配置完成后重启Keepalived服务。

 (2)从服务器内核参数的配置

[root@localhost ~]# vi /etc/sysctl.conf
在末尾添加:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@localhost ~]# sysctl -p

 3.配置web节点服务器

(1)web网络设置

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vi ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.10.172
NETMASK=255.255.255.255
ONBOOT=yes[root@localhost network-scripts]# systemctl restrt network
[root@localhost network-scripts]# vi /etc/rc.local
/sbin/route add -host 192.168.10.172 dev lo:0[root@localhost network-scripts]# route add -host 192.168.10.172 dev lo:0

(2)在web节点服务器上安装httpd

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# vi /var/www/html/index.html
test web01

(3)内核参数的设置

[root@localhost ~]# vi /etc/sysctl.confnet.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2net.ipv4.conf.default.arp_ignore = 1net.ipv4.conf.default.arp_announce = 2net.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2

(4)开启httpd服务

[root@localhost ~]# systemctl start httpd

4.测试LVS+Keepalived高可用性

1:用客户端访问网站

http://192.168.10.172

刷新页面并观察网页的变化

2:在客户端使用脚本测试

[root@localhost ~]# for i in $(seq 10); do curl http://192.168.10.172  ;done

3:注意事项

(1)生产环境中可以使用NFS服务器保证网站代码的一致性,在测试环境中为了观察效果,web服务器池中的网站代码可以不一样,更加便于观察实验效果。

(2)测试计算机不要使用master调度器,在master调度器上访问VIP时,调度器不会将访问的请求调度到web服务器,而是自己尝试解析;在web服务器上测试时只能访问到自己的网页,无法实现调度。所以客户端一定要使用独立的测试计算机,或者使用处于BACKUP状态的调度器。

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

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

相关文章

配置并调试后端程序(sql)

1.环境准备 安装VS Code和Node.js插件:确保你已经安装了VS Code和Node.js插件。创建launch.json文件:在你的项目中创建一个.vscode文件夹,并在其中创建launch.json文件。添加以下内容: {"version": "0.2.0"…

uniapp 数据父传子

文章目录 可能出现的问题 在uni-app中,父组件向子组件传递数据主要通过属性绑定的方式实现。这里提供一个简单的示例来说明如何进行父传子的数据传递: 父组件 准备数据: 在父组件的data中定义要传递的数据。 export default {data() {return {parentMe…

@ControllerAdice统一返回值类型【Spring源码学习】

我们可以通过在ControllerAdvice注解类上实现ResponseBodyAdvice注解来实现统一返回值类型&#xff1b; 例如统一接口的返回类型为Result类 ControllerAdvice static class MyControllerAdvice implements ResponseBodyAdvice<Object> {Overridepublic boolean supports…

PLC基础知识

1.PLC中的数据寄存器地址D表示存数据的地方。 2.PLC的物理存储器的规定&#xff1a;PLC存储器以字节为单位&#xff08;Byte&#xff09;&#xff0c;存储单元以位&#xff08;Bit&#xff09;、字节&#xff08;B&#xff0c;8Bit&#xff09;、字&#xff08;W&#xff0c;1…

谷歌优化师招聘网站:梦想启航的舞台,实现职业理想的起点

尊敬的梦想实践者们&#xff0c;欢迎您走进谷歌优化师招聘网站这个充满魔力的领域。这里不仅是一个招聘平台&#xff0c;更是您实现职业理想的起点&#xff0c;激发热情的舞台。现在&#xff0c;请做好准备&#xff0c;与我们共同揭开这个神秘世界的面纱&#xff01; 梦想启航…

电子行业MES系统解决方案

工业4.0时代的工业自动化&#xff0c;将在原有自动化技术和架构下&#xff0c;实现集中式控制向分散式增强型控制的基本模式转变&#xff0c;让设备从传感器到因特网的通讯能够无缝对接&#xff0c;从而建立一个高度灵活的、个性化和数字化、融合了产品与服务的生产模式。在这种…

上海市计算机学会竞赛平台2022年11月月赛丙组染色问题

题目描述 &#x1d45b;n 个点排成一列&#xff0c;需要给每个点一个颜色&#xff0c;颜色有 &#x1d45a;m 种。请问有多少种方法&#xff0c;能使任意相邻两个点的颜色均不相同&#xff1f; 输入格式 两个整数&#xff1a;表示 &#x1d45b;n 与 &#x1d45a;m 输出格…

【控制Android.bp的编译】

1.首先Android.bp的语法是不支持if 条件语句的 2.查到可以用enabled来控制Android.bp中的模块是否参与编译&#xff0c;但是并不能实现动态的控制&#xff0c;比如你需要根据获取到的安卓版本来控制一个Android.bp是否编译&#xff0c;是无法做到的。enabled只能是固定的true或…

spark shuffle写操作——BypassMergeSortShuffleWriter

创建分区文件writer 每一个分区都生成一个临时文件&#xff0c;创建DiskBlockObjectWriter对象&#xff0c;放入partitionWriters 分区writer写入消息 遍历所有消息&#xff0c;每一条消息都使用分区器选择对应分区的writer然后写入 生成分区文件 将分区writer的数据flu…

Java中初始化一个List的多种方式

1.最原始的方式&#xff1a;先创建&#xff0c;然后再添加元素 List<String> list new ArrayList<>(); list.add("apple"); list.add("banana"); list.add("cherry");2.使用Arrays.asList 这是一种快速方便的方式&#xff0c;直接…

从海上长城到数字防线:视频技术在海域边防现代化中的创新应用

随着全球化和科技发展的加速&#xff0c;海域安全问题日益凸显其重要性。海域边防作为国家安全的第一道防线&#xff0c;其监控和管理面临着诸多挑战。近年来&#xff0c;视频技术的快速发展为海域边防场景提供了新的解决方案&#xff0c;其高效、实时、远程的监控特点极大地提…

面试八股Day1

JavaSE&#xff08;回顾&#xff09; 什么是java? java跟c的区别&#xff1f;Java语言有哪些特点&#xff1f;JVM、JDK和JRE有什么区别&#xff1f;什么是跨平台性&#xff1f;原理是什么&#xff1f;什么是字节码&#xff1f;采用字节码的好处是什么&#xff1f; 说说Java程…

如何快速开展每日待办工作 待办任务高效管理

每天&#xff0c;我们都需要处理大量的待办工作&#xff0c;如何高效有序地开展这些工作成为了我们必须要面对的问题。仅仅依靠个人的记忆和脑力去管理这些繁杂的事务&#xff0c;显然是一项艰巨的挑战。在这个时候&#xff0c;如果能有一款实用的待办工具来辅助我们&#xff0…

深入理解Spring应用中的初始化和清理代码执行方式

目录 引言使用PostConstruct和PreDestroy注解 PostConstructPreDestroy 实现InitializingBean和DisposableBean接口 afterPropertiesSet()destroy() 使用init-method和destroy-method属性 init-methoddestroy-method 使用Bean注解的initMethod和destroyMethod属性 initMethodd…

【高级篇】第8章 Elasticsearch 安全与权限管理

在深入探讨Elasticsearch高级应用的征途中,我们无法忽视其核心——安全与权限管理的重要性。此章节将为你全面剖析如何构建一个既强大又安全的数据搜索与分析平台。本章内容将围绕X-Pack的强大功能展开,深入用户与角色管理的实践,以及如何利用SSL/TLS加密来强化数据传输的安…

如何使用C++调用Pytorch模型进行推理测试:使用libtorch库

如何使用C调用Pytorch模型进行推理测试&#xff1a;使用libtorch库 目录 如何使用C调用Pytorch模型进行推理测试&#xff1a;使用libtorch库一、环境准备1&#xff0c;linux&#xff1a;以ubuntu 22.04系统为例1. 准备CUDA和CUDNN2. 准备C环境3, 下载libtorch文件4, 编写测试li…

期权学习必看圣书:《3小时快学期权》要在哪里看?

今天带你了解期权学习必看圣书&#xff1a;《3小时快学期权》要在哪里看&#xff1f;《3小时快学期权》是一本关于股票期权基础知识的书籍。 它旨在通过简明、易懂的语言和实用的案例&#xff0c;让读者在短时间内掌握股票期权的基本概念、操作方法和投资策略。通过这本书&…

img的onload事件不触发

var img new Image(); img.src "图片地址" img.addEventListener(load, function() {// 加载完后的处理 }, false);上面的代码&#xff0c;可能存在设置addEventListener之前&#xff0c;图片已经加载完了&#xff0c;onload事件不处罚。 调换一下img.src和img.add…

Linux系统(CentOS)安装Mysql5.7.x

安装准备&#xff1a; Linux系统(CentOS)添加防火墙、iptables的安装和配置 请访问地址&#xff1a;https://blog.csdn.net/esqabc/article/details/140209894 1&#xff0c;下载mysql安装文件&#xff08;mysql-5.7.44为例&#xff09; 选择Linux通用版本64位&#xff08;L…

算力互联网网络架构;SRV6;智享WAN

目录 算力互联网网络架构 SRV6 主要特点 应用场景 结论 G-SRV6 多层次网络切片 智享WAN 一、定义与背景 二、关键技术 三、应用场景与优势 四、发展现状与未来展望 智能算力网络成为智能经济时代代表性数字基础设施 算力互联网网络架构 为构建算力互联网这个前瞻性…