如可安装部署haproxy+keeyalived高可用集群

第一步,环境准备

服务

IP

描述

Keepalived  vip

Haproxy  负载均衡

主服务器

Rip:192..168.244.101

Vip:192.168.244.100

Keepalive主节点

Keepalive作为高可用

Haproxy作为4 或7层负载均衡

Keepalived  vip

Haproxy  负载均衡

备用服务器

Rip:192.168.244.102

Vip:192.168.244.100

Keepalive从节点

Keepalive作为高可用

Haproxy作为4 或7层负载均衡

Web服务器1

192.168.244.103

后端真实服务器

Web服务器2

192.168.244.104

后端真实服务器

关闭selinux、firewalld、配置yum源,修改主机名,配置域名解析,配置时间同步

修改主机名

hostnamectl set-hostname master

hostnamectl set-hostname backup

hostnamectl set-hostname server1 

hostnamectl set-hostname server2

配置域名解析,四台服务器都配置

# cat >> /etc/hosts <<EOF

192.168.244.101 master

192.168.244.102 backup

192.168.244.103 server1

192.168.244.104 server2

EOF

关闭防火墙,关闭selinux,四台服务器都要关闭

systemctl disable firewalld --now

关闭selinux

sed -i '/^SELINUX/s/enforcing/disabled/g' /etc/selinux/config

setenforce 0

安装常用软件

yum -y install ntpdate bash-completion* net-tools wget

配置时间同步

crontab -e

*/1 * * * * /usr/sbin/ntpdate ntp.aliyun.com

四台服务器配置yum源

#wget -O \

/etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

#wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

第二步,安装httpd服务器,server1和server2安装httpd,并启动httpd

在server1和server2上安装web服务器

server1 ~]# yum -y install httpd

server1 ~]echo "server1" > /var/www/html/index.html

server1 ~]# systemctl start httpd

server1 ~]# curl 192.168.244.103

server2 ~]# yum -y install httpd

server2 ~]echo "server02" > /var/www/html/index.html

server2 ~]# systemctl start httpd

server2 ~]# curl 192.168.244.104

第三步,安装keepalived

开始安装keepalived,并将/etc/keepalived/keepalived.conf文件进行备份

在master和backup两台服务器上安装

yum -y install keepalived

cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak

第四步,开始修改keepalived.conf配置文件 ,在master和backup两台服务器上修改

cat > /etc/keepalived/keepalived.conf << EOF

global_defs {

   router_id LVS_master  #主和从要有单独的route_id

}

vrrp_instance VI_1 {

    state MASTER  #主为MASTER 从为BACKUP

    interface ens33  #指定配机网卡的设备名

    virtual_router_id 51  #指定虚拟路由主从要一致

    priority 100  #指定优先级主优先高 从做先级低

    advert_int 1  #心跳检测时间间隔

    authentication {  #keepalived内通信认证方式

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {  #指定绑定的vip

        192.168.244.100

    }

}

EOF

master上要修改的keeplived.conf配置文件

backup上要修改的keeplived.conf配置文件

第五步,开启keepalived

启动keepalived

master ~]# systemctl start keepalived

backup ~]# systemctl start keepalived

使用ip a指令查看vip是否配置成功

在master主服务器上配置成功

[root@master ~]# ip a

[root@backup ~]# ip a         //从服务器上没有

测试一下vip是否飘移

关闭master服务器上的keepalived,查看backup服务器上是否有vip 也就是192.168.244.100/32的IP地址,有这说明vip漂移到了backup从服务器上,再开启master主服务器上的keepalived,就会漂移到master主服务器上

[root@master ~]# systemctl stop keepalived.service

成功

第六步,安装haproxy

Master和backup上安装

[root@master ~]# yum -y install haproxy

[root@backup ~]# yum -y install haproxy

备份一下/etc/haproxy/haproxy.cfg 文件 ,防止修改出问题

[root@master ~]# cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak

[root@backup ~]# cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak

第七步,haproxy配置文件,修改/etc/haproxy/haproxy.cfg 文件,master和backup上都要修改

[root@master ~]# vim /etc/haproxy/haproxy.cfg

listen stats

   bind 0.0.0.0:880

   stats enable

   stats uri /status

   stats auth admin:123456

   stats refresh

frontend web_in

   bind 0.0.0.0:80

   use_backend web

backend web

   balance roundrobin

   server web1 192.168.244.103:80 check weight 2

   server web2 192.168.244.104:80 check weight 8

拷贝配置文件到备服务器

# scp /etc/haproxy/haproxy.cfg 192.168.244.102:/etc/haproxy/

启动hyproxy

[root@master ~]# systemctl start haproxy.service

[root@backup ~]# systemctl start haproxy.service

账号:admin   密码:123

成功,也实现了负载均衡

但是Haproxy+keepalived高可用集群,允许keepalived宕机,允许后端真实服务器宕机,但是不允许haproxy宕机。

解决方案参考

Haproxy+keepalived高可用集群,haproxy宕机的解决方案-CSDN博客

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

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

相关文章

LabVIEW如何有效地进行数据采集?

数据采集&#xff08;DAQ&#xff09;是许多工程项目中的核心环节&#xff0c;无论是测试、监控还是控制系统&#xff0c;准确、高效的数据采集都是至关重要的。LabVIEW作为一个图形化编程环境&#xff0c;提供了丰富的功能来实现数据采集&#xff0c;确保数据的实时性与可靠性…

整个 PVE 系统崩溃后,怎么恢复 PVE 给虚拟机分配的虚拟硬盘中的数据

背景 我有一块 ssd 用于 PVE 系统和 虚拟机 安装&#xff0c;还有一块 HDD 用来存储数据。这个HDD按照 把 PVE 下的机械硬盘&#xff08;非SSD系统盘&#xff09;分配给虚拟机使用 进行挂载和配置。主要过程是 PVE中 “数据中信” -> “存储” -> “添加” -> “目录…

Linux: 网络基础

1.协议 为什么要有协议&#xff1a;减少通信成本。所有的网络问题&#xff0c;本质是传输距离变长了。 什么是协议&#xff1a;用计算机语言表达的约定。 2.分层 软件设计方面的优势—低耦合。 一般我们的分层依据&#xff1a;功能比较集中&#xff0c;耦合度比较高的模块层…

Python sider-ai-api库 — 访问Claude、llama、ChatGPT、gemini、o1等大模型API

目前国内少有调用ChatGPT、Claude、Gemini等国外大模型API的库。 Python库sider_ai_api 提供了调用这些大模型的一个完整解决方案&#xff0c; 使得开发者能调用 sider.ai 的API&#xff0c;实现大模型的访问。 Sider是谷歌浏览器和Edge的插件&#xff0c;能调用ChatGPT、Clau…

STM32 串口发送与接收

接线图 代码配置 根据上一章发送的代码配置&#xff0c;在GPIO配置的基础上需要再配置PA10引脚做RX接收&#xff0c;引脚模式可以选择浮空输入或者上拉输入&#xff0c;在USART配置串口模式里加上RX模式。 配置中断 //配置中断 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE…

猫眼前端开发面试题及参考答案

对网络了解吗&#xff1f;说一下 OSI 七层模型 OSI 七层模型是国际标准化组织&#xff08;ISO&#xff09;制定的一个用于计算机网络通信的概念模型&#xff0c;从下到上依次为&#xff1a; 物理层&#xff1a;主要负责处理物理介质上的信号传输&#xff0c;包括电缆、光纤、无…

挑战项目 --- 微服务编程测评系统(在线OJ系统)

一、前言 1.为什么要做项目 面试官要问项目&#xff0c;考察你到底是理论派还是实战派&#xff1f; 1.希望从你的项目中看到你的真实能力和对知识的灵活运用。 2.展示你在面对问题和需求时的思考方式及解决问题的能力。 3.面试官会就你项目提出一些问题&#xff0c;或扩展需求…

暴力破解与验证码安全

目录 前言 暴力破解&#xff1a;简单粗暴的黑客攻击手段 暴力破解的前提条件 暴力破解的定义与原理 常见的暴力破解工具 暴力破解的常见场景 暴力破解的危害 验证码&#xff1a;抵御暴力破解的第一道防线 验证码的定义与作用 验证码的工作原理 验证码的类型 验证码…

Fastdds学习分享_xtpes_发布订阅模式及rpc模式

在之前的博客中我们介绍了dds的大致功能&#xff0c;与组成结构。本篇博文主要介绍的是xtypes.分为理论和实际运用两部分.理论主要用于梳理hzy大佬的知识&#xff0c;对于某些一带而过的部分作出更为详细的阐释&#xff0c;并在之后通过实际案例便于理解。案例分为普通发布订阅…

Three.js 后期处理(Post-Processing)详解

目录 前言 一、什么是后期处理&#xff1f; 二、Three.js 后期处理的工作流程 2.1 创建 EffectComposer 2.2 添加渲染通道&#xff08;Render Pass&#xff09; 2.3 应用最终渲染 三、后期处理实现示例 3.1 基础代码 四、常见的后期处理效果 4.1 辉光效果&#xf…

计算机视觉-边缘检测

一、边缘 1.1 边缘的类型 ①实体上的边缘 ②深度上的边缘 ③符号的边缘 ④阴影产生的边缘 不同任务关注的边缘不一样 1.2 提取边缘 突变-求导&#xff08;求导也是一种卷积&#xff09; 近似&#xff0c;1&#xff08;右边的一个值-自己可以用卷积做&#xff09; 该点f(x,y)…

基于SpringBoot的美食烹饪互动平台的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

通信方式、点对点通信、集合通信

文章目录 传统组网互联大模型组网互联&#xff1a;超高带宽、超低延迟、超高可靠性☆☆☆ AI计算集群互联方式&#xff1a;Die间、片间、集群间Die间&#xff1a;SoC架构转向 Chilplet 异构&#xff08;多Die&#xff09;、UCIe标准IO Die & Base Die节点内 NPU 间互联&…

git:恢复纯版本库

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…

npm知识

npm 是什么 npm 为你和你的团队打开了连接整个 JavaScript 天才世界的一扇大门。它是世界上最大的软件注册表&#xff0c;每星期大约有 30 亿次的下载量&#xff0c;包含超过 600000 个包&#xff08;package&#xff09;&#xff08;即&#xff0c;代码模块&#xff09;。来自…

【Java】位图 布隆过滤器

位图 初识位图 位图, 实际上就是将二进制位作为哈希表的一个个哈希桶的数据结构, 由于二进制位只能表示 0 和 1, 因此通常用于表示数据是否存在. 如下图所示, 这个位图就用于标识 0 ~ 14 中有什么数字存在 可以看到, 我们这里相当于是把下标作为了 key-value 的一员. 但是这…

python学opencv|读取图像(五十六)使用cv2.GaussianBlur()函数实现图像像素高斯滤波处理

【1】引言 前序学习了均值滤波和中值滤波&#xff0c;对图像的滤波处理有了基础认知&#xff0c;相关文章链接为&#xff1a; python学opencv|读取图像&#xff08;五十四&#xff09;使用cv2.blur()函数实现图像像素均值处理-CSDN博客 python学opencv|读取图像&#xff08;…

如何使用 DeepSeek 和 Dexscreener 构建免费的 AI 加密交易机器人?

我使用DeepSeek AI和Dexscreener API构建的一个简单的 AI 加密交易机器人实现了这一目标。在本文中&#xff0c;我将逐步指导您如何构建像我一样的机器人。 DeepSeek 最近发布了R1&#xff0c;这是一种先进的 AI 模型。您可以将其视为 ChatGPT 的免费开源版本&#xff0c;但增加…

【Linux系统】信号:再谈OS与内核区、信号捕捉、重入函数与 volatile

再谈操作系统与内核区 1、浅谈虚拟机和操作系统映射于地址空间的作用 我们调用任何函数&#xff08;无论是库函数还是系统调用&#xff09;&#xff0c;都是在各自进程的地址空间中执行的。无论操作系统如何切换进程&#xff0c;它都能确保访问同一个操作系统实例。换句话说&am…

蓝桥与力扣刷题(141 环形链表)

题目&#xff1a;给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的…