移轉您的叢集以支援多個可用性區域 (預覽)

許多 Azure 區域會提供 可用性區域,這是一個區域內獨立的資料中心群組。 可用性區域彼此足夠接近,可以與其他可用性區域建立低延遲連線。 它們是由高效能網路所連線,往返延遲小於 2 毫秒。 然而,可用性區域之間會保持足夠距離,以降低多個可用性區域同時受到當地停電或天氣影響的機率。 可用性區域擁有獨立的電源、冷卻和網路基礎結構。 可用性區域的設計目的在於,當一個區域發生中斷時,可由其餘區域提供支援,包括區域服務、容量和高可用性需求。 如需詳細資訊,請參閱 Azure 可用性區域

Azure 資料總管叢集可以設定為在支持區域中使用可用性區域。 藉由使用可用性區域,叢集可以更好地承受區域中單一數據中心的失敗,以支援 商務持續性 案例。

您可以在 Azure 入口網站 中建立叢集,或使用下列其中一種方法,以程式設計方式設定可用性區域:

  • REST API
  • C# SDK
  • Python SDK
  • PowerShell
  • ARM 範本

重要

  • 設定具有可用性區域的叢集之後,您無法將叢集變更為不使用可用性區域。
  • 所有區域都不支援多個區域。 因此,無法設定位於這些區域中的叢集以使用可用性區域。
  • 使用可用性區域會產生額外的成本。

注意

  • 繼續進行之前,請確定您已熟悉 移轉程式和考慮
  • 您也可以使用這些步驟來變更使用可用性區域之現有叢集的區域。

在本文中,您會了解:

必要條件

  • 請確定您的叢集位於支援移轉至多個可用性區域的區域中。 如需詳細資訊,請參閱 支援的區域

  • 若要移轉叢集以支援可用性區域,您需要部署的叢集,而不需要任何可用性區域。

  • 若要變更叢集的區域,您需要設定可用性區域的叢集。

  • 針對 REST API,請熟悉 使用 REST API 管理 Azure 資源。

  • 如需其他程序設計方法,請參閱 必要條件

支援的區域

移轉至多個可用性區域僅限於沒有容量限制的區域。 目前支援下列區域:

  • 澳大利亞東部
  • 加拿大中部
  • 中國北部 3
  • 印度中部
  • 北歐
  • 挪威東部
  • 南非北部
  • 瑞典中部
  • 阿拉伯聯合大公國北部
  • 英國南部

取得叢集區域的可用性區域清單

您可以透過下列方式取得叢集的可用性區域清單:

  1. 在 Azure 入口網站 中,移至叢集的 [概觀] 頁面。

  2. 在 [設定] 下,選取 [相應增加]。

  3. 在叢集的數據列中,可用性區域會列在 [可用性區域] 資料行中

    可用性區域

設定叢集以支援可用性區域

若要將可用性區域新增至現有的叢集,您必須使用目標可用性區域清單來更新叢集 zones 屬性。 使用下表中的資訊,遵循您慣用方法的指示:

參數
subscriptionId 叢集的訂用帳戶標識碼
resourceGroupName 叢集的資源組名
clusterName 叢集的名稱
apiVersion 2023-05-02 (含) 以後版本

重要

變更現有叢集的可用性區域只會變更計算的可用性區域。 永續性記憶體不會變更。

請遵循如何 部署範本的指示。

  1. 對下列端點進行 REST API 呼叫,其中您將參數取代為您的值:

    PUT https://management.azure.com/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 天的時間。

考量

移轉至可用性區域的要求可能不會因為容量限制而成功。 若要成功移轉,必須有足夠的計算和記憶體容量來支援移轉。 如果有容量限制,您會收到指出問題的錯誤訊息。