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

news2025/2/5 14:57:29

第一步,环境准备

服务

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.coloradmin.cn/o/2292360.html

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

相关文章

如何运行Composer安装PHP包 安装JWT库

1. 使用Composer Composer是PHP的依赖管理工具&#xff0c;它允许你轻松地安装和管理PHP包。对于JWT&#xff0c;你可以使用firebase/php-jwt这个库&#xff0c;这是由Firebase提供的官方库。 安装Composer&#xff08;如果你还没有安装的话&#xff09;&#xff1a; 访问Co…

安全策略配置

1.拓扑信息 2. 实验需求 3.需求分析 1.需要在交换机LSW1配置分配vlan并且为配置通道 2/3/4/5 在web界面或者命令行制定相应的安全策略 由于存在默认的拒绝需求4中生产区在任何时刻访问不了web不允许单独配置&#xff0c;只配置动作为运行的策略 4.配置信息 先配置服务器 …

使用Chainlit快速构建一个对话式人工智能应用体验DeepSeek-R1

Chainlit是一个开源的 Python 包&#xff0c;用于构建可用于生产的对话式人工智能。 DeepSeek-R1 是一款强化学习&#xff08;RL&#xff09;驱动的推理模型&#xff0c;解决了模型中的重复性和可读性问题。在 RL 之前&#xff0c;DeepSeek-R1 引入了冷启动数据&#xff0c;进…

生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (下)

今天小李哥将开启全新的技术分享系列&#xff0c;为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来生成式 AI 安全市场正迅速发展。据IDC预测&#xff0c;到2025年全球 AI 安全解决方案市场规模将突破200亿美元&#xff0c;年复合增长率超过30%&#xff0c;而Gartn…

家政预约小程序12服务详情

目录 1 修改数据源2 创建页面3 搭建轮播图4 搭建基本信息5 显示服务规格6 搭建服务描述7 设置过滤条件总结 我们已经在首页、分类页面显示了服务的列表信息&#xff0c;当点击服务的内容时候需要显示服务的详情信息&#xff0c;本篇介绍一下详情页功能的搭建。 1 修改数据源 在…

知识蒸馏教程 Knowledge Distillation Tutorial

来自于&#xff1a;Knowledge Distillation Tutorial 将大模型蒸馏为小模型&#xff0c;可以节省计算资源&#xff0c;加快推理过程&#xff0c;更高效的运行。 使用CIFAR-10数据集 import torch import torch.nn as nn import torch.optim as optim import torchvision.tran…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.29 NumPy+Scikit-learn(sklearn):机器学习基石揭秘

2.29 NumPyScikit-learn&#xff1a;机器学习基石揭秘 目录 #mermaid-svg-46l4lBcsNWrqVkRd {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-46l4lBcsNWrqVkRd .error-icon{fill:#552222;}#mermaid-svg-46l4lBcsNWr…

【C语言】指针详解:概念、类型与解引用

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C语言 文章目录 &#x1f4af;前言&#x1f4af;指针的基本概念1. 什么是指针2. 指针的基本操作 &#x1f4af;指针的类型1. 指针的大小2. 指针类型与所指向的数据类型3. 指针类型与数据访问的关系4. 指针类型的实际意…

【OS】AUTOSAR架构下的Interrupt详解(上篇)

目录 前言 正文 1.中断概念分析 1.1 中断处理API 1.2 中断级别 1.3 中断向量表 1.4 二类中断的嵌套 1.4.1概述 1.4.2激活 1.5一类中断 1.5.1一类中断的实现 1.5.2一类中断的嵌套 1.5.3在StartOS之前的1类ISR 1.5.4使用1类中断时的注意事项 1.6中断源的初始化 1.…

UE编辑器工具

如何自己制作UE小工具提高工作效率 在虚幻编辑器用户界面中&#xff0c;可以使用各种各样的可视化工具来设置项目&#xff0c;设计和构建关卡&#xff0c;创建游戏性交互等等。但有些时候&#xff0c;当你确定了需要编辑器执行的操作后&#xff0c;可能想要通过编程方式调用它…

【Linux】25.进程信号(2)

文章目录 4.捕捉信号4.1 重谈地址空间4.2 内核如何实现信号的捕捉4.3 sigaction4.4 可重入函数4.5 volatile4.6 SIGCHLD信号&#xff08;了解&#xff09; 4.捕捉信号 4.1 重谈地址空间 用户页表有几份&#xff1f; 有几个进程&#xff0c;就有几份用户级页表–进程具有独立性…

洛谷 P1387 最大正方形 C语言

题目描述 在一个 n m 的只包含 0 和 1 的矩阵里找出一个不包含 0 的最大正方形&#xff0c;输出边长。 输入格式 输入文件第一行为两个整数 n, m (1 ≤ n, m ≤ 100)&#xff0c;接下来 n 行&#xff0c;每行 m 个数字&#xff0c;用空格隔开&#xff0c;0 或 1。 输出格式 …

ChatGPT提问技巧:行业热门应用提示词案例--咨询法律知识

ChatGPT除了可以协助办公&#xff0c;写作文案和生成短视频脚本外&#xff0c;和还可以做为一个法律工具&#xff0c;当用户面临一些法律知识盲点时&#xff0c;可以向ChatGPT咨询获得解答。赋予ChatGPT专家的身份&#xff0c;用户能够得到较为满意的解答。 1.咨询法律知识 举…

[吾爱出品]CursorWorkshop V6.33 专业鼠标光标制作工具-简体中文汉化绿色版

CursorWorkshop V6.33 专业鼠标光标制作工具 链接&#xff1a;https://pan.xunlei.com/s/VOIFeq5DFB9FS56Al_mT2EfdA1?pwd7ij4# 产品概述 Axialis CursorWorkshop 是一个专业光标创作工具它在 Windows 下运行&#xff0c;让您轻松创建高质量的静态和动态光标适用于 Windows …

【C语言】自定义类型讲解

文章目录 一、前言二、结构体2.1 概念2.2 定义2.2.1 通常情况下的定义2.2.2 匿名结构体 2.3 结构体的自引用和嵌套2.4 结构体变量的定义与初始化2.5 结构体的内存对齐2.6 结构体传参2.7 结构体实现位段 三、枚举3.1 概念3.2 定义3.3 枚举的优点3.3.1 提高代码的可读性3.3.2 防止…

LabVIEW涡轮诊断系统

一、项目背景与行业痛点 涡轮机械是发电厂、航空发动机、石油化工等领域的核心动力设备&#xff0c;其运行状态直接关系到生产安全与经济效益。据统计&#xff0c;涡轮故障导致的非计划停机可造成每小时数十万元的经济损失&#xff0c;且突发故障可能引发严重安全事故。传统人…

Kubernetes 中 BGP 与二层网络的较量:究竟孰轻孰重?

如果你曾搭建过Kubernetes集群&#xff0c;就会知道网络配置是一个很容易让人深陷其中的领域。在负载均衡器、服务通告和IP管理之间&#xff0c;你要同时应对许多变动的因素。对于许多配置而言&#xff0c;使用二层&#xff08;L2&#xff09;网络就完全能满足需求。但边界网关…

大模型综述一镜到底(全文八万字) ——《Large Language Models: A Survey》

论文链接&#xff1a;https://arxiv.org/abs/2402.06196 摘要&#xff1a;自2022年11月ChatGPT发布以来&#xff0c;大语言模型&#xff08;LLMs&#xff09;因其在广泛的自然语言任务上的强大性能而备受关注。正如缩放定律所预测的那样&#xff0c;大语言模型通过在大量文本数…

物理群晖SA6400核显直通win10虚拟机(VMM)

写在前面&#xff1a;请先确保你的核显驱动支持开启SR-IOV 确保你的BIOS开启了以下选项&#xff1a; VT-D VMX IOMMU Above 4G ResizeBAR 自行通过以下命令确认支持情况&#xff1a; dmesg | grep -i iommudmesg | grep DMAR分配1个虚拟vGPU&#xff1a;echo 1 | sudo tee /sy…

【python】tkinter实现音乐播放器(源码+音频文件)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;专__注&#x1f448;&#xff1a;专注主流机器人、人工智能等相关领域的开发、测试技术。 【python】tkinter实现音乐播放器&#xff08;源码…