前言
由於 VM 虛擬化技術,無論是地端資料中心或是公有雲環境,都會因為使用不同的伺服器虛擬化技術,導致 VM 虛擬主機的格式不相同,而無法輕易遷移至不同的伺服器虛擬化平台。
因此,企業或組織想將地端資料中心內的 VM 虛擬主機,遷移至 Azure 公有雲環境運作時,傳統作法便是在 Azure 公有雲環境中,部署全新安裝的 VM 虛擬主機,接著依照 VM 虛擬主機的屬性,將相關資料進行複寫後運作(如圖 1 所示)。
圖 1、Azure Migrate 遷移探索機制工作流程架構示意圖
現在,透過
Azure Migrate 遷移機制,即可將地端資料中心內,VMware vSphere 伺服器虛擬化平台中的 VM 虛擬主機,經過「
探索、評估、測試」等工作流程後,即可遷移至 Azure 公有雲環境繼續運作(如圖 2 所示)。
在 VMware 虛擬化環境中,Azure Migrate 設備可探索最多 10,000 台 VM 虛擬主機。
圖 2、VMware 環境無代理程式遷移架構示意圖
實戰 – 遷移 VMware VM 至 Azure 公有雲
在實戰演練小節,將會在地端資料中心 VMware 虛擬化平台中,透過 Azure Migration 遷移機制,逐步將一台安裝 Windows Server 2022 作業系統,並啟用 IIS 網頁伺服器的 VM 虛擬主機,遷移至 Azure 公有雲環境中運作。
由於遷移地端 VM 虛擬主機至 Azure 公有雲,將會使用到網路頻寬進行傳輸作業,為避免過多的等待時間,因此僅遷移一台 VM 虛擬主機為範例。目前,在地端 VMware 虛擬化平台中,運作一台名稱為 WS2022-IIS 的虛擬主機,該主機已經啟用 IIS 網頁伺服器服務(如圖 3 所示)。
圖 3、地端資料中心內 VM 虛擬主機並啟用 IIS 網頁伺服器服務
建立 Azure Migrate 專案
請登入 Azure Portal 管理介面,關鍵字搜尋「Azure Migrate」,並依序點選「Migration goals > Servers,databases and web apps > Create project」。
在 Create project 頁面,請選擇 Azure 訂閱帳戶,並填入
Azure Migrate 專案資訊後(如圖 4 所示),按下 Create 鈕建立 Azure Migrate 專案:
- Subscription: 選擇使用的 Azure 訂閱帳戶。
- Resource group: 選擇使用的資源群組。
- Project: 鍵入即將建立的 Azure Migrate 專案名稱。
- Geography: 選擇使用的地理位置。這個地理位置,用來儲存從地端資料中心內收集到的「中繼資料」(Metadata)。
圖 4、建立 Azure Migrate 專案
探索 VMware 虛擬化平台
請切換至 Azure Portal 管理介面,在 Azure Migrate 頁面依序點選「Migration goals > Servers,databases and web apps > Assessment tools > Azure Migrate: Discovery and assessment」項目後,請按下 Discover 鈕。
在 Discover 視窗中,詢問採用的虛擬化技術為何,在下拉式選單中共有三個選項,分別是 VMware vSphere、Hyper-V、實體主機或 AWX/GCP/Xen。在本文實作環境中,請選擇「Yes,with VMware vSphere Hypervisor」選項,選擇後將自動出現 Azure Migrate Appliance 資訊頁面。
在第 1 個 Generate project key 選項中,請提供稍後準備部署至地端資料中心內 Azure Migrate Appliance 的名稱,本文使用名稱為「AzureMA-VMware」,按下 Generate key 鈕即可產生金鑰,產生 Azure Migrate 專案金鑰的動作,需要花費幾分鐘的時間,當 OVA 部署作業完成後,必須要在 Azure Migrate Appliance 運作頁面中,填入這個隨機產生的專案金鑰才能完成註冊程序。
在第 2 個 Download Azure Migrate appliance 選項中,選擇下載「
.OVA file」選項,直接下載 Azure Migrate Appliance 的 .OVA 檔案(12 GB),並匯入地端 VMware 虛擬化平台中,或是下載「
.zip file」選項,使用 PowerShell 安裝程式指令碼,本文實作下載 OVA 檔案請按下 Download 鈕(如圖 5 所示)。
圖 5、產生 Azure Migrate 專案金鑰並下載 Azure Migrate Appliance 部署檔案
OVA 檔案下載完成,在開始執行 OVA 匯入作業之前,請先在 PowerShell 視窗中執行「CertUtil -HashFile .\ MicrosoftAzureMigration.ova SHA256」指令,確保使用 SHA256 驗證 OVA 檔案雜湊的完整性,避免下載到被竄改的檔案產生非預期的惡意攻擊或資安事件,確認無誤後即可切換至 vCenter Server 操作介面,執行匯入 OVA 檔案的工作任務。
OVA 檔案的正確 SHA256 雜湊值後十碼字元為 2D3A2F4723。
在地端資料中心內部署 Azure Migrate Appliance 之前,請先確保 VMware 虛擬化平台,能夠滿足部署條件,採用 Windows Server 2022 作業系統,將會自動配置 8 vCPU、32GB vMemory、80GB vDisk 磁碟空間。
在 vCenter Server 管理介面中,請依序點選「
vCenter > Datacenter > Cluster > Actions > Deploy OVF Template」項目,在 Select an OVF template 彈出視窗中,請點選 Local file 並選擇剛才下載的
MicrosoftAzureMigration.ova 檔案後,按下 Upload Files 鈕進行上傳作業。
在 Select a name and folder 頁面中,請選擇要將 Azure Migrate Appliance,存放至哪個 VM 資料夾當中,本文存放至 Azure Migration Appliance 資料夾內,在 Select a compute resource 頁面中,選擇要部署至 Cluster 或哪一台 ESXi 虛擬化平台中,在 Review details 頁面中查看 Azure Migrate Appliance 資訊是否正確,在 Select storage 頁面中,選擇採用的 vDisk 格式和 Datastore 儲存資源,在 Select networks 頁面,選擇連接的 vNetwork 和 Port Group,最後在 Ready to complete 頁面中,再次確認相關組態設定是否正確,確認無誤後按下 Finish 鈕,正式執行匯入 Azure Migrate Appliance 的工作任務。
成功匯入並啟動 Azure Migrate Appliance 虛擬主機後,請先組態設定管理者密碼、時區、IP 位址……等基本設定,最重要的則是電腦名稱的部份,請採用剛才產生 Azure Migrate 專案金鑰的「AzureMA-VMware」,組態設定電腦名稱後重新啟動主機。
重新啟動完成後,點選桌面上的「Azure Migrate Appliance Configuration Manager」捷徑,系統將自動開啟瀏覽器連線使用 HTTPs 至 Port 44368,並進入至 Appliance Configuration Manager 初始化組態設定頁面,並且檢查及確認是否能夠連線存取 Azure 公有雲,以及檢查主機時間是否與網際網路時間同步,後續的探索作業才能正常運作(如圖 6 所示)。
圖 6、Appliance Configuration Manager 初始化組態設定頁面
值得注意的是,倘若由別台主機開啟瀏覽器,連線至 Azure Migrate Appliance 虛擬主機的 Port 44368 時,必須先鍵入主機的管理者帳號和密碼,通過使用者身份驗證程序後,才能看到 Appliance Configuration Manager 初始化組態設定頁面。
在初始化組態設定頁面,於 1. Set up prerequisites 階段中,第 3 個步驟 Check latest updates and register appliance 中,請將剛才產生的 Azure Migrate 專案金鑰填入後,按下 Verify 鈕進行驗證程序,通過驗證程序後系統將會顯示「Azure Migrate project key has been verified.」訊息。接著,系統自動執行更新服務,確保所有服務更新至最新版本,原則上這個自動更新作業需要 5 分鐘,更新作業完成後,系統將彈出視窗提醒重新整理頁面,以便載入自動更新後的新版本。
自動更新工作任務完成後,必須將 Azure Migrate Appliance 註冊至 Azure Migrate 專案中,請按下 Login 鈕複製主機裝置代碼,搭配 Azure 訂閱帳戶進行登入作業程序,系統會提示順利登入 Microsoft Azure PowerShell 環境,接著系統將會顯示正在執行 Azure Migrate Appliance 初始化註冊程序,系統提示這個初始化註冊程序需要 10 分鐘,一旦初始化註冊程序完成後,便能點選 View details 查看詳細的登入資訊(如圖 7 所示)。
圖 7、鍵入 Azure Migrate 專案金鑰執行自動更新並初始化註冊程序
圖 8、檢查主機是否安裝 VMware Virtual Disk Development Kit
在 2. Manage credentials and discovery sources 頁面中,首先第 1 個步驟,需要提供地端 VMware 虛擬化平台的管理資訊,請按下 Add credentials 鈕,在視窗中請依序填入下列 VMware 主機或叢集的管理者帳號及密碼,以便系統稍後使用這個管理者憑證執行探索伺服器或叢集的動作(如圖 9 所示):
- Source type: vCenter Server,選擇這個使用者身份驗證設定檔適用的來源類別。
- Friendly name: vCenter8,組態設定使用者身份驗證設定檔名稱。
- Username: Administrator@lab.weithenn.org,管理者帳號。
- Password: WeithennAMA$1688,管理者密碼。
圖 9、新增連線 vCenter 8 Server 管理平台的使用者身份驗證設定檔
在第 2 個步驟中,按下 Add discovery source 鈕,在彈出視窗中鍵入 vCenter Server 的 IP 位址或 FQDN 完整名稱,以便連線至地端資料中心 VMware 虛擬化平台,一旦使用者身份驗證成功後,在 Status 狀態欄位便會顯示 Validation successful 訊息(如圖 10 所示),倘若管理者帳號密碼錯誤,或是無法連線至 vCenter Server Port 443 時,便會發生驗證失敗的情況:
- Discovery source: vCenter Server,選擇稍後執行探索任務的來源。
- IP Address/FQDN: vcenter8.lab.weithenn.org,組態設定 vCenter Server 連線 IP 位址或 FQDN。
- Port: 443,連線 vCenter Server 管理平台的 Port number。
- Map credentials: vCenter8,選擇使用的身份驗證設定檔。
圖 10、成功連線至 vCenter Server 管理平台
在第 3 個步驟中,管理人員可以提供其它使用者驗證資訊,以便稍後執行軟體清查和無代理程式相依性分析,總共支援 4 種使用者驗證資訊,分別是 Domain Credentials、Linux (Non-domain)、Windows(Non-domain)、SQL Server Authentication,舉例來說,準備遷移的 Windows Server 主機未加入網域環境,即可建立 Windows(Non-domain)的使用者驗證設定檔。現在,請按下最下方的 Start Discovery 鈕,系統便開始執行偵測和探索程序,在本文實作環境中,系統提示需要 16 分鐘即可完成探索程序(如圖 11 所示)。
圖 11、開始執行偵測和探索程序
當系統完成探索 VMware 主機或和叢集環境後,由於執行探索程序時,系統將會取得 VMware 主機中繼資料,屆時便會將探索完成的資料,顯示在 Azure Portal 入口網站當中。預設情況下,探索和偵測每台 VMware 主機大約需要花費 2 分鐘時間,並且每隔 12 小時會自動執行一次軟體清查作業,之後才會顯示在 Azure Portal 入口網站。
此外,在軟體清查期間,將會透過剛才所新增的伺服器認證逐一探索指定的 VMware 主機或叢集,並針對無代理程式相依性分析進行驗證。當探索和偵測作業完成後,系統會在 vCenter Server 主機的 Status 欄位狀態,從先前的 Validation successful 狀態改為 Discovery Initiated 狀態,在 Start Discovery 鈕旁,顯示探索完成的 Discovery has been successfully initiated 訊息,並提醒管理人員可以前往 Azure Portal 入口網站,查看詳細的探索資訊。
評估遷移至 Azure 公有雲
請在 Azure Portal 入口網站中,依序點選「Azure Migrate > Migration goals > Servers,databases and web apps > Assessment tools > Assess > Azure VM」項目,評估是否能將進行地端 VM 虛擬主機,遷移至 Azure 公有雲環境(如圖 12 所示)。
圖 12、評估地端 VM 虛擬主機是否能遷移至 Azure 公有雲環境
在第一階段 Basics 頁面中,評估類型下拉選單請選擇「Azure VM」項目,而探索來源下拉選單請選擇「Servers discovered from Azure Migrate appliance」項目,確保要進行評估的 VM 虛擬主機,是從地端的 Azure Migrate appliance 執行探索任務而來(如圖 13 所示)。
圖 13、建立準備遷移地端 VM 虛擬主機的評估作業
管理人員可以查看評估組態設定內容是否符合需求,倘若需要調整組態設定內容時,可以點選 Assessment settings 旁的 Edit,以便符合遷移需求:
- Target location: 選擇要將 VM 虛擬主機遷移至哪個 Azure 資料中心,本文實作為 Southeast Asia。
- Storage type: 選擇遷移的 Azure VM 虛擬主機,採用哪種虛擬硬碟類型,管理人員可依據 IOPS 儲存效能進行選擇,本文實作選擇 Premium SSD 和 Standard SSD 等級的虛擬硬碟類型。
- Savings options(Compute): 選擇採用的節省費用選項,可以採用 1 年或 3 年的 Azure 保留資源方案,或者是 1 年和 3 年的 Azure 節省費用方案,管理人員可依據 VM 虛擬主機的效能和工作負載,考量後選擇適合的節費方案即可。
- Sizing criteria: 選擇採用效能為主或依照地端部署進行評估作業。
- Performance-based: 採用效能為主進行評估作業時,系統會根據探索作業中收集到的 VM 虛擬主機效能資料進行評估,採用的 Azure VM 規模大小和 IOPS 儲存效能,並且選擇 Performance history 效能歷史資料週期,例如,1 天、1 週、1 個月,以及 Percentile utilization 使用率百分比,例如,50%-99%,預設值為 95%。
- As on-premises: 直接使用 VM 虛擬主機的組態設定,選擇和 Azure VM 規模大小和 IOPS 儲存效能相近的規格。
- VM series: 選擇採用的 Azure VM 規模和系列,例如,僅考量價格便宜的 A 和 B 系列,或僅考量記憶體最佳化的 E 和 M 系列的規模大小,預設值為選取所有適用的 VM 系列。
- Offer/Licensing program: 選擇 Azure 付費方案,例如,個人使用的 Pay-As-You-Go,或企業授權 EA 支援方案。
- Currency: 選擇 Azure 訂閱帳戶中,支付費用的貨幣,預設值為 US Dollar ( $ )。
- VM uptime: 填入屆時 Azure VM 的運作時間,預設為每個月 31 天,每天 24 小時。
- Already have a Windows Server license: 選擇是否已經具備 Windows Server 軟體授權。
- Security: 預設選擇為遷移後的 VM 虛擬主機,安裝 Microsoft Defender for Cloud。
在 2. Select servers to assess 頁面中,請在評估名稱欄位填入評估作業名稱和群組名稱,本文實作範例中,由於針對地端 IIS 網頁伺服器進行遷移,使用「VMware-IIS-AzureMigration」為評估名稱,以「Group-IIS-VMs」為群組名稱,勾選欲進行評估作業的地端 VM 虛擬主機(如圖 14 所示)。在 3. Rreview + create assessment 頁面中,再次檢視組態設定值內容,確認無誤後按下 Create assessment 鈕,系統立即進行 Azure VM 的評估和遷移工作任務。
圖 14、建立評估作業名稱和群組,並勾選準備評估的地端 VM 虛擬主機
一旦評估作業完成後,點選 Assessment Tools 區塊內的「Overview」選項,可以看到目前評估的 VM 虛擬主機數量為 1 台(如圖 15 所示),點選 Manage 下的 Assessments 選項,將會顯示遷移至 Azure VM 虛擬主機的建議評分,建議評分從最低的 1 顆星到最高的 5 顆星,評分越高代表遷移至 Azure 公有雲環境的可行性越高。
圖 15、查看地端 VM 虛擬主機評估作業結果
點選評估名稱在 Overview 頁面中,可以看到遷移至 Azure 環境的成本估算和概要資訊,點選左側 Azure readiness 項目,可以看到根據各項效能資料的分析後,遷移至 Azure 公有雲環境環境,只需採用「Standard_D1_v2」的 Azure VM 規模大小即可。值得注意的是,在先前評估作業中,選擇採用地端選項時,這裡便會建議採用「4 vCPU / 16GB vRAM」規格的 Azure VM 規模大小。
點選左側的 Cost details 項目,可以看到分析及建議採用的 Azure VM 規模大小,每月花費估算成本為多少費用,當評估的 VM 虛擬主機數量眾多時,可以按下 Export assessment 鈕,將評估作業結果匯出為 Excel 檔案(如圖 16 所示)。
圖 16、查詢遷移至 Azure 公有雲後各項建議和成本估算
無代理程式遷移
請在 Azure Migrate 頁面中,點選 Migration tools 內的 Discover 項目。首先,選擇「Yes,with VMware vSphere Hypervisor」項目,在詢問複寫方式時選擇「Using agentless replication」,由於已經部署 Azure Migration Appliance,所以選擇「Scale-out an existing primary appliance」即可,並選擇部署好的「AzureMA-VMware」。在產生遷移專案金鑰時,加上擴充 Azure Migration Appliance 的名稱後,按下 Generate key 鈕產生專案金鑰後,即可按下 Download 鈕,下載 Azure Migration Scale-Out Appliance (如圖 17 所示)。
圖 17、產生並下載 Azure Migration Scale-Out Appliance
下載解壓縮執行「AzureMigrateInstaller.ps1」後,在 PowerShell 視窗中顯示互動對話內容,管理人員依照環境回答,即可順利部署 Azure Migration Scale-Out Appliance,例如,採用的虛擬化技術、採用的 Azure 公有雲環境……等(如圖 18 所示)。在初始化頁面中,由於跟之前組態設定 Azure Migration Appliance 的步驟非常類似,所以便不再贅述,重點在於成功註冊至 Azure 公有雲環境即可。
圖 18、安裝和部署 Azure Migration Scale-Out Appliance
複寫至 Azure 公有雲
請在 Azure Portal 入口網站中,點選 Migration tools 中的 Replicate 項目,在 Specify intent 頁面中採用預設值即可,進入新的頁面,在 1.Basics 頁面中選擇 Yes,with Vmware vSphere 選項,並選擇剛才部署的 Azure Migration Scale-Out Appliance,在 2.Virtual machines 頁面中,選擇先前建立的「Group-IIS-VMs」群組,並勾選本文實作複寫的「IIS-WS2022」VM 虛擬主機。
在 3. Target settings 頁面中,選擇使用的 Azure 訂閱帳戶、資源群組、儲存體帳戶、虛擬網路……等資訊,以便屆時儲存複寫地端 VM 虛擬主機時的相關資訊。在 4. Compute 頁面中,填入 Azure VM 名稱、VM Size、OS Type……等資訊。在 5. Disks 頁面中,選擇地端 VM 虛擬主機中,需要複寫到 Azure VM 的磁碟。在 6. Tags 頁面中,填入名稱和值等 Tag 設定以便後續管理作業。最後,再次檢視組態設定是否正確無誤,確認後按下 Replicate 鈕執行複寫作業(如圖 19 所示)。
圖 19、複寫地端 VM 虛擬主機至 Azure 公有雲環境
開始執行複寫工作任務後,可以在 Azure Portal 入口網站,看到複寫資料的進度百分比(如圖 20 所示),或是地端 vCenter管理介面 Recent Tasks 中,看到重新組態設定 VM 虛擬主機,建立 VM 虛擬主機快照……等。
圖 20、複寫地端 VM 虛擬主機至 Azure 公有雲環境
遷移測試
一旦複寫完成後,在正式遷移到 Azure 公有雲運作之前,管理人員可以先執行測試遷移,以便確定遷移後 VM 能夠順利在 Azure 公有雲環境中正常運作。
請按下 Test Migration 鈕,選擇 Azure VM 在遷移後所要使用的 Azure 虛擬網路,一旦測試遷移運作後,會看到 Azure VM 尾碼有「-Test」字樣,便是測試遷移的 Azure VM 虛擬主機,確認 Azure VM 運作正常時,選擇 Clean up test migration 即可(如圖 21 所示)。
圖 21、測試遷移並清除測試遷移 VM 虛擬主機
遷移至 Azure 公有雲
現在,可以放執行遷移地端 VM 虛擬主機至 Azure 公有雲的動作。請勾選複寫 VM 虛擬主機清單中,確認進行遷移的 VM 虛擬主機後,按下 Migrate 鈕,並選擇「關閉」(Shutdown)地端 VM 虛擬主機,以避免在遷移期間資料不同步的情況發生。
當遷移狀態轉換為 planned failover finished 時,便是遷移程序執行完畢。確認能夠正常運作並看到 IIS 網頁後(如圖 22 所示),記得按下 Stop replication 停止複寫程序,讓複寫資源可以釋放給其它 VM 虛擬主機使用。此外,倘若需要 Public IP 進行存取的話,也僅需要建立 Public IP 後與 VM 虛擬主機進行關聯即可。
圖 22、順利將地端 VM 虛擬主機遷移至 Azure 公有雲繼續運作
結語
透過本文的深入剖析和實作演練後,除了理解 Azure Migrate 運作原理和架構之外,透過實作演練的方式,讓企業或組織能夠評估,地端資料中心內的 VMware VM 虛擬主機,是否能夠遷移並正確運作在 Azure 公有雲環境中。