本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

离线副本重建

从 v1.9.0 开始,SUSE Storage 支持离线副本重建。此功能允许降级卷在分离时自动重建副本。

全局设置 offline-replica-rebuilding

  • 启用后,SUSE Storage 会自动为符合条件的卷启动离线重建。

  • 有关此全局设置的更多信息,请参见 settings

每卷覆盖

  • 您可以单独为每个卷覆盖全局 offline-replica-rebuilding 设置。这可以通过 SUSE Storage 界面或编辑卷自定义资源来完成。要使用 kubectl,请运行以下命令,然后修改 spec.offlineRebuilding 字段:

    kubectl -n longhorn-system edit volume <volume-name>

    <volume-name> 替换为您特定卷的名称。

  • 当每卷 spec.offlineRebuilding 字段设置为 enableddisabled 时,此设置优先于全局配置。spec.offlineRebuilding 的默认值为 ignored

下表显示了全局设置和每卷设置之间的交互:

全局设置 (offline-replica-rebuilding)

每卷设置 (spec.offlineRebuilding)

离线重建已启用

true

ignored

false

ignored

true

enabled

false

enabled

true

disabled

false

disabled

重建过程

  • 当触发离线副本重建时,SUSE Storage 会在不激活前端的情况下附加卷,重建任何缺失的副本,然后在重建过程完成后分离卷。

  • 如果相关工作负载扩展并需要该卷,则此过程可能会被中断。

重建未开始或已取消

当离线重建开始时,如果重建条件未满足,降级卷可能会卡在附加状态。为防止这种情况,如果必要条件未满足,离线重建将不会开始或会被取消。

  • 优势:

    • 它确保卷在重建未完成时不会保持在附加状态。

    • 它防止无谓的重建尝试。

    • 它减少不必要的卷附加和分离周期。

    • 它提供基于资源可用性的可预测重建行为。

  • 所需条件:一旦满足所需条件,离线重建会自动开始针对降级卷。这些条件包括:

    • 存在一个可重用的失败副本,或者

    • 存在一个磁盘候选:

      • 托管磁盘的节点上的实例管理器必须准备就绪。

      • 磁盘所在节点是可调度的。

      • 磁盘本身是可调度的。

在离线重建开始之前

当启用离线重建时,SUSE Storage 决定是否应该开始。

  1. SUSE Storage 检测到一个降级的、分离的卷。

  2. 系统在开始重建之前验证所需条件是否满足。

  3. 如果条件满足,重建将继续。否则,卷保持分离状态。

  4. 当节点被添加、变为就绪或可调度时,所需条件会被重新评估。

在离线重建期间

SUSE Storage 确定在重建过程中是否应取消重建。

  1. SUSE Storage 在离线重建开始时检测卷的状态,并且卷是附加的。

  2. 如果卷的 Scheduled 条件状态变为 False,则取消离线重建,卷将被分离。

  3. 如果再次满足所需条件,离线重建将重新启动;否则,卷保持分离状态。

示例

  • 成功的离线重建

    1. 在一个有3个工作节点的集群中创建一个具有3个副本的卷。

    2. 已启用离线重建。

    3. 卷被分离,然后删除卷的一个副本。

    4. 离线重建开始,卷被附加。

    5. 重建完成后,卷被分离。

  • 即使启用,离线重建也不会开始

    1. 在一个有3个工作节点(A、B 和 C)的集群中创建一个具有3个副本的卷。

    2. 已启用离线重建。

    3. 工作节点A不可调度。

    4. 工作节点A上的卷副本被删除。

    5. 因为只有两个可调度的工作节点,离线重建将不会开始。

  • 在离线重建期间,工作节点被排空

    1. 在一个有3个工作节点(A、B 和 C)的集群中创建一个具有3个副本的卷。

    2. 已启用离线重建。

    3. 卷被分离,然后删除工作节点A上的卷副本。

    4. 离线重建开始,卷被附加以在工作节点 A 上重建副本。

    5. 工作节点 A 被排空,使其无法调度,并且工作节点 A 上的卷副本被删除。

    6. 卷保持附加状态,直到卷的 Scheduled 条件状态变为 False

    7. 卷被分离,直到工作节点 A 被解除限制或添加新的可调度节点。

局限性

故障卷不支持离线重建。