將可用性群組移轉至 Azure VM 上的 SQL Server
本文將指導您使用 Azure Migrate:伺服器移轉工具,將 SQL Server Always On 可用性群組移轉至 Azure VM 上的 SQL Server。 使用移轉工具,您便可將可用性群組中的各複本、叢集中繼資料、可用性群組中繼資料,以及其他必要的高可用性元件移轉至裝載 SQL Server 的 Azure VM。
在本文中,您將學會如何:
- 準備 Azure 和來源環境以進行移轉。
- 啟動複寫伺服器。
- 監視複寫。
- 執行完整伺服器移轉。
- 重新設定 Always On 可用性群組。
本指南使用代理程式型的 Azure Migrate 移轉方式,可將任何伺服器或虛擬機器視為實體伺服器。 移轉實體機器時,「Azure Migrate:伺服器移轉」使用的複寫架構與 Azure Site Recovery 服務中的代理程式型災害復原功能相同,且部分元件會共用相同的程式碼基底。 有些內容可能會連結至 Site Recovery 文件。
先決條件
開始進行本教學課程之前,應完成下列必要條件:
- Azure 訂用帳戶。 視需要建立免費帳戶。
- 安裝 Azure PowerShell
Az
模組。 - 自 GitHub 存放庫下載 PowerShell 範例指令碼。
準備 Azure
使用伺服器移轉工具 來準備 Azure 進行移轉。
Task | 詳細資料 |
---|---|
建立 Azure Migrate 專案 | 您的 Azure 帳戶需要參與者或擁有者權限,才能建立新專案。 |
驗證您 Azure 帳戶的權限 | 您的 Azure 帳戶需要 Azure 訂用帳戶的「參與者」或「擁有者」權限、在Microsoft Entra ID (之前稱為 Azure Active Directory) 註冊應用程式的權限,以及 Azure 訂用帳戶的使用者存取系統管理員權限,以便建立 Key Vault、建立 VM,以及寫入 Azure 受控磁碟。 |
設定 Azure 虛擬網路 | 設定 Azure 虛擬網路 (VNet)。 當您複寫至 Azure 時,系統會建立 Azure VM 並將其加入至您設定移轉時所指定的 Azure VNet。 |
若要檢查是否具備適當權限,請遵循下列步驟:
- 在 Azure 入口網站中開啟訂用帳戶,然後選取 [存取控制 (IAM)]。
- 在 [檢查存取權] 中尋找相關帳戶,並選取帳戶以檢視權限。
- 您應該會具有「參與者」或「擁有者」權限。
- 如果您剛建立免費的 Azure 帳戶,您就是訂用帳戶的擁有者。
- 如果您不是訂用帳戶擁有者,請與擁有者合作以指派角色。
若需要指派權限,請遵循準備 Azure 使用者帳戶中的步驟進行。
為移轉做準備
若要準備進行伺服器移轉,請確認實體伺服器設定,並準備部署複寫設備。
檢查機器需求
確定來源機器符合移轉至 Azure 的需求。 請遵循這些步驟:
- 確認伺服器需求。
- 確認複寫至 Azure 的來源機器符合 Azure VM 需求。
- 某些 Windows 來源需要額外進行幾項變更。 若先移轉來源才進行這些變更,則可能導致 VM 無法在 Azure 中啟動。 在某些作業系統上,Azure Migrate 會自動進行這些變更。
準備進行複寫
Azure Migrate:伺服器移轉會使用複寫設備將機器複寫至 Azure。 複寫設備會執行下列元件:
- 設定伺服器:組態伺服器會協調內部部署與 Azure 之間的通訊,以及管理資料複寫。
- 處理序伺服器:處理序伺服器可作為複寫閘道。 負責接收複寫資料,以快取、壓縮和加密進行最佳化,然後將其傳送至 Azure 中的快取儲存體帳戶。
準備設備部署,如下所示:
- 建立用於裝載複寫設備的 Windows Server 2016 機器。 檢閱機器需求。
- 複寫設備會使用 MySQL。 檢閱在設備上安裝 MySQL 的選項。
- 檢閱複寫設備存取公用和政府雲端所需的 Azure URL。
- 檢閱複寫設備的連接埠存取需求。
注意
複寫設備應安裝於待複寫或移轉來源機器以外的機器上,而不是安裝於先前曾安裝 Azure Migrate 探索和評定設備的機器上。
下載複寫設備安裝程式
若要下載複寫設備安裝程式,請遵循下列步驟:
在 Azure Migrate 專案 >[伺服器]中,選取 [Azure Migrate:伺服器移轉] 中的 [探索]。
在探索電腦>電腦是否已虛擬化? 中,選取 [實體或其他 (AWS、GCP、Xen 等。)]。
在 [目標區域] 中,選取您要將機器遷移到的 Azure 區域。
選取 [確認移轉的目標區域為 region-name]。
選取 [建立資源]。 這會在背景中建立 Azure Site Recovery 保存庫。
- 若已設定使用「Azure Migrate:伺服器移轉」進行移轉,由於先前已設定資源,因此便無法設定目標選項。
- 選取此按鈕後,則無法變更此專案的目標區域。
- 所有後續的移轉都會以此區域為目標。
在 [是否要安裝新的複寫設備?] 中,選取 [安裝複寫設備]。
在 [下載並安裝複寫設備軟體] 中,下載設備安裝程式和註冊金鑰。 您必須要有金鑰,才能註冊設備。 此金鑰在下載後有五天的有效期。
將設備安裝程式檔案和金鑰檔案複製到您為設備建立的 Windows Server 2016 機器。
安裝完成後便會自動啟動設備組態精靈 (您也可使用設備電腦桌面上所建立的 cspsconfigtool 捷徑手動啟動精靈)。 使用精靈的 [管理帳戶] 索引標籤,使用下列詳細資料建立虛擬帳戶:
- 自訂名稱:"guest"
- 使用者名稱:"username"
- 帳戶密碼:"password"。
在啟用複寫階段中,您會使用此虛擬帳戶。
當安裝完成、設備重新啟動後,請在 [探索機器] 的 [選取組態伺服器] 中選取新設備,並按一下 [完成註冊]。 完成註冊作業會執行數項最終工作,以備妥複寫設備。
安裝行動服務
在要移轉的伺服器上安裝行動服務代理程式。 代理程式安裝程式可在複寫設備上取得。 尋找正確的安裝程式,在要移轉的各機器上安裝代理程式。
若要安裝行動服務,請遵循下列步驟:
登入複寫設備。
瀏覽至
%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:伺服器移轉」。 探索到 VM 時,[探索到的伺服器] 計數即會上升。
準備來源機器
若要準備來源機器,請在叢集節點上執行 Get-ClusterInfo.ps1
指令碼,以擷取叢集資源的資訊。 該指令碼會輸出 Cluster-Config.csv
檔案中的角色名稱、資源名稱、IP 和探查連接埠。
./Get-ClusterInfo.ps1
建立負載平衡器
為使叢集和叢集角色能適當回應要求,便需要 Azure 負載平衡器。 若沒有負載平衡器,則無法辨識叢集 IP 位址屬於網路或叢集,因此其他 VM 將無法連線至該位址。
若要建立負載平衡器,請遵循下列步驟:
- 填寫檔案
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 專案 >[伺服器]、[Azure Migrate:伺服器移轉] 中,選取 [複寫]。
在[複寫]、>[來源設定]>[機器是否已虛擬化?] 中,選取 [實體或其他 (AWS、GCP、Xen 等)]。
在 [內部部署設備] 中,選取您設定的 Azure Migrate 設備的名稱。
在 [處理序伺服器] 中,選取複寫設備的名稱。
在 [來賓認證] 中,選取前述複寫安裝程式設定期間先前所建立的虛擬帳戶。 接著選取 [下一步:虛擬機器]。
在 [虛擬機器] 的 [從評量匯入移轉設定?] 中,保留預設設定 [否,我將手動指定移轉設定]。
檢查您要遷移的每個 VM。 然後選取 [下一步:目標設定]。
在 [目標設定] 中,選取訂用帳戶、您的遷移目標區域,並指定 Azure VM 在移轉後所在的資源群組。
在 [虛擬網路] 中,選取 Azure VM 在移轉後所將加入的 Azure VNet/子網路。
在可用性選項中,選取:
- 可用性區域,將已遷移的機器釘選到該區域中特定的可用性區域。 使用此選項可將形成多節點應用程式層的伺服器散發到可用性區域。 若選取此選項,則須在 [計算] 索引標籤中指定要用於各所選機器的可用性區域。當移轉的所選目標區域支援可用性區域時,才適用此選項。
- 可用性設定組,可將遷移的電腦放在可用性設定組中。 選取的目標資源群組必須有一或多個可用性設定組,才能使用此選項。
- 如果您不需要為已遷移的電腦提供任何一種可用性設定,則不需要任何基礎結構備援選項。
在磁碟加密類型中,選取:
- 使用平台代控金鑰加密待用資料
- 使用客戶自控金鑰加密待用資料
- 使用平台管理和客戶管理的金鑰進行雙重加密
注意
若要使用 CMK 複寫 VM,您必須在目標資源群組下建立磁碟加密集。 磁碟加密設定物件會將受控磁碟對應至包含要用於 SSE 之 CMK 的 Key Vault。
在 [Azure Hybrid Benefit] 中:
- 如果您不想套用 Azure Hybrid Benefit,請選取 [否]。 然後選取 [下一步]。
- 如果您有 Windows Server 機器涵蓋於有效的軟體保證或 Windows Server 訂用帳戶下,且您想要將權益套用至要移轉的機器,請選取 [是]。 然後選取 [下一步]。
請檢閱計算中的 VM 名稱、大小、OS 磁碟類型和可用性設定 (如果有在上一個步驟中選取)。 VM 必須符合 Azure 需求。
- VM 大小:如果您要使用評量建議,則 VM 大小下拉式清單會顯示建議的大小。 否則,Azure Migrate 會根據 Azure 訂用帳戶中最接近的相符項來選擇大小。 或者,您可以在 [Azure VM 大小] 中手動選擇大小。
- OS 磁碟:指定 VM 的 OS (開機) 磁碟。 OS 磁碟是具有作業系統開機載入器和安裝程式的磁碟。
- 可用性區域:指定要使用的可用性區域。
- 可用性設定組:指定要使用的可用性設定組。
在 [磁碟] 中,指定是否應將 VM 磁碟複寫至 Azure,並選取 Azure 中的磁碟類型 (標準 SSD/HDD 或進階受控磁碟)。 然後選取 [下一步]。
在 [檢閱並啟動複寫] 中檢閱設定,然後按一下 [複寫] 開始進行伺服器的初始複寫。
注意
您可以在複寫開始之前隨時更新複寫設定 (經由 [管理]>[複寫機器])。 在複寫啟動後,就無法變更設定。
追蹤和監視
複寫會依下列順序進行:
- 選取 [複寫] 時,隨即開始進行 [啟動複寫] 作業。
- [啟動複寫] 作業順利完成後,機器便會開始初始複寫至 Azure。
- 初始複寫完成後,就會開始進行差異複寫。 對內部部署磁碟的累加變更會定期複寫至 Azure 中的複本磁碟。
您可以在入口網站通知中追蹤作業狀態。
您可在 [Azure Migrate:伺服器移轉] 中選取 [複寫伺服器],以監視複寫狀態。
移轉 VM
機器複寫後即可開始進行移轉。 若要移轉您的伺服器,請遵循下列步驟:
在 Azure Migrate 專案 >[伺服器]>[Azure Migrate:伺服器移轉] 中,選取 [複寫伺服器]。
若要確保移轉的伺服器與來源伺服器同步,請停止可用性群組中各複本的 SQL Server 服務,從 [SQL Server 組態管理員]>[服務] 中的次要複本開始,並確保裝載 SQL 資料的磁碟為線上狀態。
在 [複寫機器] 中選取 >[伺服器名稱]>[概觀],以確保最後同步處理的時間戳記晚於待移轉伺服器上的 SQL Server 服務停止時間、早於移至下一步的時間。 此程序應該只需要幾分鐘的時間。
在 [複寫機器] 中,以滑鼠右鍵按一下 VM >[移轉]。
在 [移轉]>[將虛擬機器關機,在沒有資料遺失的情況下執行計劃性移轉] 中,選取 [否]>[確定]。
注意
針對實體伺服器移轉,系統不會自動支援關閉來源機器。 完成移轉前,建議先關閉應用程式作為移轉視窗的一部份 (不要讓應用程式接受任何連線),再起始移轉 (伺服器必須保持執行狀態,以便同步處理其餘的變更)。
VM 會啟動移轉作業。 請在 Azure 通知中追蹤該作業。
作業完成後,您可以從 [虛擬機器] 頁面檢視及管理 VM。
重新設定叢集
在您的 VM 已移轉後,請重新設定叢集。 依照下列步驟執行:
將 Azure 中已移轉的伺服器關機。
將已移轉的機器新增至負載平衡器的後端集區。 瀏覽至 Load Balancer 和 Backend 集區。
選取後端集區,然後新增已移轉的機器。
在 Azure 中啟動已移轉的伺服器,接著登入任何節點。
複製
Cluster-Config.csv
檔案,並執行可傳送 CSV 作為參數的Update-ClusterConfig.ps1
指令碼。 如此可確保以新設定來更新叢集資源,以便在 Azure 中使用叢集。./Update-ClusterConfig.ps1 -ConfigFilePath $filepath
您的 Always On 可用性群組已就緒。
完成移轉
- 完成移轉後,以滑鼠右鍵按一下 VM > >[停止移轉]。 這會執行以下動作:
- 停止內部部署機器的複寫。
- 從 Azure Migrate 中的複寫伺服器計數移除機器:伺服器移轉。
- 清除機器的複寫狀態資訊。
- 在已移轉的機器上安裝 Azure VM for Windows 代理程式。
- 執行任何移轉後應用程式調整,例如更新資料庫連接字串和 Web 伺服器設定。
- 在現在於 Azure 中執行的已移轉應用程式上,執行最終的應用程式和移轉接受度測試。
- 將流量完全移轉至已遷移的 Azure VM 執行個體。
- 從您的本機 VM 清查中移除內部部署 VM。
- 從本機備份中移除內部部署 VM。
- 更新任何內部文件,以顯示 Azure VM 的新位置和 IP 位址。
移轉後的最佳做法
- 針對 SQL Server:
- 安裝 SQL Server IaaS 代理程式延伸模組,讓工作管理自動化。
- 最佳化 Azure VM 上的 SQL Server 效能。
- 了解 Azure 上的 SQL Server 價格。
- 針對提升復原性:
- 使用 Azure 備份服務來備份 Azure VM 以維護資料安全。
- 使用 Site Recovery 將 Azure VM 複寫至次要區域,讓工作負載保持執行且持續可供使用。
- 針對提升安全性:
- 使用適用於雲端的 Microsoft Defender Just-In-Time 管理,鎖定並限制存取的輸入流量。
- 使用網路安全性群組來限制流向管理端點的網路流量。
- 部署 Azure 磁碟加密以協助保護磁碟,以及防止資料遭到竊取和受到未經授權的存取。
- 深入了解保護 IaaS 資源安全,並造訪 適用於雲端的 Microsoft Defender。
- 針對監視及管理:
- 可考慮部署 Azure 成本管理來監視資源使用情況和花費。