將 SQL Server Always On 可用性群組移轉至 Azure VMware 解決方案
在本文中,您將了解如何將 SQL Server Always On 可用性群組移轉至 Azure VMware 解決方案。 對於 VMWare HCX,您可以遵循 VMWare vMotion 移轉程序。
Microsoft SQL Server (2019 和 2022) 已使用 Windows Server (2019 和 2022) Data Center 版本進行測試,且該 Windows Server 已部署虛擬機器在內部部署環境中。 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 容錯移轉叢集仲裁考量
Microsoft SQL Server Always On 可用性群組依賴 Windows Server 容錯移轉叢集,這需要仲裁投票機制來維持叢集的一致性。
需要使用奇數投票元素,透過叢集中的奇數節點或使用見證來達成。 您可以使用三種不同的方式來設定見證:
- 磁碟見證
- 檔案共用見證
- 雲端見證
如果叢集使用磁碟見證,則必須使用本文件所述的程序來移轉磁碟與剩餘的叢集共用儲存體。
如果叢集使用在內部部署執行的檔案共用見證,則移轉叢集的見證類型取決於 Azure VMware 解決方案案例,有幾個選項需要考量。
- 資料中心延伸模組:維護檔案共用見證內部部署。 您的工作負載會分散到您的資料中心和 Azure。 因此,您的資料中心與 Azure 之間的連線應一律可供使用。 在任何情況下,請考量頻寬限制,並進行相應規劃。
- 資料中心出口:在此案例中,有兩個選項。 在這兩個選項中,您可以在移轉期間維護檔案共用見證內部部署,以防需要在程序期間復原。
- 在 Azure VMware 解決方案私人雲端中部署新的檔案共用見證。
- 在 Azure VMware 解決方案私人雲端的相同區域中,部署在 Azure Blob 儲存體中執行的雲端見證。
- 災害復原和商務持續性:對於災害復原案例,最佳且最可靠的選項是建立在 Azure 儲存體中執行的雲端見證。
- 應用程式現代化:對於此使用案例,最佳選項是部署雲端見證。
如需設定和管理仲裁的詳細資訊,請參閱容錯移轉叢集文件。 如需在 Azure Blob 儲存體中部署雲端見證的詳細資訊,請參閱管理容錯移轉叢集的叢集仲裁。
移轉 SQL Server Always On 可用性群組
使用系統管理認證,透過 SQL Server Management Studio 存取 Always On 可用性群組。
存取內部部署 vCenter Server,然後繼續進行 HCX 區域。
在 [服務] 下,選取 [移轉] > [移轉]。
- 選取一部虛擬機器,其執行即將移轉之資料庫的次要複本。
- 在遠端私人雲端中設定 vSphere 叢集,其現在會將已移轉的一或多個 SQL Server VM 裝載為計算容器。
- 選取 vSAN 資料存放區作為遠端存放庫。
- 選取資料夾。 這不是強制的,但建議您分隔 Azure VMware 解決方案私人雲端中的不同工作負載。
- 保留與來源相同的格式。
- 選取 [vMotion] 作為 [移轉設定檔]。
- 在 [擴充選項] 中,選取 [移轉自訂屬性]。
- 確認內部部署網路區段在 Azure 中具有正確的遠端延展區段。
- 選取 [驗證],並確定所有檢查都已完成,且狀態為通過。 最常見的錯誤與儲存體組態有關。 再次確認沒有任何虛擬 SCSI 控制器有實體共用設定。
- 選取 [Go],開始移轉。
移轉完成後,請存取已移轉的複本,並確認可用性群組中其餘成員的連線能力。
在 SQL Server Management Studio 中,開啟 [可用性群組儀表板],確認複本顯示為 [連線]。
- 因為複本在移轉期間與主要複本不同步,因此 [容錯移轉整備] 資料行會顯示 [資料遺失] 狀態。
再次編輯 [可用性群組屬性],並將 [可用性模式] 設定回 [同步認可]。
- 次要複本會開始同步處理移轉期間對主要複本所做的所有變更。 等待其顯示為 [已同步] 狀態。
從 [可用性群組儀表板] 中,在 SSMS 中選取 [啟動容錯移轉精靈]。
選取已移轉的複本,然後選取 [下一步]。
檢閱變更,然後選取 [完成] 以啟動容錯移轉作業。
重新整理 SQL Server Management Studio (SSMS) 中的 [物件總管] 檢視,確認已移轉的執行個體現在是主要複本。
對於其餘的可用性群組複本,請重複步驟 1 到 6。
注意
一次移轉一個複本,並在每次移轉後確認所有變更都同步回該複本。 請勿使用 HCX 大量移轉同時移轉所有複本。
完成所有複本移轉之後,請使用 SQL Server Management Studio 存取您的 Always On 可用性群組。
下一步
- 啟用適用於 Azure VMware 解決方案的 SQL Azure Hybrid Benefit。
- 在 Azure VMware 解決方案中建立放置原則
- Windows Server 容錯移轉叢集文件
- Microsoft SQL Server 2019 文件
- Microsoft SQL Server 2022 文件
- Windows Server 技術文件
- 使用 VMware vSphere 規劃高可用性的任務關鍵 SQL Server 部署
- VMware 知識庫 100 2951 – 在虛擬機器中設定 Microsoft SQL Server 的秘訣
- VMware vSphere 7.0 中的 Microsoft SQL Server 2019 效能研究
- 在 VMware vSphere 上建構 Microsoft SQL Server – 最佳做法指南
- 在 VMware vSphere 7.0 中設定 Windows Server 容錯移轉叢集