高可用虚拟IP-keepalived
个人觉得华为云这个文档十分详细:
使用虚拟IP和Keepalived搭建高可用Web集群_弹性云服务器 ECS_华为云

应用场景:虚拟IP技术。虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一个都可以连接到这台主机,所有项目中数据库链接一项配置的都是这个虚IP,当服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用主机。
1.需要同一vpc网络下。
创建虚拟ip
ifconfig eth0:1 10.0.4.10 netmask 255.255.0.0

删除虚拟IP
ip addr del 10.0.4.10 dev eth0
以上是本地测试是由。本文已腾讯云申请的高可用虚拟IP为例子

2.在主服务器和备服务器上安装 keepalived 软件
yum install -y keepalived
3.登录主节点云服务器 HAVIP-01,执行 vim /etc/keepalived/keepalived.conf,修改相关配置。
HAVIP-01 和 HAVIP-02 在本例中将被配置成“等权重节点”,即 state 均为 BACKUP,priority 均为 100。优点是可以减少抖动造成的倒换次数
! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.200.1 smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addrvrrp_garp_interval 0vrrp_gna_interval 0}vrrp_script checkhaproxy{script "/etc/keepalived/do_sth.sh" # 检测业务进程是否运行正常。其中“do_sth.sh”文件为用户自定义的业务进程检测脚本,请根据业务需要来执行,执行时“do_sth.sh”更换为实际的脚本名称。interval 5}vrrp_instance VI_1 {# 注意主备参数选择state BACKUP # 设置初始状态均为“备“interface eth0 # 设置绑定 VIP 的网卡 例如 eth0 virtual_router_id 51 # 配置集群 virtual_router_id 值nopreempt # 设置非抢占模式,# preempt_delay 10 # 仅 state MASTER 时生效 priority 100 # 两设备是相同值的等权重节点advert_int 5 authentication {auth_type PASSauth_pass 1111}unicast_src_ip 172.16.16.5 # 设置本机内网IP地址unicast_peer {172.16.16.6 # 对端设备的 IP 地址}virtual_ipaddress {172.16.16.12 # 设置高可用虚拟 VIP }notify_master "/etc/keepalived/notify_action.sh MASTER"notify_backup "/etc/keepalived/notify_action.sh BACKUP"notify_fault "/etc/keepalived/notify_action.sh FAULT"notify_stop "/etc/keepalived/notify_action.sh STOP"garp_master_delay 1 # 设置当切为主状态后多久更新 ARP 缓存garp_master_refresh 5 # 设置主节点发送 ARP 报文的时间间隔track_interface {eth0 # 使用绑定 VIP 的网卡 例如 eth0}track_script {checkhaproxy }}
4.登录备节点云服务器 HAVIP-02,执行 vim /etc/keepalived/keepalived.conf,修改相关配置。
! Configuration File for keepalived
global_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.200.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addrvrrp_garp_interval 0vrrp_gna_interval 0
}
vrrp_script checkhaproxy
{script "/etc/keepalived/do_sth.sh"interval 5
}
vrrp_instance VI_1 {
# 注意主备参数选择
state BACKUP # 设置初始状态均为“备“interface eth0 # 设置绑定 VIP 的网卡 例如 eth0 virtual_router_id 51 # 配置集群 virtual_router_id 值nopreempt # 设置非抢占模式# preempt_delay 10 # 仅 state MASTER 时生效 priority 100 # 两设备是相同值的等权重节点advert_int 5 authentication {auth_type PASSauth_pass 1111}unicast_src_ip 172.16.16.6 # 设置本机内网 IP 地址unicast_peer {172.16.16.5 # 对端设备的 IP 地址}virtual_ipaddress {172.16.16.12 # 设置高可用虚拟 VIP }notify_master "/etc/keepalived/notify_action.sh MASTER"notify_backup "/etc/keepalived/notify_action.sh BACKUP"notify_fault "/etc/keepalived/notify_action.sh FAULT"notify_stop "/etc/keepalived/notify_action.sh STOP"garp_master_delay 1 # 设置当切为主状态后多久更新 ARP 缓存garp_master_refresh 5 # 设置主节点发送ARP报文的时间间隔track_interface {eth0 # 使用绑定 VIP 的网卡 例如 eth0}track_script {checkhaproxy }
}
5.重启 keepalived 进程使配置生效。
systemctl restart keepalived
6.通过重启 keepalived 进程、重启子机等方式模拟主机故障,检测 VIP 是否能正常迁移。
如果完成了主备切换,则可以看到控制台的绑定主机已经切换为 backup 云服务器。
参考文档:
私有网络 用 HAVIP+Keepalived 搭建高可用主备集群-实践教程-文档中心-腾讯云
腾讯云配置高可用虚拟IP打造nginx+keepalived高可用_腾讯公有云高可用虚拟ip-CSDN博客
相关文章:
高可用虚拟IP-keepalived
个人觉得华为云这个文档十分详细:使用虚拟IP和Keepalived搭建高可用Web集群_弹性云服务器 ECS_华为云 应用场景:虚拟IP技术。虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个…...
AI多模态技术介绍:视觉语言模型(VLMs)指南
本文作者:AIGCmagic社区 刘一手 AI多模态全栈学习路线 在本文中,我们将探讨用于开发视觉语言模型(Vision Language Models,以下简称VLMs)的架构、评估策略和主流数据集,以及该领域的关键挑战和未来趋势。通…...
高效工作流:用Mermaid绘制你的专属流程图;如何在Vue3中导入mermaid绘制流程图
目录 高效工作流:用Mermaid绘制你的专属流程图 一、流程图的使用场景 1.1、流程图flowChart 1.2、使用场景 二、如何使用mermaid画出优雅的流程图 2.1、流程图添加图名 2.2、定义图类型与方向 2.3、节点形状定义 2.3.1、规定语法 2.3.2、不同节点案例 2.…...
uniApp通过xgplayer(西瓜播放器)接入视频实时监控
🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养ǹ…...
ws 配置 IngressRoute 和 http一样
ws 配置 IngressRoute 和 http一样 apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata:name: web-ws-ingressroutenamespace: starp spec:entryPoints:- webroutes:- match: Host(webws.we…...
IMX6ULL的IOMUXC寄存器和SNVS复用寄存器似乎都是对引脚指定复用功能的,那二者有何区别?
IMX6ULL 的 IOMUXC 和 SNVS(Secure Non-Volatile Storage)复用寄存器都是用于配置引脚功能的,但它们的作用范围、目的和使用场景存在明显区别。以下是它们的差异分析: 1. IOMUXC(I/O Multiplexer Control)寄…...
LabVIEW实现动态水球图的方法
水球图是一种直观展示百分比数据的图表,常用于数据监测与展示。LabVIEW 虽不直接支持水球图绘制,但可通过图片控件动态绘制波形,或借助 HTMLCSS 的 Web 控件实现。此外,还可以结合 Python 等第三方工具生成水球图,LabV…...
【江协STM32】11-2/3 W25Q64简介、软件SPI读写W25Q64
1. W25Q64简介 W25Qxx系列是一种低成本、小型化、使用简单的非易失性存储器,常应用于数据存储、字库存储、固件程序存储等场景存储介质:Nor Flash(闪存)时钟频率:80MHz / 160MHz (Dual SPI) / 320MHz (Quad SPI)存储容…...
《自动驾驶与机器人中的SLAM技术》ch2:基础数学知识
目录 2.1 几何学 向量的内积和外积 旋转矩阵 旋转向量 四元数 李群和李代数 SO(3)上的 BCH 线性近似式 2.2 运动学 李群视角下的运动学 SO(3) t 上的运动学 线速度和加速度 扰动模型和雅可比矩阵 典型算例:对向量进行旋转 典型算例:旋转的复合 2.3 …...
算法日记2:洛谷p3853路标设置(二分答案)
一、题目: 二、解题思路: 2.1:首先,我们二分空旷指数 1、因为题目中要求我们求解最大值最小应该是属于第二类模型2.也就是说,当check()函数为true时候,说明这个空旷指数是成立的,对应的路标数…...
浅谈云计算06 | 云管理系统架构
云管理系统架构 一、云管理系统架构(一)远程管理系统(二)资源管理系统(三)SLA 管理系统(四)计费管理系统 二、安全与可靠性保障(一)数据安全防线(…...
Blender常规设置
移动:Shift鼠标中键 旋转:鼠标中键 缩放:Ctrl鼠标中键...
c++ 中的容器 vector、deque 和 list 的区别
表格汇总: 容器存储结构随机访问性能中间插入/删除性能两端插入/删除性能内存管理特点迭代器类型适用场景vector连续存储的动态数组 O ( 1 ) O(1) O(1) O ( n ) O(n) O(n)(需要移动元素)末尾: O ( 1 ) O(1) O(1),头部…...
【物流管理系统 - IDEAJavaSwingMySQL】基于Java实现的物流管理系统导入IDEA教程
有问题请留言或私信 步骤 下载项目源码:项目源码 解压项目源码到本地 打开IDEA 左上角:文件 → 新建 → 来自现有源代码的项目 找到解压在本地的项目源代码文件,点击确定,根据图示步骤继续导入项目 查看项目目录ÿ…...
数据集-目标检测系列- 电话 测数据集 call_phone >> DataBall
数据集-目标检测系列- 电话 测数据集 call DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 需要更多数据资源和技术解决方案,知识星球: “DataBall - X 数据球(free)” 贵在坚持! …...
VUE3 自定义指令的介绍
自定义指令的概述 在 Vue 中,自定义指令是一种机制,允许开发者在模板中直接操作 DOM 元素,执行一些低级别的操作。Vue 提供了几个内置指令(如 v-if、v-for、v-model 等),但当我们需要一些特定功能时&#…...
HTML学习笔记记录---速预CSS(2) 复合属性、盒子模型、边框线、浮动、定位
复合属性写法: {font: font-style font-weitght font-size/line-height font-family} {font: 样式 粗细 字号 字体} (书写瞬间为固定的不可更改) block 块级元素 div inline 行内元素 span inline-block 行内块元素 …...
二 RK3568 固件中打开 ADB 调试
一 usb adb Android 系统,设置->开发者选项->已连接到计算机 打开,usb调试开关打开 通过 usb otg 口连接 开发上位机 (windows/linux) 上位机安装 adb 服务之后 , 通过 cmd/shell: #1 枚举设备 adb devices #2 进入 android shell adb shell # 3 验证上传下载…...
centos9设置静态ip
CentOS 9 默认使用 NetworkManager 管理网络,而nmcli是 NetworkManager 命令行接口的缩写,是一个用来进行网络配置、管理网络连接的命令工具,可以简化网络设置,尤其是在无头(没有图形界面)环境下。 1、 cd…...
【Python】Python之Selenium基础教程+实战demo:提升你的测试+测试数据构造的效率!
这里写目录标题 什么是Selenium?Selenium基础用法详解环境搭建编写第一个Selenium脚本解析脚本脚本执行结果常用的元素定位方法常用的WebDriver方法等待机制 Selenium高级技巧详解页面元素操作处理弹窗和警告框截图和日志记录多窗口和多标签页操作 一个实战的小demo…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
