迁移群集以支持多个可用性区域(预览版)

许多 Azure 区域都提供可用性区域,这些区域是区域中的独立数据中心组。 可用性区域之间不能相距过远,要足以与其他可用性区域建立低延迟连接。 它们彼此间以高性能网络连接,往返延迟小于 2 毫秒。 但是,可用性区域之间不能相距过近,以减少多个可用性区域受当地停电或天气影响的可能性。 各可用性区域具有独立的电源、冷却和连网基础结构。 根据设计,如果一个区域停电,其余区域可支持区域性服务、容量和高可用性。 有关详细信息,请参阅 Azure 可用性区域

Azure 数据资源管理器群集可配置为使用受支持区域中的可用性区域。 通过使用可用性区域,群集可以更好地承受区域内单个数据中心的故障,以支持业务连续性方案。

可以在 Azure 门户中创建群集时配置可用性区域,或使用以下其中一种方法以编程方式配置可用性区域:

  • REST API
  • C# SDK
  • Python SDK
  • PowerShell
  • ARM 模板

重要

  • 群集配置可用性区域后,无法将群集更改为不使用可用性区域。
  • 并非所有区域都支持多个区域。 因此,位于这些区域的群集无法设置为使用可用性区域。
  • 使用可用性区域会产生额外的成本。

注意

  • 在继续之前,请确保你熟悉迁移过程和注意事项
  • 还可以使用这些步骤更改使用可用性区域的现有群集的区域。

本文介绍:

先决条件

  • 请确保群集位于支持迁移到多个可用性区域的区域中。

  • 若要迁移群集以支持可用性区域,需要部署一个没有任何可用性区域的群集。

  • 若要更改群集的区域,需要一个已配置可用性区域的群集。

  • 对于 REST API,需要熟悉使用 REST API 管理 Azure 资源

  • 有关其他编程方法,请参阅先决条件

获取群集区域的可用性区域列表

可以通过以下方式获取群集的可用性区域列表:

  1. 在 Azure 门户中,转到群集的概述页。

  2. 在“设置”下选择“纵向扩展”。

  3. 在群集的行中,可用性区域列在可用性区域列中。

    可用性区域

配置群集以支持可用性区域

若要将可用性区域添加到现有群集,必须使用目标可用性区域列表更新群集 zones 属性。 按照首选方法的说明操作,使用下表中的信息:

参数
subscriptionId 群集的订阅 ID
resourceGroupName 群集的资源组名称
clusterName 群集的名称
apiVersion 2023-05-02 或更高版本

重要

更改现有群集的可用性区域只会更改计算的可用性区域。 永久性存储不会更改。

请遵照有关如何部署模板的说明操作。

  1. 对以下终结点进行 REST API 调用,在其中将参数替换为你的值:

    PUT https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}?api-version={apiVersion}
    
  2. 在请求正文中指定可用性区域。 例如,若要将群集配置为使用可用性区域 1、2 和 3,请按如下所示设置正文:

    { "zones": [ "{zone1}", "{zone2}", "{zone3}" ] }
    

在迁移过程中,Azure 门户中的群集概述页面上会显示以下消息。 迁移完成后,该消息将被删除。

该群集存储的局域性更改正在进行中。 更新时间可能因数据量而异。

具有可用性区域的群集的体系结构

配置可用性区域后,将部署群集的资源,如下所示:

  • 计算层:Azure 数据资源管理器是具有两个或更多节点的分布式计算平台。 如果已配置可用性区域,计算节点将分布在定义的可用性区域,以实现最大区域内复原能力。 区域故障可能会降低群集性能,直到故障的计算资源被重新部署到未发生故障的区域中。 建议在区域中配置最大可用区域。

    注意

    • 在某些情况下,由于计算容量的限制,计算层只能使用部分可用性区域。
    • 群集的计算层实现将实例均匀分布到所选区域的最佳方法。
  • 持久存储层:群集使用 Azure 存储作为其持久性层。 如果已配置可用性区域,将启用 ZRS,将存储副本放置在所有三个可用性区域中,以实现最大区域内复原能力。

    注意

    • ZRS 会产生额外的费用。
    • 如果未配置可用性区域,存储资源将使用本地冗余存储 (LRS) 默认设置进行部署,将所有 3 个副本放置在一个区域中。

迁移过程

如果部署的现有群集未配置任何可用性区域以支持可用性区域,则迁移过程中将执行以下步骤:

  • 计算分布在定义的可用性区域中

    重新分发计算资源的过程涉及一个准备阶段,在此期间预热区域计算资源缓存。 在准备阶段,现有群集的计算资源继续运行,确保服务不间断。 此准备阶段最长可能需要数十分钟。 只有在完全准备好并正常运行后,才会转换到新的计算资源。 这种并行处理方法可确保相对无缝的体验,在切换过程(通常持续一到三分钟)中仅产生尽量少的服务中断。 但是,请务必注意,在 SKU 迁移期间,查询性能可能会受到影响。 影响程度可能因具体使用模式而异。

  • 历史永久性存储数据迁移到 ZRS

    迁移过程取决于区域支持从 LRS 到 ZRS 存储的转换,以及所选区域中的可用存储帐户容量。 历史数据的传输是一个耗时的过程,可能需要几个小时甚至长达几周的时间。

  • 所有新数据写入 ZRS

    发起迁移到可用性区域的请求后,所有新数据都会被复制并存储在 ZRS 配置中。

    注意

    • 发出迁移请求后,所有新数据开始写入 ZRS 配置之前可能会有最多几分钟的延迟。
    • 如果群集具有流式引入,则回收要作为 ZRS 数据写入的新数据最多可能需要 30 天。

注意事项

由于容量限制,迁移到可用性区域的请求可能不会成功。 若要成功迁移,必须有足够的计算和存储容量来支持迁移。 如果存在容量限制,将收到一条错误消息,指示存在问题。