適用於: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 文件。
先決條件
開始進行本教學課程之前,應完成下列必要條件:
- 一個 Azure 訂閱。 視需要建立免費帳戶。
- 安裝 Azure PowerShell
Az模組。 - 從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 虛擬網路中。 |
若要檢查是否具備適當權限,請遵循下列步驟:
- 在Azure入口網站,開啟訂閱,選擇存取控制(IAM)。
- 在 [檢查存取權] 中尋找相關帳戶,並選取帳戶以檢視權限。
- 您應該會具有「參與者」或「擁有者」權限。
- 如果你剛建立了一個免費的 Azure 帳號,你就是你訂閱的擁有者。
- 如果您不是訂用帳戶擁有者,請與擁有者合作以指派角色。
如果你需要分配權限,請依照 準備Azure使用者帳號的步驟操作。
為移轉做準備
若要準備進行伺服器移轉,請確認實體伺服器設定,並準備部署複寫設備。
檢查機器需求
要遷移到 Azure,請確保你的來源機器符合相關要求。 請遵循這些步驟:
- 確認伺服器需求。
- 確認你複製Azure的來源機器是否符合Azure VM 要求。
- 部分Windows來源需要更多修改。 在做這些變更前先遷移原始碼,可能會阻止虛擬機在 Azure 開機。 對某些作業系統來說,Azure Migrate 會自動進行這些變更。
準備進行複製
Azure Migrate:Server Migration 使用複寫設備將機器複製到 Azure。 複製設備會執行下列元件:
- Configuration server:配置伺服器協調本地與Azure之間的通訊,並管理資料複製。
- 進程伺服器:進程伺服器會作為複寫閘道。 它接收複製資料;透過快取、壓縮和加密來優化,然後傳送到 Azure 的快取儲存帳號。
準備設備部署,如下所示:
- 建立一台 Windows Server 2016 機器來承載複製設備。 檢閱機器需求。
- 複寫設備會使用 MySQL。 檢閱在設備上安裝 MySQL 的選項。
- 檢視Azure URL所需的
公有 及 政府 雲端,以供複製裝置存取。 - 檢查複寫設備的連接埠存取需求。
注意
複寫設備應該安裝在您要複寫或移轉的來源電腦以外的電腦上。 它不應該安裝在之前安裝過 Azure Migrate 發現與評估設備的任何機器上。
下載複寫設備安裝程式
若要下載複寫設備安裝程式,請遵循下列步驟:
在Azure Migrate專案 >Servers,在 Azure Migrate: Server Migration 中,選擇 Discover。
在探索電腦>電腦是否已虛擬化? 中,選取 [實體或其他 (AWS、GCP、Xen 等。)]。
在 Target region,選擇你想遷移機器的Azure區域。
按一下 確認移轉的目標區域為 region-name。
選取 [建立資源]。 此操作會在背景中建立 Azure Site Recovery 金鑰保存庫。
- 如果遷移已經設定好 Azure Migrate: Server Migration,則無法設定目標選項,因為資源是先前設定好的。
- 選取此按鈕後,則無法變更此專案的目標區域。
- 所有後續的遷移都到此區域。
在 [是否要安裝新的複寫設備?] 中,選取 [安裝複寫設備]。
在 [下載並安裝複寫設備軟體] 中,下載設備安裝程式和註冊金鑰。 您需要下載金鑰才能註冊裝置。 金鑰在下載後五天內有效。
將設備設定檔和金鑰檔複製到你為設備建立的 Windows Server 2016 電腦。
安裝完成後便會自動啟動設備組態精靈 (您也可使用設備電腦桌面上所建立的 cspsconfigtool 捷徑手動啟動精靈)。 使用精靈的 [管理帳戶] 索引標籤,使用下列詳細資料建立虛擬帳戶:
- 自訂名稱:"guest"
- 使用者名稱:"username"
- 帳戶密碼:"password"。
在啟用複寫階段中,您會使用此虛擬帳戶。
當安裝完成、設備重新啟動後,請在 [探索機器] 的 [選取組態伺服器] 中選取新設備,並按一下 [完成註冊]。 完成註冊會執行幾個最終工作來準備複寫應用裝置。
安裝 Mobility service
在你想遷移的伺服器上安裝 Mobility service agent。 代理程式安裝程式可在複寫設備上取得。 尋找正確的安裝程式,在要移轉的各機器上安裝代理程式。
要安裝 Mobility service,請遵循以下步驟:
登入複寫設備。
導航至
%ProgramData%\ASR\home\svsystems\pushinstallsvc\repository。尋找機器作業系統和版本適用的安裝程式。 檢閱支援的作業系統。
將安裝程式檔案複製到要遷移的機器。
請確認您已擁有在部署裝置時所生成的通行密語。
- 將檔案儲存在機器上的暫存文字檔中。
- 您可以在複製設備上取得此通行碼。 從命令行執行
C:\ProgramData\ASR\home\svsystems\bin\genpassphrase.exe -v,可檢視目前的通行詞。 - 不要重新生成通行密碼。 這會使連線中斷,而您必須重新註冊複寫設備。
- 在
/Platform參數中,為 VMware 機器和實體機器兩者指定VMware。
連線至該機器,並將安裝程式檔案的內容擷取至本機資料夾 (如 c:\temp)。 在系統管理命令提示字元中執行下列命令:
ren Microsoft-ASR_UA*Windows*release.exe MobilityServiceInstaller.exe MobilityServiceInstaller.exe /q /x:C:\Temp\Extracted cd C:\Temp\Extracted執行行動服務安裝程式:
UnifiedAgent.exe /Role "MS" /Platform "VmWare" /Silent將代理程式註冊至複寫設備:
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 位址,因為它不會被辨識為屬於網路或叢集。
若要建立負載平衡器,請遵循下列步驟:
- 填寫檔案
Cluster-Config.csv中的欄位:
| 欄位標頭 | 描述 |
|---|---|
NewIP |
在 CSV 檔案中指定 Azure 虛擬網路(或子網路)中每個資源的 IP 位址。 |
ServicePort |
指定 CSV 檔案中各資源要使用的服務埠。 針對 SQL 叢集資源,請在 CSV 中使用相同的值作為服務埠和探查埠。 其他叢集角色使用的預設值為 1433,但您可繼續使用目前設定中所設定的連接埠號碼。 |
- 使用下列參數來執行
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 個一批的方式同時進行複製。
若要複製機器,請遵循下列步驟:
在Azure Migrate專案 >Servers, Azure Migrate: Server Migration,選擇 Replicate。
在[複寫]、>[來源設定]>[機器是否已虛擬化?] 中,選取 [實體或其他 (AWS、GCP、Xen 等)]。
在 On-premises appliance 中,選擇你設定的Azure Migrate設備名稱。
在「Process Server」中,選取複寫設備的名稱。
在 [來賓認證] 中,選取前述複寫安裝程式設定期間先前所建立的虛擬帳戶。 接著選取 [下一步:虛擬機器]。
在 Virtual Machines,從評估匯入遷移設定?,保留預設設定為 不,我會手動指定遷移設定。
檢查您要遷移的每個 VM。 然後選取 [下一步:目標設定]。
在 Target settings,選擇你要遷移的訂閱和目標區域,並指定遷移後Azure虛擬機將駐留的資源群組。
在 Virtual Network 中,選擇遷移後Azure虛擬機將加入的Azure virtual network/子網。
在可用性選項中,選取:
- 將已遷移的機器綁定到該地區中特定的可用性區域。 使用此選項將構成多節點應用層的伺服器分散至可用區域。 如果你選擇這個選項,你需要在計算標籤中指定每台所選機器可用的可用區域。此選項僅在遷移目標區域支援 Availability Zones 時使用。
- 可用性設定組,可將遷移的電腦放在可用性設定組中。 選取的目標資源群組必須有一或多個可用性設定組,才能使用此選項。
- 如果您不需要為已遷移的電腦提供任何一種可用性設定,則不需要任何基礎結構備援選項。
在磁碟加密類型中,選取:
- 使用平台管理金鑰進行靜態資料加密
- 使用客戶管理的金鑰進行靜態加密
- 使用平台管理和客戶管理的金鑰進行雙重加密
注意
若要使用客戶自控金鑰 (CMK) 複寫虛擬機器,您必須在目標資源群組下 建立磁碟加密集 。 磁碟加密設定物件會將 Managed Disks 映射到包含 CMK 的 Key Vault,以供 SSE 使用。
在Azure Hybrid Benefit中:
- 如果你不想申請Azure Hybrid Benefit,請選擇No。 然後選取下一步。
- 如果你有Windows Server台機器有有效軟體保證或Windows Server訂閱,且你想將這項福利套用到你要遷移的機器,請選擇Yes。 然後選取下一步。
在 [計算] 中,檢閱 VM 名稱、大小、OS 磁碟類型和可用性設定(如果在上一個步驟中選取)。 虛擬機必須符合Azure要求。
- VM 大小:如果您要使用評量建議,則 VM 大小下拉式清單會顯示建議的大小。 否則 Azure Migrate 會根據 Azure 訂閱中最接近的規格來選擇。 或者,你可以選擇Azure VM size 的手動大小。
- OS 磁碟:指定 VM 的 OS(開機)磁碟。 OS 磁碟是具有作業系統開機載入器和安裝程式的磁碟。
- 可用性區域:指定要使用的可用性區域。
- 可用性設定組:指定要使用的可用性設定組。
在Disks中,指定虛擬機磁碟是否要複製到 Azure,並在Azure中選擇磁碟類型(標準 SSD/HDD 或高級管理磁碟)。 然後選取下一步。
在 [檢閱並啟動複寫] 中檢閱設定,然後按一下 [複寫] 開始進行伺服器的初始複寫。
注意
您可以在複寫開始之前隨時更新複寫設定,管理>複寫機器。 在複寫啟動後,就無法變更設定。
追蹤和監控
複製會依下列順序進行:
- 選取 [複寫] 時,隨即開始進行 [啟動複寫] 作業。
- 當 Start Replication 工作成功完成後,機器開始初始複製至 Azure。
- 初始複寫完成後,就會開始進行增量複寫。 對本地磁碟的增量變更會定期複製到 Azure 的複本磁碟。
您可以在入口網站通知中追蹤作業狀態。
你可以在Azure Migrate: Server Migration中選擇Replicating servers來監控複製狀態。
移轉 VM
複製機器之後,即可進行遷移。 若要移轉您的伺服器,請遵循下列步驟:
在Azure Migrate專案 >Servers>Azure Migrate: Server Migration 中,選擇 Replicating servers。
為確保遷移的伺服器與來源伺服器同步,您應在可用性群組中的每個副本伺服器上停止 SQL Server 服務,從次要副本開始(在 SQL Server Configuration Manager>Services 中),同時確保承載 SQL 資料的磁碟保持在線。
在 複寫機器> 中,選取伺服器名稱 >概觀。 在進入下一步之前,請確保最後一個同步的時間戳記是在你停止遷移伺服器上的 SQL Server 服務之後。 此過程只需幾分鐘。
在 [複寫機器] 中,以滑鼠右鍵按一下 VM >[移轉]。
在 [移轉]>[將虛擬機器關機,在沒有資料遺失的情況下執行計劃性移轉] 中,選取 [否]>[確定]。
注意
對於實體伺服器移轉,不支援自動關閉來源機器。 建議是在移轉時段期間關閉應用程式 (不要讓應用程式接受任何連線) 。 然後,在移轉完成之前啟動移轉(伺服器需要保持運行,以便可以同步其餘變更)。
VM 會啟動移轉作業。 在 Azure 通知中追蹤職缺。
工作完成後,你可以從 Virtual Machines 頁面查看並管理虛擬機。
重新設定叢集
移轉 VM 之後,請遵循下列步驟來重新設定叢集:
關閉 Azure 中遷移的伺服器。
將已移轉的機器新增至負載平衡器的後端集區。 請前往 負載平衡器>後端池。
選取後端集區,然後新增已移轉的機器。
在 Azure 啟動遷移後的伺服器,並登入任一節點。
複製
Cluster-Config.csv檔案,並執行可傳送 CSV 作為參數的Update-ClusterConfig.ps1指令碼。 這個腳本確保叢集資源會依新設定更新,讓叢集能在 Azure 上正常運作。./Update-ClusterConfig.ps1 -ConfigFilePath $filepath
您的 Always On 可用性群組已就緒。
完成移轉
- 完成移轉後,以滑鼠右鍵按一下 VM > >[停止移轉]。 此命令:
- 停止內部部署機器的複寫。
- 在 Azure Migrate:伺服器遷移中,將該機器從 Replicating servers 計數中移除。
- 清除機器的複寫狀態資訊。
- 在遷移的機器上安裝 Azure VM for Windows代理程式。
- 執行任何移轉後應用程式調整,例如更新資料庫連接字串和 Web 伺服器設定。
- 對已遷移的應用程式進行最終的應用程式及遷移驗收測試,該應用程式目前在 Azure 上運行。
- 將流量轉移到遷移後的 Azure VM 實例。
- 將內部部署的 VM 從您的本機虛擬機清單中移除。
- 從本機備份中移除內部部署 VM。
- 更新任何內部文件,顯示 Azure 虛擬機的新位置和 IP 位址。
移轉後的最佳做法
- 針對 SQL Server:
- 安裝 SQL Server IaaS Agent 擴充以自動化管理與管理任務。
- 優化 Azure 虛擬機器上的 SQL Server 效能。
- 了解 Azure 上 SQL Server 的定價。
- 為提升韌性:
- 透過使用
Azure Backup 服務 備份Azure虛擬機來保護資料安全。 - 透過將Azure虛擬機複製到次要區域,並持續使用Site Recovery來維持工作負載運作與持續可用。
- 透過使用
- 為了增強安全性:
- 用 Microsoft Defender for Cloud - 及時管理 鎖定並限制入站流量。
- 使用網路安全性群組來限制流向管理端點的網路流量。
- 部署
Azure Disk Encryption 以協助保護磁碟,並保護資料免於竊盜與未經授權存取。 - 閱讀更多關於 保護 IaaS 資源,並造訪 Microsoft Defender for Cloud。
- 用於監控及管理:
- 請考慮部署 Microsoft成本管理 ,以監視資源使用量和支出。