共用方式為


將可用性群組遷移到 Azure 虛擬機上的 SQL Server

適用於:SQL Server on Azure Virtual Machines

本文將教你如何利用 Azure Migrate: Server Migration Tool,將你的 SQL Server Always On 可用性群組遷移到Azure虛擬機(VM)上的 SQL Server。 利用遷移工具,你可以將可用性群組中的每個副本遷移到托管 SQL Server 的 Azure 虛擬機,連同叢集元資料、可用性組元資料及其他必要的高可用性元件一起。

在本文中,您將學會如何:

  • 準備 Azure 和 source 環境進行遷移。
  • 啟動複寫伺服器。
  • 監視複寫。
  • 執行完整伺服器移轉。
  • 重新設定 Always On 可用性群組。

本指南採用 Azure Migrate 的代理式遷移方法,將任何伺服器或虛擬機器視為實體伺服器。 當它在遷移實體機器時,Azure Migrate:Server Migration 使用與 Azure Site Recovery 服務中基於代理的災難復原相同的複寫架構,且部分元件共用相同的程式碼基礎。 部分內容可能會連結到 Site Recovery 文件。

先決條件

開始進行本教學課程之前,應完成下列必要條件:

  1. 一個 Azure 訂閱。 視需要建立免費帳戶
  2. 安裝 Azure PowerShell Az 模組
  3. 從GitHub倉庫下載 PowerShell 範例腳本

準備 Azure

請使用 Server 遷移工具 準備Azure進行遷移。

任務 詳細資料
建立一個Azure Migrate專案 你的Azure帳號需要貢獻者或擁有者權限才能建立新專案
驗證你Azure帳號的權限 你的 Azure 帳號需要以下權限才能建立 Key Vault、建立虛擬機器以及寫入 Azure 管理磁碟:Azure 訂閱的貢獻者或擁有者權限、在 Microsoft Entra ID(以前稱為 Azure Active Directory)中註冊應用程式的權限,和在 Azure 訂閱中擁有使用者存取管理員權限。
建立一個Azure虛擬網路 Setup一個Azure虛擬網路。 當您複製到 Azure 時,會建立 Azure 虛擬機器,並將其加入您在設定遷移時指定的 Azure 虛擬網路中。

若要檢查是否具備適當權限,請遵循下列步驟:

  1. 在Azure入口網站,開啟訂閱,選擇存取控制(IAM)
  2. [檢查存取權] 中尋找相關帳戶,並選取帳戶以檢視權限。
  3. 您應該會具有「參與者」或「擁有者」權限。
    • 如果你剛建立了一個免費的 Azure 帳號,你就是你訂閱的擁有者。
    • 如果您不是訂用帳戶擁有者,請與擁有者合作以指派角色。

如果你需要分配權限,請依照 準備Azure使用者帳號的步驟操作。

為移轉做準備

若要準備進行伺服器移轉,請確認實體伺服器設定,並準備部署複寫設備。

檢查機器需求

要遷移到 Azure,請確保你的來源機器符合相關要求。 請遵循這些步驟:

  1. 確認伺服器需求。
  2. 確認你複製Azure的來源機器是否符合Azure VM 要求
  3. 部分Windows來源需要更多修改。 在做這些變更前先遷移原始碼,可能會阻止虛擬機在 Azure 開機。 對某些作業系統來說,Azure Migrate 會自動進行這些變更。

準備進行複製

Azure Migrate:Server Migration 使用複寫設備將機器複製到 Azure。 複製設備會執行下列元件:

  • Configuration server:配置伺服器協調本地與Azure之間的通訊,並管理資料複製。
  • 進程伺服器:進程伺服器會作為複寫閘道。 它接收複製資料;透過快取、壓縮和加密來優化,然後傳送到 Azure 的快取儲存帳號。

準備設備部署,如下所示:

  • 建立一台 Windows Server 2016 機器來承載複製設備。 檢閱機器需求
  • 複寫設備會使用 MySQL。 檢閱在設備上安裝 MySQL 的選項
  • 檢視Azure URL所需的 公有 政府雲端,以供複製裝置存取。
  • 檢查複寫設備的連接埠存取需求。

注意

複寫設備應該安裝在您要複寫或移轉的來源電腦以外的電腦上。 它不應該安裝在之前安裝過 Azure Migrate 發現與評估設備的任何機器上。

下載複寫設備安裝程式

若要下載複寫設備安裝程式,請遵循下列步驟:

  1. 在Azure Migrate專案 >Servers,在 Azure Migrate: Server Migration 中,選擇 Discover

    探索 VM 選項的螢幕擷取畫面。

  2. 探索電腦>電腦是否已虛擬化? 中,選取 [實體或其他 (AWS、GCP、Xen 等。)]。

  3. Target region,選擇你想遷移機器的Azure區域。

  4. 按一下 確認移轉的目標區域為 region-name

  5. 選取 [建立資源]。 此操作會在背景中建立 Azure Site Recovery 金鑰保存庫。

    • 如果遷移已經設定好 Azure Migrate: Server Migration,則無法設定目標選項,因為資源是先前設定好的。
    • 選取此按鈕後,則無法變更此專案的目標區域。
    • 所有後續的遷移都到此區域。
  6. 在 [是否要安裝新的複寫設備?] 中,選取 [安裝複寫設備]

  7. 在 [下載並安裝複寫設備軟體] 中,下載設備安裝程式和註冊金鑰。 您需要下載金鑰才能註冊裝置。 金鑰在下載後五天內有效。

    下載提供者的螢幕擷取畫面。

  8. 將設備設定檔和金鑰檔複製到你為設備建立的 Windows Server 2016 電腦。

  9. 安裝完成後便會自動啟動設備組態精靈 (您也可使用設備電腦桌面上所建立的 cspsconfigtool 捷徑手動啟動精靈)。 使用精靈的 [管理帳戶] 索引標籤,使用下列詳細資料建立虛擬帳戶:

    • 自訂名稱:"guest"
    • 使用者名稱:"username"
    • 帳戶密碼:"password"。

    在啟用複寫階段中,您會使用此虛擬帳戶。

  10. 當安裝完成、設備重新啟動後,請在 [探索機器][選取組態伺服器] 中選取新設備,並按一下 [完成註冊]。 完成註冊會執行幾個最終工作來準備複寫應用裝置。

    「完成註冊」選項的螢幕截圖。

安裝 Mobility service

在你想遷移的伺服器上安裝 Mobility service agent。 代理程式安裝程式可在複寫設備上取得。 尋找正確的安裝程式,在要移轉的各機器上安裝代理程式。

要安裝 Mobility service,請遵循以下步驟:

  1. 登入複寫設備。

  2. 導航至 %ProgramData%\ASR\home\svsystems\pushinstallsvc\repository

  3. 尋找機器作業系統和版本適用的安裝程式。 檢閱支援的作業系統

  4. 將安裝程式檔案複製到要遷移的機器。

  5. 請確認您已擁有在部署裝置時所生成的通行密語。

    • 將檔案儲存在機器上的暫存文字檔中。
    • 您可以在複製設備上取得此通行碼。 從命令行執行 C:\ProgramData\ASR\home\svsystems\bin\genpassphrase.exe -v,可檢視目前的通行詞。
    • 不要重新生成通行密碼。 這會使連線中斷,而您必須重新註冊複寫設備。
    • /Platform 參數中,為 VMware 機器和實體機器兩者指定 VMware
  6. 連線至該機器,並將安裝程式檔案的內容擷取至本機資料夾 (如 c:\temp)。 在系統管理命令提示字元中執行下列命令:

    ren Microsoft-ASR_UA*Windows*release.exe MobilityServiceInstaller.exe
    MobilityServiceInstaller.exe /q /x:C:\Temp\Extracted
    cd C:\Temp\Extracted
    
  7. 執行行動服務安裝程式:

    UnifiedAgent.exe /Role "MS" /Platform "VmWare" /Silent
    
  8. 將代理程式註冊至複寫設備:

    cd C:\Program Files (x86)\Microsoft Azure Site Recovery\agent
    UnifiedAgentConfigurator.exe  /CSEndPoint <replication appliance IP address> /PassphraseFilePath <Passphrase File Path>
    

安裝後可能需要一段時間,發現的機器才會出現在 Azure Migrate: Server Migration 中。 當 VM 被發現時,已發現的伺服器計數即會上升。

螢幕擷取畫面顯示已發現的伺服器。

準備來源機器

若要準備來源機器,請在叢集節點上執行 Get-ClusterInfo.ps1 指令碼,以擷取叢集資源的資訊。 指令碼會在檔案中 Cluster-Config.csv 輸出角色名稱、資源名稱、IP 和探測埠。

./Get-ClusterInfo.ps1

建立負載平衡器

為了讓叢集和叢集角色能正確回應請求,需要一個 Azure 負載平衡器。 如果沒有負載平衡器,其他 VM 就無法連線到叢集 IP 位址,因為它不會被辨識為屬於網路或叢集。

若要建立負載平衡器,請遵循下列步驟:

  1. 填寫檔案 Cluster-Config.csv 中的欄位:
欄位標頭 描述
NewIP 在 CSV 檔案中指定 Azure 虛擬網路(或子網路)中每個資源的 IP 位址。
ServicePort 指定 CSV 檔案中各資源要使用的服務埠。 針對 SQL 叢集資源,請在 CSV 中使用相同的值作為服務埠和探查埠。 其他叢集角色使用的預設值為 1433,但您可繼續使用目前設定中所設定的連接埠號碼。
  1. 使用下列參數來執行 Create-ClusterLoadBalancer.ps1 指令碼,以建立負載平衡器:
參數 類型 描述
ConfigFilePath 強制性 指定您在上一個步驟中填寫的檔案路徑 Cluster-Config.csv
ResourceGroupName 強制性 指定要建立負載平衡器的資源群組名稱。
VNetName 強制性 請指定負載平衡器要關聯的 Azure 虛擬網路名稱。
SubnetName 強制性 請指定負載平衡器要關聯的 Azure 虛擬網路子網名稱。
VNetResourceGroupName 強制性 請指定負載平衡器要關聯的 Azure 虛擬網路資源群組名稱。
Location 強制性 指定應建立負載平衡器的位置。
LoadBalancerName 強制性 指定要建立的負載平衡器名稱。
./Create-ClusterLoadBalancer.ps1 -ConfigFilePath ./cluster-config.csv -ResourceGroupName $resourcegroupname -VNetName $vnetname -subnetName $subnetname -VnetResourceGroupName $vnetresourcegroupname -Location "eastus" -LoadBalancerName $loadbalancername

複製機器

現在,選取要進行移轉的機器。 您最多可以複製 10 部機器。 如果您需要複製更多,請以 10 個一批的方式同時進行複製。

若要複製機器,請遵循下列步驟:

  1. 在Azure Migrate專案 >ServersAzure Migrate: Server Migration,選擇 Replicate

     Azure Migrate - 伺服器畫面截圖,顯示在遷移工具中的 Azure Migrate: Server Migration 中選取的複製按鈕。

  2. [複寫]、>[來源設定]>[機器是否已虛擬化?] 中,選取 [實體或其他 (AWS、GCP、Xen 等)]

  3. On-premises appliance 中,選擇你設定的Azure Migrate設備名稱。

  4. 在「Process Server」中,選取複寫設備的名稱。

  5. [來賓認證] 中,選取前述複寫安裝程式設定期間先前所建立的虛擬帳戶。 接著選取 [下一步:虛擬機器]

    [複寫] 畫面中 [來源設定] 索引標籤的螢幕擷取畫面,其中已反白顯示 [來賓認證] 欄位。

  6. Virtual Machines從評估匯入遷移設定?,保留預設設定為 不,我會手動指定遷移設定

  7. 檢查您要遷移的每個 VM。 然後選取 [下一步:目標設定]。

    選取 VM 選項的螢幕擷取畫面。

  8. Target settings,選擇你要遷移的訂閱和目標區域,並指定遷移後Azure虛擬機將駐留的資源群組。

  9. Virtual Network 中,選擇遷移後Azure虛擬機將加入的Azure virtual network/子網。

  10. 可用性選項中,選取:

    • 將已遷移的機器綁定到該地區中特定的可用性區域。 使用此選項將構成多節點應用層的伺服器分散至可用區域。 如果你選擇這個選項,你需要在計算標籤中指定每台所選機器可用的可用區域。此選項僅在遷移目標區域支援 Availability Zones 時使用。
    • 可用性設定組,可將遷移的電腦放在可用性設定組中。 選取的目標資源群組必須有一或多個可用性設定組,才能使用此選項。
    • 如果您不需要為已遷移的電腦提供任何一種可用性設定,則不需要任何基礎結構備援選項。
  11. 磁碟加密類型中,選取:

    • 使用平台管理金鑰進行靜態資料加密
    • 使用客戶管理的金鑰進行靜態加密
    • 使用平台管理和客戶管理的金鑰進行雙重加密

    注意

    若要使用客戶自控金鑰 (CMK) 複寫虛擬機器,您必須在目標資源群組下 建立磁碟加密集 。 磁碟加密設定物件會將 Managed Disks 映射到包含 CMK 的 Key Vault,以供 SSE 使用。

  12. Azure Hybrid Benefit中:

    • 如果你不想申請Azure Hybrid Benefit,請選擇No。 然後選取下一步
    • 如果你有Windows Server台機器有有效軟體保證或Windows Server訂閱,且你想將這項福利套用到你要遷移的機器,請選擇Yes。 然後選取下一步

    目標設定的螢幕擷取畫面。

  13. [計算] 中,檢閱 VM 名稱、大小、OS 磁碟類型和可用性設定(如果在上一個步驟中選取)。 虛擬機必須符合Azure要求

    • VM 大小:如果您要使用評量建議,則 VM 大小下拉式清單會顯示建議的大小。 否則 Azure Migrate 會根據 Azure 訂閱中最接近的規格來選擇。 或者,你可以選擇Azure VM size 的手動大小。
    • OS 磁碟:指定 VM 的 OS(開機)磁碟。 OS 磁碟是具有作業系統開機載入器和安裝程式的磁碟。
    • 可用性區域:指定要使用的可用性區域。
    • 可用性設定組:指定要使用的可用性設定組。

    計算設定的螢幕擷取畫面。

  14. Disks中,指定虛擬機磁碟是否要複製到 Azure,並在Azure中選擇磁碟類型(標準 SSD/HDD 或高級管理磁碟)。 然後選取下一步

    磁碟設定的螢幕擷取畫面。

  15. [檢閱並啟動複寫] 中檢閱設定,然後按一下 [複寫] 開始進行伺服器的初始複寫。

注意

您可以在複寫開始之前隨時更新複寫設定,管理>複寫機器。 在複寫啟動後,就無法變更設定。

追蹤和監控

複製會依下列順序進行:

  • 選取 [複寫] 時,隨即開始進行 [啟動複寫] 作業。
  • Start Replication 工作成功完成後,機器開始初始複製至 Azure。
  • 初始複寫完成後,就會開始進行增量複寫。 對本地磁碟的增量變更會定期複製到 Azure 的複本磁碟。

您可以在入口網站通知中追蹤作業狀態。

你可以在Azure Migrate: Server Migration中選擇Replicating servers來監控複製狀態。

顯示螢幕複製的螢幕擷取畫面。

移轉 VM

複製機器之後,即可進行遷移。 若要移轉您的伺服器,請遵循下列步驟:

  1. 在Azure Migrate專案 >Servers>Azure Migrate: Server Migration 中,選擇 Replicating servers

    複寫伺服器選項的螢幕擷取畫面。

  2. 為確保遷移的伺服器與來源伺服器同步,您應在可用性群組中的每個副本伺服器上停止 SQL Server 服務,從次要副本開始(在 SQL Server Configuration Manager>Services 中),同時確保承載 SQL 資料的磁碟保持在線。

  3. 複寫機器> 中,選取伺服器名稱 >概觀。 在進入下一步之前,請確保最後一個同步的時間戳記是在你停止遷移伺服器上的 SQL Server 服務之後。 此過程只需幾分鐘。

  4. [複寫機器] 中,以滑鼠右鍵按一下 VM >[移轉]

  5. [移轉]>[將虛擬機器關機,在沒有資料遺失的情況下執行計劃性移轉] 中,選取 [否]>[確定]

    注意

    對於實體伺服器移轉,不支援自動關閉來源機器。 建議是在移轉時段期間關閉應用程式 (不要讓應用程式接受任何連線) 。 然後,在移轉完成之前啟動移轉(伺服器需要保持運行,以便可以同步其餘變更)。

  6. VM 會啟動移轉作業。 在 Azure 通知中追蹤職缺。

  7. 工作完成後,你可以從 Virtual Machines 頁面查看並管理虛擬機。

重新設定叢集

移轉 VM 之後,請遵循下列步驟來重新設定叢集:

  1. 關閉 Azure 中遷移的伺服器。

  2. 將已移轉的機器新增至負載平衡器的後端集區。 請前往 負載平衡器>後端池

  3. 選取後端集區,然後新增已移轉的機器。

  4. 在 Azure 啟動遷移後的伺服器,並登入任一節點。

  5. 複製 Cluster-Config.csv 檔案,並執行可傳送 CSV 作為參數的 Update-ClusterConfig.ps1 指令碼。 這個腳本確保叢集資源會依新設定更新,讓叢集能在 Azure 上正常運作。

    ./Update-ClusterConfig.ps1 -ConfigFilePath $filepath
    

您的 Always On 可用性群組已就緒。

完成移轉

  1. 完成移轉後,以滑鼠右鍵按一下 VM > >[停止移轉]。 此命令:
    • 停止內部部署機器的複寫。
    • 在 Azure Migrate:伺服器遷移中,將該機器從 Replicating servers 計數中移除。
    • 清除機器的複寫狀態資訊。
  2. 在遷移的機器上安裝 Azure VM for Windows代理程式。
  3. 執行任何移轉後應用程式調整,例如更新資料庫連接字串和 Web 伺服器設定。
  4. 對已遷移的應用程式進行最終的應用程式及遷移驗收測試,該應用程式目前在 Azure 上運行。
  5. 將流量轉移到遷移後的 Azure VM 實例。
  6. 將內部部署的 VM 從您的本機虛擬機清單中移除。
  7. 從本機備份中移除內部部署 VM。
  8. 更新任何內部文件,顯示 Azure 虛擬機的新位置和 IP 位址。

移轉後的最佳做法