同步与异步复制:SafeKit如何确保零数据丢失?
使用同步或异步复制进行应用程序故障转移时是否会丢失数据?
同步复制与异步复制之间存在显着差异。根据选择,您可能会在应用程序故障转移期间遇到数据丢失的情况。
- 同步复制,由 SafeKit 软件 实现,对于高可用性 (HA) 至关重要。它确保事务应用程序的故障转移不会丢失单个字节:主服务器磁盘上的所有已提交数据也存在于辅助服务器的磁盘上。
- 异步复制通常用于备份和灾难恢复(DR)。它存在这样的风险:如果发生故障,主服务器磁盘上已提交的数据可能会丢失,因为这些数据尚未复制到远程站点。
- 半同步复制是一种替代解决方案,其中提交的数据到达辅助服务器,但不一定写入其磁盘。
重要的是要了解这些解决方案是互补的。 SafeKit 的同步复制可以保护您的环境免受硬件或软件故障的影响,以维持 24/7 的正常运行时间,而备份解决方案可以保护您的历史数据免受逻辑错误和勒索软件等网络威胁的影响。
为了帮助您在选择最适合您需求的架构时做出正确的决定,我们在下面解释了技术机制以及对应用程序故障转移的影响。

比较同步和异步复制对应用程序故障转移期间数据丢失的影响。
目录
- 同步或异步复制应用程序故障转移时是否丢失数据?
- 异步复制如何工作?
- 同步复制如何工作?
- 半同步复制如何工作?
- 最终结论:选择正确的复制以获得高可用性
- 比较表:同步、异步、半同步
- 视频指南:配置同步实时复制和高可用性
- FAQ:高可用性集群中的复制策略
- SafeKit 高可用性导航中心
异步复制如何工作?
在异步复制中,主服务器立即确认写入操作,并稍后在计划的批次中延迟更新副本。这种解耦克服了长距离复制的延迟问题,使其成为跨远程站点备份和灾难恢复的首选策略。
然而,这种效率带来了一致性的挑战,其中辅助服务器可能保存过时的信息。由于辅助更新发生在主写入完成之后,因此主服务器的任何故障都将导致正在进行的数据丢失。
同步复制如何工作?
SafeKit实现的同步复制,当应用程序或主服务器上的文件系统缓存执行磁盘I/O操作时,系统通过双重确认过程来保证数据的一致性。
SafeKit 等待来自本地磁盘和辅助服务器的 I/O 确认,然后将最终确认发送回应用程序或文件系统缓存。这种同步机制对于事务性应用程序的故障转移至关重要,确保事务在被视为提交之前在两个节点上都得到充分保护。
半同步复制如何工作?
半同步复制 作为数据完整性的混合方法。与同步复制一样,SafeKit 在确认对应用程序或文件系统缓存的 I/O 操作之前,会等待主服务器和辅助服务器的确认。
关键区别在于辅助服务器的响应时间。在半同步情况下,辅助服务器在收到内存中的数据后立即向主服务器发送确认,然后将其提交到磁盘。相反,同步复制要求辅助服务器在发送确认之前将 I/O 写入物理磁盘。
最终结论:选择正确的复制以获得高可用性
同步与异步复制之间的选择是绝对数据完整性和网络性能之间的权衡。对于关键任务基础设施,此决定直接决定您的恢复点目标 (RPO)。
总结:
- 异步复制 :黄金标准 备份 但不是为了 高可用性。虽然它支持长距离连接,但存在数据丢失的固有风险 因为Secondary节点的数据滞后于Primary节点的数据。
- 同步复制: 黄金标准 高可用性 但不是为了 备份。它确保辅助节点文件是主节点的实时克隆,保证 零数据丢失故障转移.
- 半同步复制:为高可用性提供高性能中间基础。通过在磁盘写入之前在内存级别确认数据,与异步方法相比,它可以最大限度地减少延迟,同时保持卓越的数据保护。
⭐ SafeKit 建议: 对于关键应用程序,始终优先考虑同步或半同步复制,以保证业务连续性、最大化性能并消除与不一致故障转移相关的风险。
比较表:同步、异步、半同步
| 特点 | 同步 | 半同步 | 异步 |
|---|---|---|---|
| RPO(潜在数据丢失) | 零 | 零 | 非零(数据丢失:取决于上次异步复制) |
| 远程 I/O 确认 | 远程磁盘写入后 | 远程RAM写入后 | 不等待确认 |
| 性能影响 | 需要低延迟网络 - 取决于往返时间(通常 RTT<5ms) | 需要低延迟网络 - 取决于往返时间(通常 RTT<5ms) | 支持低延迟网络 |
| 距离限制 | 本地/延伸 VLAN | 本地/延伸 VLAN | 广域网 (WAN) |
| 最适合 | 高可用性(自动故障转移) | 高可用性(自动故障转移) | 备份解决方案(手动故障转移) |
视频指南:配置同步实时复制和高可用性
SafeKit 视频:应用程序级集群 (8:47)
在本视频中,了解 SafeKit 如何在没有 SAN 复杂性的情况下实现镜像 HA 集群。虽然此演示使用 Microsoft SQL Server,但该解决方案对于其他数据库和应用程序的工作方式相同。
章节
- 🎬 2 个带有 SQL Server 的节点 (0:32)
- 🎬 配置集群和mirror.safe模块 (3:58)
- 🎬 启动并测试 SQL 复制、迁移、崩溃时的故障转移 (4:17)
逐步实施
常见问题解答:高可用性集群中的复制策略
复制技术与机制
SafeKit 每次修改时都会通过网络发送完整文件吗?
不。 SafeKit 利用字节级复制。它拦截文件内的特定 I/O 修改并仅复制更改的字节,从而最大限度地减少网络流量。
每次应用程序写入其文件时都会触发复制吗?
不会。 仅当应用程序请求对本地磁盘进行 I/O 提交时,才会发生复制。 SafeKit 确保辅助服务器在完成写入之前确认该数据。
同步复制会减慢我的应用程序的速度吗?
延迟与 网络往返时间 (RTT) 相关。在 LAN 上,影响可以忽略不计(类似于 NAS/SAN 存储)。在高延迟 WAN 上,通常首选异步模式以避免性能瓶颈,并且需要备份解决方案(不是 SafeKit)。
部署策略:HA 与备份
什么时候必须选择同步复制还是异步复制?
选择同步以获得高可用性(自动故障转移、零数据丢失)。选择异步进行备份/灾难恢复,因为距离会妨碍实时同步,并且不需要自动故障转移。
SafeKit是否支持异步复制?
不。 SafeKit 是一种高可用性解决方案,需要零数据丢失以实现自动故障转移。对于纯粹的异步需求,请寻找备份解决方案。
高可用性是否消除了对备份解决方案的需求?
不,高可用性并不能消除对全面备份解决方案的需求。
虽然 SafeKit 等实时复制解决方案可提供持续的业务连续性,但它们的用途与备份不同。实时复制旨在防止硬件故障和服务器停机,但它无法防范网络威胁,例如同时加密两个节点的勒索软件。只有具有保留策略的备份解决方案才能解决此问题。
如何结合同步和异步复制?
您可以使用 3 节点混合架构:具有用于 HA 的同步复制的 2 节点本地集群,以及通过具有用于灾难恢复的异步复制的备份解决方案的第三个远程副本。
更多信息请参见: SafeKit 高可用性和灾难恢复 (HADR)
🔍 SafeKit 高可用性导航中心
探索 SafeKit:功能特性、技术视频、文档资料及免费试用
| 资源类型 | 描述 | 直接链接 |
|---|---|---|
| 关键特性 | 为什么选择 SafeKit 实现简单且经济高效的高可用性? | 查看为何选择 SafeKit 实现高可用性 |
| 使用案例 | 探索 SafeKit 如何确保关键基础设施的高可用性 | 查看所有使用案例(OEM 软件、边缘服务器、SCADA,以及更多) |
| 部署模式 | 全合一 SANless HA:无共享软件集群 | 查看 SafeKit 全合一 SANless 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 高可用性应用模块 |