SafeKit 教程:同步实时复制与故障转移管理 (8:48)
视频亮点
- 架构概览:包含 SQL Server 的双节点架构 (0:32)
- 配置集群和 mirror.safe 模块 (3:58)
- 测试实时同步复制、迁移以及宕机故障转移 (4:17)
Evidian > SafeKit:全合一 SANless 高可用性与应用程序集群软件 > 同步与异步复制:数据丢失与故障转移指南
同步复制与异步复制之间存在显著差异。根据所选方式的不同,在应用程序故障转移(Failover)过程中,您可能会面临数据丢失的风险。
为了帮助您在同步复制与异步复制之间做出正确决策,我们将在下文详细说明其技术机制以及对应用程序故障转移的影响。

在异步复制中,主服务器会立即确认写入操作,并在此后通过计划批处理的方式延迟更新副本。这种解耦机制克服了长距离复制中的延迟问题,使其成为跨远程站点进行备份和灾难恢复的首选策略。
然而,这种效率也带来了一致性方面的挑战,即备用服务器可能会保存过时的信息。由于备用节点的更新发生在主节点写入完成后,主服务器的任何故障都将导致传输中数据(in-flight data)的丢失。
在 SafeKit 实现的同步复制中,当应用程序或主服务器的文件系统缓存执行磁盘 I/O 操作时,系统通过“双重确认”流程确保数据的一致性。
SafeKit 会在向应用程序或文件系统缓存发送最终确认之前,等待来自本地磁盘和备用服务器的 I/O 确认(Acknowledgment)。这种同步机制对于事务型应用程序的故障转移至关重要,它确保了事务在被视为“已提交”之前,已在两个节点上完全安全地存储。
半同步复制是保证数据完整性的一种混合方法。与同步复制类似,SafeKit 在向应用程序或文件系统缓存确认 I/O 操作之前,会等待来自主服务器和备用服务器的共同确认。
其关键区别在于备用服务器的响应时机。在半同步模式下,备用服务器在内存中接收到数据后立即向主服务器发送确认,随后再将其写入磁盘。相比之下,同步复制要求备用服务器必须先将 I/O 写入物理磁盘,然后才发送确认。
在同步复制与异步复制之间进行选择,实际上是在绝对数据完整性与网络性能之间做出的权衡。对于任务关键型基础设施,这一决策直接决定了您的恢复点目标(RPO)。
⭐ SafeKit 建议: 对于关键业务应用,请始终优先考虑同步或半同步复制,以确保业务连续性、最大化性能并消除与不一致故障转移相关的风险。
| 特性 | 同步复制 | 半同步复制 | 异步复制 |
|---|---|---|---|
| RPO (潜在数据丢失) | 零 | 零 | 非零(数据丢失:取决于最后一次异步副本的时间) |
| 远程 I/O 确认 | 远程磁盘写入后确认 | 远程内存 (RAM) 写入后确认 | 不等待确认 |
| 性能影响 | 需要低延迟网络 - 取决于往返时间 (通常 RTT < 2ms) | 需要低延迟网络 - 取决于往返时间 (通常 RTT < 2ms) | 支持高延迟网络 |
| 距离限制 | 本地 / 跨网段 VLAN (Stretched VLAN) | 本地 / 跨网段 VLAN (Stretched VLAN) | 广域网 (WAN) |
| 适用场景 | 高可用性 (自动故障转移) | 高可用性 (自动故障转移) | 备份解决方案 (手动故障转移) |
每次文件被修改时,SafeKit 都会通过网络发送整个文件吗?
不。 SafeKit 采用字节级复制。它会截获文件内部特定的 I/O 修改,并仅复制已更改的字节,从而最大限度地减少网络流量。
每当应用程序写入其文件时,都会触发复制吗?
不。 只有当应用程序请求向本地磁盘进行 I/O 提交 (I/O commit) 时,才会发生复制。SafeKit 会确保在完成写入之前,该数据已得到备用服务器的确认。
同步复制会减慢我的应用程序速度吗?
延迟取决于网络往返时间 (RTT)。在局域网(LAN)上,其影响微乎其微(类似于 NAS/SAN 存储)。在高延迟的广域网(WAN)上,通常首选异步模式以避免性能瓶颈。
什么时候必须选择同步复制或异步复制?
选择同步复制用于高可用性(自动故障转移、零数据丢失)。选择异步复制用于备份或灾难恢复(DR),此时距离限制了实时同步,且不需要自动故障转移。
SafeKit 是否支持异步复制?
不支持。 SafeKit 是一款旨在通过自动故障转移实现零数据丢失的高可用性解决方案。对于纯粹的异步需求,建议寻找专门的备份解决方案。
高可用性可以取代备份解决方案吗?
不可以,高可用性并不能取代全面的备份解决方案。
虽然像 SafeKit 这样的实时复制解决方案能够提供持续的业务连续性,但它们的目的与备份不同。实时复制旨在防止硬件故障和服务器停机,但无法防范勒索软件同时加密两个节点等网络威胁。只有具备保留策略的备份解决方案才能解决此类问题。
如何结合使用同步复制和异步复制?
您可以采用三节点混合架构:由同步复制构成的双节点本地集群用于高可用性(HA),并通过备份解决方案将第三个副本异步传输至远程位置,用于灾难恢复(DR)。
了解更多信息: SafeKit 高可用性与灾难恢复 (HADR)
| 资源类型 | 描述 | 直接链接 |
|---|---|---|
| 关键特性 | 为什么选择 SafeKit 实现简单且经济高效的高可用性? | 查看为何选择 SafeKit 实现高可用性 |
| 部署模式 | 全合一 SANless HA:无共享软件集群 | 查看 SafeKit 全合一 SANless HA |
| 合作伙伴 | SafeKit:合作伙伴高可用性方案的标杆 | 查看为何 SafeKit 是合作伙伴的 HA 标杆 |
| HA 策略 | SafeKit:基础设施(VM)级 vs. 应用程序级高可用性 | 查看 SafeKit HA 与冗余:VM 级 vs. 应用级 |
| 技术规格 | SafeKit 集群的技术限制 | 查看 SafeKit 高可用性限制条件 |
| 概念验证 | SafeKit:高可用性配置与故障转移演示 | 查看 SafeKit 故障转移教程 |
| 架构 | SafeKit 镜像集群(Mirror Cluster)工作原理(实时复制与故障转移) | 查看 SafeKit 镜像集群:实时复制与故障转移 |
| 架构 | SafeKit 场集群(Farm Cluster)工作原理(网络负载均衡与故障转移) | 查看 SafeKit 场集群:网络负载均衡与故障转移 |
| 竞争优势 | 对比:SafeKit vs. 传统高可用性(HA)集群 | 查看 SafeKit vs. 传统 HA 集群对比 |
| 技术资源 | SafeKit 高可用性:文档、下载与试用 | 查看 SafeKit HA 免费试用与技术文档 |
| 预配置解决方案 | SafeKit 应用模块库:开箱即用的 HA 解决方案 | 查看 SafeKit 高可用性应用模块 |