用于对象存储的多站点、主动活动复制

对象存储的主动复制是任务关键 型生产环境的关键要求。RustFS是目前唯一提供这种服务的供应商。以存储桶级粒度执行,用于以下情况:

RustFS 支持同步和近乎同步的复制,具体取决于架构选择和数据的变化率。在上述每种情况下,复制都必须尽可能接近严格一致(考虑到带宽注意事项和更改率)。

RustFS 的数据复制专为大规模弹性而设计。主要功能包括:

加密或未加密的对象及其关联的元数据(以原子方式与对象一起写入)
对象版本。
对象标签(如果有)。
S3 对象锁定保留信息(如果有)。

RustFS 的数据复制专为大规模弹性而设计。主要功能包括:

源存储桶和目标存储桶具有相同名称的能力。对于必须透明地故障转移到远程站点而不会造成任何中断的应用程序,这是必需的。
本机支持跨源和目标的自动对象锁定/保留复制。
近乎同步的复制,可在存储桶发生任何突变后立即更新对象。RustFS 遵循数据中心内的严格一致性和数据中心之间的最终一div护数据。
用于推送复制失败事件的通知功能。应用程序可以订阅这些事件并提醒运营团队。

实施 RustFS的主动-主动复制时要考虑的事项

在最基本的层面上,任何设计都需要考虑基础设施、带宽、延迟、
弹性和规模。让我们按顺序检查它们:

基础设置

RustFS 建议在复制端点的两端使用相同的硬件。虽然类似的硬件可以运行,但引入异构硬件配置文件会带来复杂性并减慢问题识别速度。

带宽

带宽是使两个站点始终保持同步的重要因素。站点之间的最佳带宽要求由传入数据的速率决定。具体而言,如果带宽不足以处理峰值,则更改将排队到远程站点,并最终同步。

延迟

在带宽之后,延迟是设计主动-主动模型时最重要的考虑因素。延迟表示两个 RustFS 集群之间的往返时间 (RTT)。目标是在带宽施加的预算限制范围内将延迟降低到尽可能小的数字。RustFS 建议以太网链路和网络的 RTT 阈值不超过 20 毫秒,丢包率不超过 0.01%。

建筑

目前,RustFS 仅建议跨两个数据中心进行复制。可以跨多个数据中心进行复制,但是,所涉及的复杂性和所需的权衡使得这相当困难。

RustFS 支持在每个数据中心进行非常大的部署,
包括源和目标, 上述考虑因素将决定规模。

常见问题

当复制目标出现故障时会发生什么情况?

如果目标关闭,源将缓存更改,并在复制目标恢复后开始同步。达到完全同步可能会有一些延迟,具体取决于时间长度、更改次数、带宽和延迟。

不变性的参数是什么?

支持不可变性。关键概念可以在这篇文章中找到。在主动-主动复制模式下,仅当对象进行版本控制时,才能保证不可变性。无法在源上禁用版本控制。如果目标上的版本控制暂停,RustFS 将开始复制失败。

如果版本控制被暂停或出现不匹配,还有什么其他影响?

在这些情况下,复制可能会失败。例如,如果您尝试在源存储桶上禁用版本控制,则会返回错误。您必须先删除复制配置,然后才能在源存储桶上禁用版本控制。此外,如果在目标存储桶上禁用版本控制,复制将失败。

如果两端都未启用对象锁定,如何处理它?

必须在源和目标上启用对象锁定。有一种极端情况,即在设置存储桶复制后,可以删除并重新创建目标存储桶,但未启用对象锁定,复制可能会失败。如果两端未配置对象锁定设置,则可能会出现不一致的情况。在这种情况下,RustFS 将以静默方式失败。

商业支持购买咨询