---
title: "SafeKit：Podman 高可用性和实时数据复制软件"
canonical: "https://safekit.eviden.com/zh-hans/solutions/podman-the-simplest-high-availability-cluster-between-two-redundant-servers/"
description: "SafeKit 提供了一个强大的 Podman 高可用性解决方案，并集成了同步数据复制。在标准 Linux 服务器上实现有状态容器集群，具有自动故障转移和零数据丢失功能。无需 SAN 或共享存储。几分钟即可部署。"
category: "solutions"
lang: "zh-hans"
topics: "SANless SafeKit mirror 集群如何与 Podman 配合使用, 目录, SafeKit 软件如何简单地实现 Podman 高可用性集群？, SafeKit mirror 集群如何与 Podman 配合使用？, SafeKit 高可用性限制, 比较：SafeKit SANless 集群与传统 Podman HA, 比较：SafeKit 与开源 Linux HA（Pacemaker/Corosync/DRBD）, Podman 高可用性概述"
translation: "translate_md 2026-11-08.3 | glossaire 2026-11-08.6 | Translation LLM | 36 expressions"
---

# SafeKit：Podman 高可用性和实时数据复制软件 {#safekit-podman-high-availability--real-time-data-replication-software}

## SANless SafeKit mirror 集群如何与 Podman 配合使用 {#how-the-sanless-safekit-mirror-cluster-works-with-podman}

SafeKit 提供了一种轻量级、**恰到好处的高可用性解决方案**，专为那些认为 **Kubernetes** 对于本地化或边缘计算容器工作 **SafeKit** 而言资源消耗过大、过于复杂或过度设计而设计的组织量身定制。**为 Linux 上的 Podman 提供了一个简化的、一体化的双节点高可用性集群**。它作为复杂“自己动手”（DIY） Linux 高可用性堆栈的无缝集成替代方案，消除了手动配置 **Corosync** 进行节点成员管理、**Pacemaker** 进行资源编排以及 **DRBD** 进行块级复制的技术负担。**通过利用实时同步复制和自动切换的虚拟 IP 地址**，SafeKit 创建了一个强大的**无共享存储集群**，从而消除了对昂贵共享存储的需求。**这种架构确保了透明的客户端重新连接、快速的自动故障转移以及容器化应用程序的零数据丢失保证（RPO =0）**。

  * ✅**Kubernetes 替代方案：** 为容器提供高可用性，而无需承担 K8s 网络（入口/负载均衡器）和编排的开销。
  * ✅**架构简化：** 用单个软件包取代 Corosync/Pacemaker/DRBD 堆栈。
  * ✅**无需共享存储：** SANless 架构使用本地磁盘和字节级复制。
  * ✅**自动虚拟 IP (VIP) 故障转移：** 确保在切换期间客户端能够透明地重新连接。
  * ✅**同步数据复制：** 保证节点之间零数据丢失（RPO = 0）。
  * ✅**自动故障转移和故障恢复：** 在冗余节点上快速重启应用程序，无需手动脚本。

![SafeKit Podman 高可用性集群架构，提供虚拟 IP、自动故障转移、自动回切和实时复制](https://safekit.eviden.com/wp-content/uploads/2026/02/safekit-podman-5-1024.jpg "w:512")

**使用 SafeKit 的 SANless 架构为 Podman 容器提供高可用性 (HA) 解决方案**。

<a class="btn-quick-install" href="/zh-hans/quick-install/safekit-quick-installation-guide-with-podman/">⚡ Podman HA 快速安装指南 ></a>
## 目录 {#table-of-contents}

  * [SafeKit 软件如何简单地实现 Podman 高可用性集群？](#how-safekit-implements-podman-ha)
  * [SafeKit mirror 集群如何与 Podman 配合使用？](#safekit-mirror-cluster)
  * [SafeKit 高可用性限制](#safekit-ha-limitations)
  * [比较：SafeKit SANless 集群与传统 Podman HA](#safekit-podman-comparison)
  * [比较：SafeKit 与开源 Linux HA（Pacemaker/Corosync/DRBD）](#safekit-vs-linux-ha-stack)
  * [Podman 高可用性概述](#podman-ha-summary-quick-installation-guide)
  * [🔍 探索 SafeKit](#hub)

## SafeKit 软件如何简单地实现 Podman 高可用性集群？ {#how-safekit-implements-podman-ha}

### 如何在两台服务器上实现 Podman 的高可用性？ {#how-can-i-achieve-high-availability-for-podman-on-two-servers}

**SafeKit** 为两台冗余服务器之间的 **Podman** 提供高可用性解决方案，而无需共享磁盘。**该系统通过配置与 Podman 永久数据相关联的目录的实时复制**来工作。如果发生故障，SafeKit 会管理自动故障转移，并在几秒钟内将您的容器重新启动到辅助节点上。

### Podman 容器的自动网络故障转移是如何工作的？ {#how-does-automatic-network-failover-work-for-podman-containers}

SafeKit 实现了一个**自动切换的虚拟 IP (VIP) 地址**。此 VIP 可作为客户端应用程序的单个入口点。如果主服务器发生故障，SafeKit 会使用**免费 ARP** 将虚拟 IP 移动到冗余服务器。这确保客户端透明地重新连接到已重新启动 Podman 应用程序的同一 IP 地址。

### Podman 的“无 SAN”集群是什么？ {#what-is-a-sanless-cluster-for-podman}

Podman 的**无 SAN 集群**是一种架构，可在无需昂贵的存储区域网络 (SAN) 或网络附加存储 (NAS)**SafeKit** 情况下提供高可用性。**使用基于主机的同步复制**在两台服务器的本地磁盘之间 mirror 数据。**这消除了共享存储作为单点故障，并确保恢复点目标 (RPO) 为零**，这意味着在故障转移期间不会发生数据丢失。

### 是否可以在没有 Kubernetes 技能的情况下设置 Podman 集群？ {#is-it-possible-to-set-up-a-podman-cluster-without-kubernetes-skills}

是的。本文介绍了如何在没有专门集群技能或复杂 Kubernetes 编排的情况下[快速实施 Podman 集群](<https://safekit.eviden.com/zh-hans/quick-install/safekit-quick-installation-guide-with-podman/>)。通过使用 SafeKit 的**自动重启脚本**来处理 Podman 应用程序的启动和停止，您可以获得一个强大的冗余解决方案，其部署和维护比 K8s 简单得多。

### SafeKit 复制与 DRBD 等 Podman 块级解决方案有何不同？ {#how-does-safekit-replication-differ-from-block-level-solutions-like-drbd-for-podman}

与大多数使用**块级复制**（如 DRBD）的无共享存储解决方案不同，**SafeKit** **在文件级别执行基于主机的复制**。这种方法对于 Podman 应用程序是完全透明的，因为它不需要您将数据迁移到特定的、新创建的“复制磁盘”卷。**相反，您只需配置 SafeKit 来复制现有的应用程序文件夹——即使是系统磁盘**上的文件夹。这允许您在 Podman 已经安装的位置为其实现高可用性，而无需复杂的磁盘重新配置或应用程序更改。

### 除了 Podman SafeKit 还能为其他应用程序提供高可用性吗？ {#can-safekit-provide-high-availability-for-applications-beyond-podman}

是的。**SafeKit** 是一款高度通用、兼容 **Windows 和 Linux** 高可用性软件。**除了 Podman，SafeKit 还可以用于为任何文件目录、服务或数据库实现实时复制和自动故障转移**它支持多种技术，包括 **Hyper-V 和 KVM 虚拟机**、**Docker**、**K3s** 以及各种**云应用程序**。这使得 SafeKit 成为一种通用的集群解决方案，可在各种 IT 环境中保护关键工作负载，而无需专用硬件。

## SafeKit mirror 集群如何与 Podman 配合使用？ {#safekit-mirror-cluster}

### 步骤 1. 实时复制 {#step1}

服务器 1（PRIM）运行 Podman 应用程序。客户端连接到[虚拟 IP 地址](https://safekit.eviden.com/zh-hans/best-practises/how-a-virtual-ip-address-works/)。SafeKit 通过网络实时复制文件 SafeKit 所做的修改。

![在 mirror Podman 集群中进行字节级文件复制](https://safekit.eviden.com/wp-content/uploads/2023/02/safekit-prim-second-300.png "w:300")

与异步复制不同，[同步](https://safekit.eviden.com/zh-hans/best-practises/synchronous-replication-vs-asynchronous-replication/)复制在发生故障时不会丢失数据。

您只需在 SafeKit 中配置要复制的目录名称。对磁盘组织没有先决条件。目录可以位于系统磁盘中。

### 步骤 2. 自动故障转移 {#step2}

当服务器 1 出现故障时，服务器 2 将接管。SafeKit 切换虚拟 IP 地址，并在服务器 2 上自动重新启动 Podman 应用程序。

应用程序发现 SafeKit 在服务器 2 上复制的文件是最新的。应用程序继续在服务器 2 上运行，并本地修改其不再复制到服务器 1 的文件。

![mirror 集群中 Podman 的故障转移](https://safekit.eviden.com/wp-content/uploads/2023/02/safekit-stop-alone-300.png "w:300")

故障转移时间等于故障检测时间（默认为 30 秒）加上应用程序启动时间。

### 步骤 3.自动回切 {#step3}

故障恢复是指在修复导致服务器 1 故障的问题后，重新启动服务器 1。

SafeKit 会自动重新同步文件，仅更新服务器 1 停止运行时服务器 2 上修改的文件。

![mirror Podman 集群中的故障恢复](https://safekit.eviden.com/wp-content/uploads/2023/02/safekit-resynchro-alone-300.png "w:300")

故障恢复在不中断 Podman 应用程序的情况下进行，该应用程序可以继续在服务器 2 上运行。

### 步骤 4. 恢复正常 {#step-4-back-to-normal}

重新集成后，文件再次处于 mirror 模式，如步骤 1 中所示。系统恢复高可用性模式，Podman 应用程序在服务器 2 上运行，SafeKit 将文件更新复制到服务器 1。

![恢复 mirror Podman 集群的正常运行](https://safekit.eviden.com/wp-content/uploads/2023/02/safekit-second-prim-300.png "w:300")

如果管理员希望应用程序在服务器 1 上运行，可以在适当的时候通过 Web 控制台手动完成，也可以通过配置自动完成。

### 如何为 Podman 配置 SafeKit mirror 集群？ {#safekit-mirror-cluster-configure}

![SafeKit Web 控制台： Podman 的高可用性配置仪表板，显示心跳网络、虚拟 IP 设置以及 mirror 集群的实时目录复制。](https://safekit.eviden.com/wp-content/uploads/2026/01/safekit-mirror-cluster-config.png "w:763")

**SafeKit Web 控制台**提供了一个直观的界面，用于为您的关键应用程序编排高可用性。**只需几个步骤，您就可以配置 SafeKit mirror 集群**以确保业务连续性：

  * **应用程序故障转移（宏选项卡）：** 定义在发生故障时要自动重新启动的特定应用程序服务。
  * **心跳网络：** 集群节点用于持续监控彼此的运行状况和可用性以及同步故障转移决策的专用通信路径。
  * **虚拟 IP 管理：** 设置虚拟 IP (VIP)，以便在故障转移后实现透明的客户端重新连接。
  * **实时复制：** 选择用于基于主机、同步字节级复制的关键目录。
  * **检查器：** 监控应用程序的运行状况，并在检测到进程故障时触发自动恢复。

SafeKit 集群包含一个专用的裂脑检查器，用于解决网络隔离问题，而无需第三个见证机或额外的保活网络。了解[有关集群中的保活、故障转移和仲裁的](https://safekit.eviden.com/zh-hans/best-practises/heartbeat-failover-quorum-windows-linux-cluster/)更多信息。

### 如何监控 SafeKit mirror 集群的 Podman？ {#safekit-mirror-cluster-monitoring}

![SafeKit Web Console：实时监控一个双节点 mirror 集群，该集群用于 Podman，显示 PRIM 和 SECOND 运行状态以及数据实时复制情况。](https://safekit.eviden.com/wp-content/uploads/2026/05/mirror-monitoring-prim-second.png "w:604")

**SafeKit 管理控制台**提供高可用性基础设施的统一视图。**它允许管理员监控集群的运行状态**并实时跟踪数据同步。

对于一个 2 节点 mirror 集群，控制台会清晰地显示每个服务器的角色：

  * **PRIM（主）：** 当前运行应用程序并管理虚拟 IP 的活动节点。它将写入本地存储，并实时复制到辅助节点。
  * **SECOND（辅助）：** 接收同步字节级更新的备用节点。如果主节点发生故障，它已准备好立即接管。
  * **ALONE 状态：** 当集群在单个节点上运行时（例如，在维护期间或发生故障后），会向您发出视觉警报，表明冗余暂时丢失。
  * **重新同步进度：** 当故障节点恢复时，其状态在后台数据重新集成期间变为橙色，确保在“恢复正常”阶段没有停机时间。

除了简单的状态图标，该界面还提供**一键式故障转移编排**，允许您在计划维护期间手动重新分配主角色，同时确保用户活动的持续可用性。

## SafeKit 高可用性限制 {#safekit-ha-limitations}

限制/要求 | 原因与影响 | 推荐替代方案  
---|---|---  
复制大小：几 TB |  故障后的重新同步时间（[步骤 3](https://safekit.eviden.com/zh-hans/architectures/file-replication-byte-level-with-failover-mirror-cluster/#safekit-mirror-cluster)）：<br> • 1 Gb/s 网络 ≈ 3 小时/TB <br> • 10 Gb/s 网络 ≈ 1 小时/TB（取决于磁盘写入性能）  |  • 使用[外部共享存储](https://safekit.eviden.com/zh-hans/best-practises/san-vs-nas-shared-storage-for-a-failover-cluster/)（更昂贵，更复杂）。   
文件数量：< 1,000,000 个文件 |  • 故障后的重新同步时间性能（[步骤 3](https://safekit.eviden.com/zh-hans/architectures/file-replication-byte-level-with-failover-mirror-cluster/#safekit-mirror-cluster)）。<br> • 比较两个节点之间每个文件所需的时间。  |  • 将要复制的许多文件放入虚拟硬盘/虚拟机中。<br> • 在这种情况下，只有代表虚拟硬盘/虚拟机的那些文件会被复制和重新同步。   
故障转移容量：≤ 32 台虚拟机 |  • 每个虚拟机都在独立的 mirror 模块中运行。<br> • 同一集群中最多可运行 32 个 mirror 模块。  |  • 使用外部共享存储和另一个虚拟机集群解决方案（更昂贵，更复杂）。   
网络架构：远程站点之间的局域网/虚拟局域网 |  • [虚拟 IP 地址](https://safekit.eviden.com/zh-hans/best-practises/how-a-virtual-ip-address-works/)在同一子网中的 2 个节点之间自动故障转移。<br> • 良好的带宽，用于重新同步（[步骤 3](https://safekit.eviden.com/zh-hans/architectures/file-replication-byte-level-with-failover-mirror-cluster/#safekit-mirror-cluster)）。<br> • [同步复制的](https://safekit.eviden.com/zh-hans/best-practises/synchronous-replication-vs-asynchronous-replication/)低延迟：通常 < 5 毫秒 RTT；应根据应用程序的写入速率验证较高值。  |  • 如果两个节点位于不同的子网中（云中常见），请使用[其他重新路由选项](https://safekit.eviden.com/zh-hans/best-practises/how-a-virtual-ip-address-works/#safekit-virtual-ip-implementation)：负载均衡器、云提供商 CLI、BGP 或 DNS 重定向。<br> • 对于高延迟网络，请使用具有异步复制的备份解决方案。   

 

## 比较：SafeKit SANless 集群与传统 Podman HA {#safekit-podman-comparison}

特色 | 传统 HA（K8s/共享存储） | SafeKit（无共享 Mirror）  
---|---|---  
存储架构 | 需要昂贵的 **SAN 或 NAS**（共享磁盘） | 无共享：仅使用本地磁盘  
复制类型 | 通常为块级（配置复杂） | 字节级文件复制（透明）  
数据一致性 | 取决于外部存储的可靠性 | 同步复制 (RPO = 0)  
网络设置 | 复杂（负载均衡器、入口等） | 自动虚拟 IP (VIP) 故障转移  
技能要求 | 专家（Kubernetes /集群专家） | 简单：无需专业技能  
故障恢复流程 | 手动或复杂地重新同步 | 自动重新同步修改后的数据  
  
## 比较：SafeKit 与开源 Linux HA（Pacemaker/Corosync/DRBD） {#safekit-vs-linux-ha-stack}

特色 | Linux HA 堆栈（Pacemaker + Corosync + DRBD） | SafeKit（无共享 Mirror）  
---|---|---  
架构 | 模块化：需要管理 3 种或更多种不同的工具和内核模块。 | 一体化：用于复制和故障转移的单一集成软件。  
复制级别 | 块级 (DRBD)：复制整个分区/磁盘卷。 | 字节级（SafeKit）：仅复制特定文件内已修改的数据。  
配置简便 | 复杂：需要 CLI（命令行界面）专业知识来手动编程排序约束（虚拟 IP、挂载）、应用程序恢复脚本和仲裁/隔离规则。 | 简单：直观的 Web 控制台和即用型应用程序模块。  
隔离（STONITH） | 防止损坏的强制措施：STONITH（Shoot The Other Node In The Head）需要专门的硬件（IPMI/iDRAC）来切断电源或重启故障服务器。 | 基于软件：[智能分割脑解决方案，无需额外硬件。](<https://safekit.eviden.com/zh-hans/best-practises/heartbeat-failover-quorum-windows-linux-cluster/>)  
故障恢复流程 | 手动/技术：重新同步期间数据发散或“脑裂”的风险。 | 自动且透明：后台重新同步，并具备安全故障恢复功能。  
维护 | 更新/排除单个组件故障需要高超的专业技能。 | 普通系统管理员可通过网络仪表板轻松维护。  
  
## Podman 高可用性概述 {#podman-ha-summary-quick-installation-guide}

**SafeKit** **为 Podman 提供了一个简单的双节点高可用集群**，为关键任务工作负载提供了一个轻量级的 **Kubernetes 替代方案**。通过替换复杂的 **Corosync、Pacemaker 和 DRBD** 堆栈，SafeKit 无需昂贵的 **SAN/NAS** 共享存储。

通过**实时同步复制**和**自动虚拟 IP (VIP) 故障转移**，SafeKit 可确保**零数据丢失 (RPO = 0)** 和透明的应用程序恢复。**对于需要强大、无 SAN 的高可用性**，且配置和管理开销极小的组织而言，它是理想的解决方案。

