將 SQL Server Always On 可用性群組移轉至 Azure VMware 解決方案

在本文中,您將了解如何將 SQL Server Always On 可用性群組移轉至 Azure VMware 解決方案。 對於 VMWare HCX,您可以遵循 VMWare vMotion 移轉程序。

顯示適用於 Azure VMware 解決方案的 Always On SQL Server 架構的圖表。

Microsoft SQL Server(2019 和 2022)已在 Windows Server(2019 和 2022)Datacenter 版本上完成測試,且虛擬機器部署於內部部署環境中。 Windows Server 和 SQL Server 已遵循 Microsoft 和 VMware 的最佳做法和建議進行設定。 內部部署來源基礎結構是在 Dell PowerEdge 伺服器和 Intel Optane P4800X SSD NVMe 裝置上執行的 VMware vSphere 7.0 Update 3 和 VMware vSAN。

必要條件

以下是將 SQL Server 執行個體移轉至 Azure VMware 解決方案的必要條件。

  • 檢閱並記錄叢集中每個節點的儲存體和網路設定。
  • 維護所有 SQL Server 資料庫的備份。
  • 備份裝載 SQL Server 的一或多個虛擬機器。
  • 從任何 VMWare vSphere 分散式資源排程器 (DRS) 群組和規則中移除虛擬機器。
  • 您必須在內部部署資料中心與執行已移轉工作負載的 Azure VMware 解決方案私人雲端之間設定 VMware HCX。 如需如何設定 HCX 的詳細資訊,請參閱 Azure VMware 解決方案文件。
  • 確保 SQL Server 使用的所有網路區段及其工作負載都已擴展到你的 Azure VMware 解決方案 私有雲中。 若要確認此步驟,請參閱設定 VMWare HCX 網路擴充功能。

透過 VPN 的 VMWare HCX 或 ExpressRoute 連線都可用來作為移轉的網路設定。

由於透過 VPN 的 VMWare HCX 頻寬有限,此方式通常適用於可維持較長停機時間的工作負載 (例如非商業執行環境)。

若為下列任何一個情況,建議使用 ExpressRoute 連線來進行移轉:

  • 生產環境
  • 資料庫規模較大的工作負載
  • 在需要盡量減少停機時間的情況下進行移轉,建議使用 ExpressRoute 連線。

下一節將進一步討論停機時間考量。

停機時間考量

移轉期間的停機時間取決於要移轉的資料庫大小,以及與 Azure 雲端的私人網路連線速度。 雖然 SQL Server 可用性群組移轉可以在最短的解決方案停機時間下執行,但最好是在預先核准的變更時段內,在離峰時間進行移轉。

下表指出每個 SQL Server 拓撲移轉的預估停機時間。

案例 預期的停機時間 注意事項
SQL Server 獨立執行個體 低 遷移是透過 VMware vMotion 完成的。 資料庫在遷移期間可用,但建議在此期間不要提交任何關鍵資料。
SQL Server Always On 可用性群組 低 在移轉第一個次要複本期間,主要複本會一律保持可用,且在初始容錯移轉至 Azure 之後,次要複本會成為主要複本。
SQL Server Always On 容錯移轉叢集執行個體 高 叢集的所有節點都會使用 VMWare HCX 冷移轉來關閉和移轉。 停機時間取決於資料庫大小和 Azure 雲端的私人網路速度。

Windows Server Failover Cluster 仲裁考量

Microsoft SQL Server Always On Availability Groups 依賴 Windows Server Failover Cluster,這需要仲裁投票機制來維持叢集一致性。

需要奇數個投票元素,這可透過叢集中的奇數個節點或使用見證來達成。 您可以使用三種不同的方式來設定見證:

  • 磁碟見證
  • 檔案共用見證
  • 雲端見證

如果叢集使用磁碟見證,則必須使用本文件所述的程序來移轉磁碟與剩餘的叢集共用儲存體。

如果叢集使用在內部部署執行的檔案共用見證,則移轉叢集的見證類型取決於 Azure VMware 解決方案案例,有幾個選項需要考量。

  • 資料中心擴充:將檔案共用見證保留在內部部署。 您的工作負載會分散到您的資料中心和 Azure。 因此,您的資料中心與 Azure 之間的連線應一律可供使用。 在任何情況下,請考量頻寬限制,並進行相應規劃。
  • 資料中心出口:在此案例中,有兩個選項。 在這兩個選項中,如果您需要在程序期間執行復原,可以在移轉期間將檔案共用見證保留在內部部署。
    • 在 Azure VMware 解決方案私人雲端中部署新的檔案共用見證。
    • 部署在 Azure Blob 儲存體中執行的 Cloud 見證,其區域與 Azure VMware 解決方案 私人雲端相同。
  • 災害復原和商務持續性:對於災害復原案例,最佳且最可靠的選項是建立在 Azure 儲存體中執行的雲端見證。
  • 應用程式現代化:對於此使用案例,最佳選項是部署雲端見證。

如需設定和管理仲裁的詳細資料,請參閱容錯移轉叢集文件。 如需在 Azure Blob 儲存體中部署 Cloud 見證的相關資訊,請參閱管理容錯移轉叢集的叢集仲裁。

移轉 SQL Server Always On 可用性群組

  1. 使用系統管理認證,透過 SQL Server Management Studio 存取 Always On 可用性群組。

    • 選取您的主要複本,然後開啟 可用性群組屬性。 顯示 Always On 可用性群組屬性的圖表。
    • 僅針對要移轉的複本,將可用性模式變更為非同步認可。
    • 針對可用性群組的每個成員,將容錯移轉模式變更為手動。
  2. 登入內部部署的 vCenter Server,然後前往 HCX 區段。

  3. 在 [服務] 下,選取 [移轉]> [移轉]。

    • 選取一部虛擬機器,其執行即將移轉之資料庫的次要複本。
    • 在遠端私人雲端中設定 vSphere 叢集,其現在會將已移轉的一或多個 SQL Server VM 裝載為計算容器。
    • 選取 vSAN 資料存放區作為遠端存放庫。
    • 選取資料夾。 這不是強制的,但建議您分隔 Azure VMware 解決方案私人雲端中的不同工作負載。
    • 保留與來源相同的格式。
    • 選取 vMotion 作為 移轉設定檔。
    • 在 [擴充選項] 中,選取 [移轉自訂屬性]。
    • 確認本地網路區段在 Azure 中有正確的遠端延伸區段。
    • 選擇 驗證 並確認所有檢查皆已完成且通過狀態。 最常見的錯誤與儲存體組態有關。 確認沒有虛擬的 SCSI 控制器擁有實體共享設定。
    • 選取 [Go],開始移轉。
  4. 移轉完成後,請存取已移轉的複本,並確認可用性群組中其餘成員的連線能力。

  5. 在SQL Server Management Studio中,打開 Availability Group Dashboard,確認副本顯示為 Online。 顯示 Always On 可用性群組儀表板的圖表。

    • 因為複本在移轉期間與主要複本不同步,所以容錯移轉整備程度資料行中的資料遺失狀態是預期行為。
  6. 再次編輯 可用性群組屬性,並將 可用性模式 設回 同步認可。

    • 次要複本會開始同步處理移轉期間對主要複本所做的所有變更。 等待其顯示為 [已同步] 狀態。
  7. 在 SSMS 中,從可用性群組儀表板選取啟動容錯移轉精靈。

  8. 選取已移轉的複本,然後選取 [下一步]。

    顯示 Always On 新主要複本選取方式的圖表。

  9. 在下一個畫面中,使用您的 DB 管理員認證連線到複本。 顯示新主要複本系統管理員認證連線的圖表。

  10. 檢閱變更,然後選取完成以啟動容錯移轉作業。

    顯示 Always On 可用性群組作業概觀的圖表。

  11. 在下一個畫面中監看故障轉移的進度。 操作結束後選擇 關閉 。 示意圖,顯示 SQL Server Always On 叢集成功完成。

  12. 在SQL Server Management Studio(SSMS)中刷新物件總管視圖。 確認遷移後的執行個體現在是主要複本。

  13. 針對可用性群組其餘的複本,請重複執行步驟 1 至 6。

    注意

    一次遷移一個副本,並在每次遷移後確認所有變更是否同步回副本。 請勿使用 HCX 大量移轉同時移轉所有複本。

  14. 完成所有複本移轉之後,請使用 SQL Server Management Studio 存取您的 Always On 可用性群組。

    • 打開儀表板確認所有副本都沒有資料遺失,且全部都處於 同步 狀態。 顯示可用性群組儀表板的圖表,其中新的主要複本和所有已移轉的次要複本皆處於同步狀態。

    • 編輯可用性群組的屬性,並在所有複本中將容錯移轉模式設為自動。

      顯示所有複本容錯移轉回自動設定的圖表。

下一步