Google GCP 高可用性:SafeKit 同步复制和故障转移
SafeKit GCP 内共享无数据高可用性:零数据丢失,告别共享磁盘
虽然主要的云提供商提供原生冗余,但它们通常在数据复制和真正的可用性之间留下一个显著的差距。目前,云用户必须在两个不理想的路径之间进行选择:原生异步复制,这需要手动故障转移并存在数据丢失的风险;或者云共享磁盘,这缺乏无缝业务连续性所需的自动故障转移机制。
SafeKit:复杂 GCP 集群的轻量级一体化替代方案
- 一体化双节点 GCP 集群: SafeKit 是一款完整的解决方案,在一个集成的软件包中提供原生多可用区 (AZ) 功能,包括虚拟 IP、自动故障转移、自动回切和同步实时文件复制。
- 零数据丢失 (RPO = 0): 与用于灾难恢复 (DR) 的原生云虚拟机复制不同,SafeKit 使用同步文件级复制来确保事务性应用程序的数据完整性,保证在发生故障时不会丢失数据。
- 无共享架构: SafeKit 消除了对云共享磁盘的需求,并解决了其相关的“磁盘锁定”问题。它使用本地磁盘以实现最快的速度和最低的成本。传统集群通常会挂起,等待云提供商从失败的节点释放存储锁,而 SafeKit 使用每个节点本地磁盘中的独立同步文件夹来确保即时故障转移。
- 零应用重配置: SafeKit 执行透明的文件级复制,允许您保护应用程序和数据在其安装位置(包括系统磁盘),而无需将数据迁移到专用的云共享磁盘。
- Kubernetes 替代方案: SafeKit 为传统和容器化应用程序(非为 Kubernetes 设计)提供高可用性,而无需 Kubernetes 编排的操作开销和复杂性。
- 统一部署(本地或云): 除了在云负载均衡器中配置虚拟 IP 外,SafeKit 部署过程在本地和云环境中保持一致。
通过将高可用性整合到轻量级软件层中,SafeKit 以传统集群套件一小部分的成本,在云中提供企业级冗余和业务连续性。

适用于 GCP SafeKit HA mirror 集群
目录
- SafeKit 软件如何简单地实现无共享 GCP高可用性集群?
- SafeKit mirror 集群如何与 GCP 配合使用?
- SafeKit 高可用性限制
- 比较:SafeKit(适用于 GCP) 与原生云高可用/灾难恢复解决方案
- 视频指南:配置 SafeKit mirror HA 集群
- 🔍 SafeKit 高可用性导航中心
SafeKit 软件如何简单地实现无共享 GCP高可用性集群?
什么是适用于 GCP SafeKit Mirror HA 解决方案?
SafeKit 可为两个可用区 (AZ) 中两台虚拟机之间的 GCP 提供高可用性。
本文介绍了如何在没有云共享磁盘和特定技能的情况下快速实施 GCP 集群。
该解决方案的原理是定义 GCP 程序数据、其服务、虚拟 IP 和检查器所在的文件夹。
SafeKit 随后实施实时复制和自动故障转移,以确保服务的持续可用性。
为什么选择统一的一体化高可用性解决方案,而不是零散的工具?
与将用于复制和集群的独立产品组合在一起的“附加”解决方案不同,SafeKit 将虚拟 IP、自动故障转移、自动回切和同步实时文件复制集成到一个引擎中。
这消除了更新破坏不同工具之间脆弱链接的“纸牌屋”风险,为整个 HA 堆栈提供了一个单一的责任点,并通过为 GCP应用级 HA 提供一个单一的界面来减少人为错误。
SafeKit 如何处理统一部署和云虚拟 IP?
SafeKit 是一种与云无关的解决方案,这意味着部署过程和架构在本地服务器和所有主要云提供商之间保持不变。唯一的架构差异在于 虚拟 IP 如何呈现给网络:
- 本地部署: SafeKit 通过向本地交换机发送 GARP(免费 ARP) 数据包直接管理 VIP,从而在节点之间即时移动 IP。
- 在云中: 由于云网络不支持 GARP,虚拟 IP 由云负载均衡器托管。SafeKit 提供健康探测来确定哪个节点是主节点。这允许负载均衡器实时检测活动节点并自动将其流量路由到该节点,从而确保可用区之间的无缝故障转移。
与竞争对手相比,SafeKit 在 GCP 高可用性方面有哪些独特的优势?
SafeKit 通过其无共享架构和简化的部署,使其有别于传统的 GCP 集群。虽然大多数企业解决方案需要对云共享磁盘进行复杂管理,但 SafeKit 提供:
- 零数据丢失的同步复制: SafeKit 实现 100% 同步复制,确保事务应用程序的完全数据完整性。如果发生故障,则不会丢失任何数据(RPO = 0)。此外,SafeKit 不仅可以复制 GCP 程序数据库,还可以复制任何其他数据文件夹(日志、配置文件等),从而确保整个环境都得到镜像。
- 简化的双节点集群: 与通常需要“见证”(第三个节点、磁盘、文件共享)来维持仲裁的标准集群不同,SafeKit 仅需两个冗余服务器即可提供完全的高可用性,从而降低了基础设施成本和复杂性。
了解更多关于我们的心跳和仲裁机制。 - 统一管理: 管理员可以通过单个 SafeKit 控制台管理 GCP 程序故障转移、数据复制和监控。这使得没有专业“集群管理员”专业知识的团队也能实现高可用性。
- 自定义检查器: SafeKit 不仅限于基本的服务监控,还提供检查器来监控 GCP 程序进程的运行状况。该系统具有高度可扩展性,允许添加适合您环境的自定义检查器。
与标准集群相比,SafeKit 如何降低 GCP 的总拥有成本 (TCO)?
与传统的高可用性解决方案不同,SafeKit 设计旨在以绝对最低的基础设施开销运行,同时不影响可靠性。与传统故障转移集群相比,主要节省包括:
- 零云共享磁盘成本: SafeKit 采用共享无架构,可与本地磁盘配合使用。
- 无需企业版: 虽然原生数据库复制机制可能需要昂贵的企业版许可证,但 SafeKit 不需要企业版。它与标准版甚至免费版无缝配合,以极低的成本提供高端可用性。
- 真正的双节点效率: 与通常需要“见证”(第三个节点、磁盘或文件共享)来维持仲裁的标准集群不同,SafeKit 仅需两台冗余服务器即可提供完全的高可用性。
- 无强制订阅: SafeKit 提供永久许可证。您拥有自己的软件,避免了现代云端或基于订阅的模式中常见的“订阅陷阱”和不可预测的年度价格上涨。
- 运营费用低: 作为即插即用解决方案,它不需要专门的培训或昂贵的外部咨询来维护,这与复杂的开源集群工具不同。
- CPU 独立定价: 许可独立于 CPU 或内核的数量。只需两个节点即可获得两个许可证,从而保护您的 GCP 程序免受故障影响。
是否可以在没有集群技能的情况下设置 GCP mirror 集群?
是的。本文介绍了如何快速实施 GCP mirror 集群而无需复杂的 HA 集群技能。通过使用 SafeKit 的自动化故障转移脚本来处理 GCP 程序的复制和重启,您可以获得一个强大的冗余解决方案,其部署和维护比传统的集群解决方案简单得多。
除了 GCP,SafeKit 还能保护哪些应用和环境?
SafeKit 是一款适用于 Windows 和 Linux 多功能高可用性解决方案,其功能远超 GCP mirror 集群。它支持各种关键工作负载的同步实时复制和自动故障转移,包括:
- 虚拟和物理环境: 完整的 Hyper-V 或 KVM 虚拟机。
- 容器编排: Docker、Podman 和 K3s (Kubernetes) 环境。
- 数据与服务: 单个文件目录、服务和各种数据库。
- 云基础设施: 为云应用程序提供高可用性。
SafeKit 还为 farm 集群提供原生网络负载均衡和故障转移,以支持 Web 服务器等无状态应用程序。
SafeKit mirror 集群如何与 GCP 配合使用?
步骤 1. 实时复制
服务器 1(PRIM)运行 GCP 应用程序。客户端连接到虚拟 IP 地址。SafeKit 通过网络实时复制文件 SafeKit 所做的修改。

与异步复制不同,同步复制在发生故障时不会丢失数据。
您只需在 SafeKit 中配置要复制的目录名称。对磁盘组织没有先决条件。目录可以位于系统磁盘中。
步骤 2. 自动故障转移
当服务器 1 出现故障时,服务器 2 将接管。SafeKit 切换虚拟 IP 地址,并在服务器 2 上自动重新启动 GCP 应用程序。
应用程序发现 SafeKit 在服务器 2 上复制的文件是最新的。应用程序继续在服务器 2 上运行,并本地修改其不再复制到服务器 1 的文件。

故障转移时间等于故障检测时间(默认为 30 秒)加上应用程序启动时间。
步骤 3.自动回切
故障恢复是指在修复导致服务器 1 故障的问题后,重新启动服务器 1。
SafeKit 会自动重新同步文件,仅更新服务器 1 停止运行时服务器 2 上修改的文件。

故障恢复在不中断 GCP 应用程序的情况下进行,该应用程序可以继续在服务器 2 上运行。
步骤 4. 恢复正常
重新集成后,文件再次处于 mirror 模式,如步骤 1 中所示。系统恢复高可用性模式,GCP 应用程序在服务器 2 上运行,SafeKit 将文件更新复制到服务器 1。

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

SafeKit Web 控制台提供了一个直观的界面,用于为您的关键应用程序编排高可用性。只需几个步骤,您就可以配置 SafeKit mirror 集群以确保业务连续性:
- 应用程序故障转移(宏选项卡): 定义在发生故障时要自动重新启动的特定应用程序服务。
- 心跳网络: 集群节点用于持续监控彼此的运行状况和可用性以及同步故障转移决策的专用通信路径。
- 虚拟 IP 管理: 设置虚拟 IP (VIP),以便在故障转移后实现透明的客户端重新连接。
- 实时复制: 选择用于基于主机、同步字节级复制的关键目录。
- 检查器: 监控应用程序的运行状况,并在检测到进程故障时触发自动恢复。
SafeKit 集群包含一个专用的裂脑检查器,用于解决网络隔离问题,而无需第三个见证机或额外的保活网络。了解有关集群中的保活、故障转移和仲裁的更多信息。
如何监控 SafeKit mirror 集群的 GCP?

SafeKit 管理控制台提供高可用性基础设施的统一视图。它允许管理员监控集群的运行状态并实时跟踪数据同步。
对于一个 2 节点 mirror 集群,控制台会清晰地显示每个服务器的角色:
- PRIM(主): 当前运行应用程序并管理虚拟 IP 的活动节点。它将写入本地存储,并实时复制到辅助节点。
- SECOND(辅助): 接收同步字节级更新的备用节点。如果主节点发生故障,它已准备好立即接管。
- ALONE 状态: 当集群在单个节点上运行时(例如,在维护期间或发生故障后),会向您发出视觉警报,表明冗余暂时丢失。
- 重新同步进度: 当故障节点恢复时,其状态在后台数据重新集成期间变为橙色,确保在“恢复正常”阶段没有停机时间。
除了简单的状态图标,该界面还提供一键式故障转移编排,允许您在计划维护期间手动重新分配主角色,同时确保用户活动的持续可用性。
SafeKit 高可用性限制
| 限制/要求 | 原因与影响 | 推荐替代方案 |
|---|---|---|
| 复制大小:几 TB | 故障后的重新同步时间(步骤 3): • 1 Gb/s 网络 ≈ 3 小时/TB • 10 Gb/s 网络 ≈ 1 小时/TB(取决于磁盘写入性能) | • 使用外部共享存储(更昂贵,更复杂)。 |
| 文件数量:< 1,000,000 个文件 | • 故障后的重新同步时间性能(步骤 3)。 • 比较两个节点之间每个文件所需的时间。 | • 将要复制的许多文件放入虚拟硬盘/虚拟机中。 • 在这种情况下,只有代表虚拟硬盘/虚拟机的那些文件会被复制和重新同步。 |
| 故障转移容量:≤ 32 台虚拟机 | • 每个虚拟机都在独立的 mirror 模块中运行。 • 同一集群中最多可运行 32 个 mirror 模块。 | • 使用外部共享存储和另一个虚拟机集群解决方案(更昂贵,更复杂)。 |
| 网络架构:远程站点之间的局域网/虚拟局域网 | • 虚拟 IP 地址在同一子网中的 2 个节点之间自动故障转移。 • 良好的带宽,用于重新同步(步骤 3)。 • 同步复制的低延迟:通常 < 5 毫秒 RTT;应根据应用程序的写入速率验证较高值。 | • 如果两个节点位于不同的子网中(云中常见),请使用其他重新路由选项:负载均衡器、云提供商 CLI、BGP 或 DNS 重定向。 • 对于高延迟网络,请使用具有异步复制的备份解决方案。 |
比较:SafeKit(适用于 GCP) 与原生云高可用/灾难恢复解决方案
| 特色 | GCP 的 SafeKit | 原生云共享磁盘 | 用于灾难恢复的本地云虚拟机复制 |
|---|---|---|---|
| 架构 | 无共享:使用本地磁盘,以实现最高速度和最低成本。 | 共享存储:依赖于云托管磁盘。 | 块级:将整个虚拟机磁盘复制到被动区域。 |
| 数据完整性 (RPO) | 零 (RPO = 0):同步文件级复制。 | 零:同步写入共享磁盘。 | 非零:异步复制导致数据延迟。 |
| 故障转移/故障恢复逻辑 | 全自动:集成监控和重启功能。 | 需要支持云共享磁盘的第三方故障转移工具。 | 手动:需要激活灾难恢复计划。 |
| 应用程序设置 | 零重新配置:保护应用程序在其当前安装位置。 | 重新配置:应用程序数据必须迁移到特定的共享磁盘。 | 无:按原样捕获整个操作系统和应用程序。 |
| 复制范围 | 完成:应用程序数据文件夹(数据库 + 配置 + 日志)。 | 部分:仅共享卷上存储的数据。 | 全部:复制整个虚拟机。 |
| 虚拟机本地化 | 原生多可用区:在区域内的可用区之间进行同步复制。 | 取决于提供商:需要跨可用区复制的共享存储。 | 区域:主要用于远距离地理区域之间的复制。 |
| 部署时间 | 低:< 30 分钟(本地或云端)。 | 高:集群配置需要几天或几周。 | 中等:需要设置灾难恢复保管库和策略。 |
高可用性可以替代原生云虚拟机复制功能以实现灾难恢复 (DR) 吗?
不,高可用性和备份是互补的,而不是可互换的。虽然 SafeKit 通过在硬件崩溃期间保持应用程序运行来确保业务连续性,但它不能防止逻辑错误、意外删除或勒索软件攻击。例如,由于实时复制会立即镜像每个更改,因此对主节点的勒索软件攻击将立即在辅助节点上复制。要从此类网络威胁或意外删除中恢复,您需要一个具有强大保留策略的专用备份解决方案。这使您可以将环境“倒回”到损坏发生之前的健康状态。
结论
SafeKit 采用无共享架构,消除了云管理共享磁盘的复杂性和成本。与传统集群不同,它提供了一种与基础架构无关的解决方案,无需重新配置应用程序或迁移数据。SafeKit 具有原生多可用区支持,部署时间不到 30 分钟,确保您的 GCP 环境保持弹性,实现零数据丢失 (RPO = 0) 和完全自动化的恢复。
视频指南:配置 SafeKit HA mirror 集群
SafeKit 视频:应用级集群 (8:47)
在此视频中,了解 SafeKit 如何在没有云共享磁盘集群复杂性的情况下实现 mirror HA 集群。虽然此演示使用 Microsoft SQL Server,但该解决方案对其他数据库和应用程序也同样适用。请注意,此视频中配置的虚拟 IP 适用于本地解决方案,而不适用于带有 SafeKit 健康探测的云负载均衡器。
视频亮点
- 🎬 两个带有 SQL Server 节点 (0:32)
- 🎬 配置集群和 mirror.safe 模块 (3:58)
- 🎬 启动和测试 SQL 复制、迁移、崩溃时故障转移 (4:17)
🔍 探索 SafeKit
查找有关 SafeKit 功能、架构、视频、文档和免费试用的信息。
| 资源 | 描述 | 链接 |
|---|---|---|
| 主要功能 | 了解 SafeKit 为何是一种简单且经济高效的高可用性解决方案。 | 探索主要功能 |
| 用例 | 了解 SafeKit 如何保持关键应用程序和基础设施的可用性。 | 探索用例 |
| 部署模型 | SafeKit 无需 SAN 或共享存储即可提供高可用性。 | 探索部署模型 |
| 高可用性策略 | 比较虚拟机的可用性与应用程序的可用性。 | 比较这两种策略 |
| 技术规格 | 查看 SafeKit 集群的技术要求和限制。 | 阅读技术规格 |
| 视频 | 观看 SafeKit 配置和自动故障转移的演示。 | 观看技术视频 |
| 架构 | 了解 SafeKit mirror 集群如何实时复制文件并处理故障转移。 | 探索 Mirror 架构 |
| 架构 | 了解 SafeKit farm 集群如何平衡网络流量并处理故障转移。 | 探索 Farm 架构 |
| 产品对比 | 将 SafeKit 与传统的高可用性集群进行比较。 | 比较解决方案 |
| 技术资源 | 查找技术文档、下载 SafeKit 并访问免费试用版。 | 访问文档和免费试用版 |
| 应用模块 | 使用预配置的 SafeKit 模块为您的应用程序设置高可用性。 | 探索应用模块 |