/images/avatar.png
<!-- 这里是视频上面的文字,如果不需要可以删掉下面这几行 -->
<div style="
    position: absolute; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    color: white; 
    text-shadow: 0 0 10px black;
    text-align: center;">
    <h1>欢迎来到我的世界</h1>
    <p>Keep Simple, Keep Coding</p>
</div>
<!-- 文字部分结束 -->

keepalived

1. 什么是高可用 (High Availability, HA)?

在 IT 领域,‘高可用’指的是系统在面对硬件故障、软件错误或网络问题时,仍能长时间持续提供服务的能力。

'目标':消除单点故障(SPOF)。如果一台服务器挂了,另一台能立马顶上。
'衡量标准':通常用“几个9”来衡量,比如 99.99%(意味着一年停机时间不超过 52 分钟)。

‘Keepalived’ 就是Linux下一个轻量级的高可用解决方案,它最初是为 LVS(Linux Virtual Server)设计的,用来管理并监控负载均衡集群中的服务节点状态。

2. 核心基石:VRRP 协议

要懂 Keepalived,必须先懂 ‘VRRP’ (Virtual Router Redundancy Protocol,虚拟路由器冗余协议)。Keepalived 就是用 C 语言实现了 VRRP 协议。

VRRP 的工作原理:

想象一下,你有一群路由器,我们想让它们在外面看起来像’一台’超级路由器。

  1. ‘虚拟 IP (VIP)’:这是对外提供服务的 IP 地址。客户端只连接这个 IP,不知道后面具体是哪台机器。
  2. ‘角色’: ’ ‘Master (主节点)’:真正持有 VIP,负责处理流量,并周期性地向 Backup 发送“我还活着”的广播包(心跳)。 ’ ‘Backup (备节点)’:监听 Master 的广播。
  3. ‘选举与故障切换 (Failover)’: ’ Backup 如果在一定时间内(通常是3秒)收不到 Master 的心跳包,就认为 Master 挂了。 ’ Backup 根据优先级(Priority)选举出新的 Master,接管 VIP。 ’ 一旦旧 Master 恢复,根据配置(抢占模式),它可能会重新夺回 VIP。

3. Keepalived 基础知识

Keepalived 主要有两个核心功能:

Building a Keepalived + Nginx Dual-Master HA Cluster from Scratch (Ubuntu 24.04)

Building a Keepalived + Nginx Dual-Master HA Cluster from Scratch (Ubuntu 24.04)

Preface: I recently grabbed a domain for just a dollar and decided to tinker with server high availability architectures. In a production environment, a single point of failure (SPOF) is a DevOps nightmare. Today, I’m documenting how I used Keepalived to implement a Dual-Master (Active-Active) architecture.

Goal: Two servers acting as backups for each other. Normally, each handles one VIP (Virtual IP). If one server fails, the other instantly takes over all traffic!