網管人雜誌
本文刊載於 網管人雜誌第 206 期 - 2023 年 3 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。
本文目錄
前言前言
在 2022 年 2 月時,VMware 官方正式說明在產品下載清單中,已經將舊版 vCenter Converter 版本徹底移除,主要原因在於最後一版的 vCenter Converter 發佈於 2018 年 5 月,並且官方支援至 2019 年 12 月就已經正式結束,所以基於 vSphere 虛擬化環境中,整體工作負載的安全性和穩定性考量,便正式將舊版 vCenter Converter 版本移除。
然而,在當時的移除說明中,卻有補充說明 vCenter Converter 更新版本的開發工作已經在進行當中,但是並未承諾正式發佈的時間,僅說明屆時推出的 vCenter Converter 更新版本,除了具備安全性和穩定性之外,也將支援新世代版本的 vSphere 虛擬化平台。
幸運的是,經過半年之後 VMware 在社群論壇中,發佈更新的 vCenter Converter Beta 版本後,立即在一週內便獲得超過 1,500 名使用者註冊,並且在 2022 年 10 月發佈 vCenter Converter 6.3 正式版本,和過去舊版相同的便是支援「實體機轉虛擬機」(Physical to Virtual,P2V)、「虛擬機轉虛擬機」(Virtual to Virtual,V2V)……等特色功能,並且支援主流 vSphere 7 虛擬化平台,以及最新 Windows Server 2022 Hyper-V 虛擬化平台進行轉換作業(如圖 1 所示)。
圖 1、VMware vCenter Converter 運作架構示意圖
vCenter Converter 運作架構
來源端主機為 Windows 作業系統時
在 vCenter Converter 運作架構中,便是透過「熱複製」(Hot Cloning)技術,將運作中的來源端 Windows 主機,線上即時複製傳輸資料至 vSphere 虛擬化平台,以及重新組態設定後完成轉換作業。
vCenter Converter 支援轉換,安裝在實體機或 VM 虛擬主機中的 Windows 作業系統,支援的版本為客戶端的 Windows 8.1,10,11,以及伺服器端的 Windows Server 2012,2012R2,2016,2019,2022 版本。
在開始執行轉換作業之前,請先確保 vCenter Converter 主機、來源端 Windows 主機、目的端 vSphere 虛擬化平台之間,已經開啟並允許相關防火牆連接埠網路流量能夠通行,請開啟 TCP Port 139,443,445,902,9089、UDP Port 137,138,詳細資訊請參考 VMware KB 1010056 知識庫文章內容。
值得注意的是,來源端 Windows 主機使用 NetBIOS 的話,則無須允許 TCP Port 445 通過防火牆,倘若未使用 NetBIOS 的話,則無須允許 TCP Port 139、UDP Port 137,138 通過防火牆。
當轉換的來源端主機為 Windows 作業系統時,將會執行三個轉換程序。首先,擔任 vCenter Converter 角色的主機,將會為來源端主機準備 P2V 或 V2V 轉換作業,並在準備過程中透過取得的管理者帳號及密碼,為來源端主機 Windows 作業系統中,安裝 Converter Standalone Agent 代理程式,以便屆時能夠針對來源端主機的磁碟分割區,進行快照後執行資料傳輸作業(如圖 2 所示)。
圖 2、轉換來源端主機為 Windows 作業系統時,第一個轉換程序工作任務
第二個轉換程序工作任務,vCenter Converter 主機將會連線至目的端 vSphere 虛擬化平台,並透過取得的 vCenter Server 管理權限,建立和註冊 VM 虛擬主機,並且觸發來源端主機的代理程式,將來源端主機的磁碟分割區進行快照後,複製並傳輸到目的端主機當中(如圖 3 所示)。
值得注意的是,倘若「啟動」代理伺服器模式,則傳輸流量將會先回到 vCenter Converter 主機,再傳送至目的端主機,若是「停用」代理伺服器模式,則傳輸流量則會直接從來源端主機傳送至目的端主機。
圖 3、第二個轉換程序工作任務,來源端建立磁碟區快照後傳輸至目的端
第三個轉換程序工作任務,當資料傳輸作業完成之後,代理程式將會安裝 VM 虛擬主機作業系統所需要的相關驅動程式,並且執行客製化組態設定,例如,V2V 轉換作業完成後,將來源端主機中的代理程式移除……等(如圖 4 所示)。
圖 4、轉換作業最後工作任務,安裝相關驅動程式和客製化組態設定
來源端主機為 Linux 作業系統時
vCenter Converter 支援轉換,安裝在實體機或 VM 虛擬主機中的 Linux 作業系統,支援的發行版本為 CentOS 6.x/7.x、RHEL 6.x/7.x、Ubuntu 14.04/16.04 。
與轉換 Windows 作業系統不同,當轉換的來源端主機為 Linux 作業系統時,僅會執行二個轉換程序,主要差別在於轉換 Windows 作業系統時,vCenter Converter 主機會在來源端主機安裝代理程式,而轉換 Linux 作業系統時,則不會在來源端主機安裝任何代理程式。
在開始執行轉換作業之前,請先確保 vCenter Converter 主機、來源端 Linux 主機、目的端 vSphere 虛擬化平台之間,已經開啟並允許相關防火牆連接埠網路流量能夠通行,請開啟 TCP Port 22,443,902,詳細資訊請參考 VMware KB 1010056 知識庫文章內容。
第一個轉換程序工作任務,首先擔任 vCenter Converter 角色的主機,透過流程中取得的 SSH 連線管理者帳號及密碼,確認能夠與來源端主機通訊後,透過 vCenter Converter 主機內包含的 ISO 印象檔,在目的端 vSphere 虛擬化平台中,部署一台「輔助轉換虛擬主機」(Helper Virtual Machine),以便在稍後的轉換過程中擔任中介容器的角色(如圖 5 所示)。
圖 5、SSH 連線來源端主機並在目的端部署輔助轉換虛擬主機
輔助轉換虛擬主機順利部署並啟動後,將會透過 SSH 連線至來源端主機,並將管理人員選擇要轉換的磁碟區進行複製傳輸作業,當磁碟區資料傳輸作業完成後,執行重新組態設定工作任務,當轉換程序完成後,vCenter Converter 主機便會在目的端 vSphere 虛擬化平台中,關閉和刪除輔助轉換虛擬主機(如圖 6 所示)。
圖 6、執行來源端主機磁碟區資料傳輸和重新組態設定作業
支援的虛擬化平台版本
在最新版本的 vCenter Converter 運作架構中,支援轉換來源端的企業等級虛擬化平台版本,為 Hyper-V 2012 R2,2016,2019,2022,使用者等級的虛擬化版本,則支援 Hyper-V 10,11、VMware Workstation 16.x 和 VMware Fusion 12.x 。
至於支援轉換目的端的 vSphere 虛擬化平台,則是 vSphere 6.5,6.7,7.0 版本。雖然,官方並未條列支援最新的 vSphere 8.0 版本,但是本文實戰演練小節中,採用的便是最新 vSphere 8.0 版本,並且順利完成 Windows Server 2022 虛擬化平台中,VM 虛擬主機的轉換作業。
實戰 – V2V 轉換 Hyper-V 虛擬主機
在實戰演練小節中,來源端為 Windows Server 2022 Hyper-V 虛擬化環境,在 Hyper-V 虛擬化環境中,已經部署並運作一台 Windows Server 2022 作業系統的 VM 虛擬主機,該 VM 虛擬主機已經安裝和啟用 IIS 網頁伺服器,並且加入至「lab.weithenn.org」網域環境,至於 VM 虛擬主機連接的 Hyper-V 虛擬交換器名稱為「VMs-vSwitch」(如圖 7 所示)。
圖 7、Hyper-V 虛擬化平台中的 VM 虛擬主機
目的端則是最新的 vSphere 8.0 虛擬化環境,稍後便是將 Hyper-V 虛擬化環境的 VM 虛擬主機,透過 vCenter Converter 的「熱複製」(Hot Cloning)技術,將運作中的 VM 虛擬主機,線上即時複製並傳輸至 vSphere 虛擬化平台。
V2V Hot Cloning – Windows Server 2022
在本文實作環境中,於 Windows 10 主機中,安裝最新發佈的 vCenter Converter 6.3.0 版本。開啟 vCenter Converter 工具後,按下 Convert machine 鈕,在彈出的精靈對話視窗中於 Source System 頁面,首先請選擇準備轉換的來源端主機為開機中或是關機中,以及遠端主機為 Windows 或 Linux 作業系統,或是準備轉換的主機為本機系統。
vCenter Converter 支援安裝在 Windows 8.1/10/11,和 Windows Server 2012/2016/2019/2022 作業系統,不支援安裝在 Linux 作業系統。
在本文實作環境中,準備轉換 Hyper-V 虛擬化平台內運作中的 VM 虛擬主機,因此請選擇「Powered On」和「Remote Windows machine」項目,並在下方來源端主機資訊中,填入主機名稱和管理者帳號及密碼,本文實作主機名稱為「ws2022-web01」,管理者帳號為「lab.weithenn.org\Administrator」,確認無誤後按下「View source details」,此時 vCenter Converter 主機將會嘗試連結來源端主機(如圖 8 所示)。
倘若連結來源端主機失敗,請確認相關是否開啟並允許相關防火牆連接埠。
圖 8、vCenter Converter 主機連接至準備轉換作業的來源端主機
一旦連結來源端主機成功後,將會出現 vCenter Converter Standalone 代理程式部署選項,因為在轉換過程中必須為來源端主機安裝代理程式,所以讓管理人員選擇當轉換作業成功時,要如何處理代理程式,管理人員可以選擇轉換作業成功後自動移除代理程式,或是之後由管理人員手動移除代理程式,本文實作選擇「Automatically uninstall the files when import succeeds」項目,選擇完畢後系統便會為來源端主機安裝 vCenter Converter Standalone 代理程式。
順利為來源端主機安裝代理程式後,便會顯示來源端主機的詳細資訊,包括作業系統版本、記憶體空間、網路卡資訊、系統分割區……等,確認無誤後按下 Next 鈕進入下一個步驟。
在 Destination System 頁面中,Destination type 下拉式選單中,選擇 VMware Infrastructure virtual machine 項目,表示目的端為 vSphere 虛擬化環境,倘若要目的端為 VMware Workstation 或 Fusion 客戶端虛擬化環境時,請選擇其它項目。
在下方目的端主機資訊中,請填入主機名稱和管理者帳號及密碼,本文實作主機名稱為「vcenter8」,管理者帳號為「Administrator@lab.weithenn.org」,確認後按下 Next 鈕便會連接至 vCenter Server 管理平台,成功連結後將會出現憑證資訊,確認後便進入下一個轉換作業程序。
在 Destination Virtual Machine 頁面中,將會顯示來源端主機的 FQDN 名稱,以及剛才連結成功的 vCenter Server 管理平台,請管理人員選擇要將轉換後的 VM 虛擬主機,放置於哪個儲存容器當中,本文實作環境放置於名稱為「V2V-VMs」的資料夾內(如圖 9 所示)。
圖 9、將屆時 V2V 轉換後的 VM 虛擬主機存放於 V2V-VMs 資料夾內
在 Destination Location 頁面中,首先選擇轉換後的 VM 虛擬主機,要運作在哪個 vSphere Cluster 和 ESXi 虛擬化平台中,右側上方的 Datastore 下拉式選單中,則是選擇 V2V 轉換後的 VM 虛擬主機,所要使用的 Datastore 儲存資源,右側下方的 Virtual machine version 下拉式選單中,為選擇 V2V 轉換後的 VM 虛擬主機,使用的 VM 虛擬主機虛擬硬體版本,本文實作環境中採用最新的 ESXi 8 虛擬化平台,所以選擇採用最新的「Version 20」版本(如圖 10 所示)。
圖 10、選擇 V2V 轉換後的 VM 虛擬主機運算和儲存資源及虛擬硬體版本
在 Options 頁面中,可以針對 V2V 轉換後的 VM 虛擬主機內容進行調整,舉例來說,來源端的 VM 虛擬主機,原本配置 2 vCPU 和 8GB vRAM,但是在此頁面中卻變成僅配置 1 vCPU 和 1GB vRAM,管理人員便能按下 Edit 進行組態設定修改作業。
值得注意的是,VM 虛擬主機連接的 vSwitch 虛擬交換器組態設定,原本來源端 VM 虛擬主機,在 Hyper-V 虛擬化環境中連接至「VMs-vSwitch」,但是在 vSphere 虛擬化環境中並沒有這個名稱的 vSwitch 虛擬交換器,在本文實作中便將來源端 VM 虛擬主機,改為連接至 vSphere 虛擬化環境中,名稱為「V2V-vNetwork」的連接埠群組,並且採用和 vSphere 虛擬化平台深度結合的「VMXNET3」網路卡控制器(如圖 11 所示)。
圖 11、選擇連接的 vSwitch 虛擬交換器連接埠群組和網路卡控制器類型
在 Advanced options 選項中,管理人員可以啟用其中的資料同步設定,在 V2V 轉換作業完成後,由於轉換期間來源端主機的各項資料,有可能發生新增 / 修改 / 刪除等情況,啟用資料同步機制可以在 V2V 轉換作業完成後,觸發資料同步設定。此外,還可以設定 V2V 轉換作業完成後,是否要將來源端主機關機,或是目的端主機自動開機,以及安裝 VMware Tools……等動作,管理人員可以依據運作環境需求自行調整(如圖 12 所示)。
圖 12、組態設定 V2V 轉換作業完成後,自動幫 VM 虛擬主機安裝 VMware Tools
在 Summary 頁面中,檢查各項組態設定值是否正確無誤,確認後按下 Finish 鈕,系統便立即開始執行 V2V 轉換作業。在 vCenter Converter 工具視窗中,點選下方的 Task progress 頁籤,可以看到 V2V 轉換作業的詳細資訊,同時也可以看到轉換進度和系統預估剩餘的轉換時間(如圖 13 所示)。
圖 13、開始 V2V 轉換作業並查看相關資訊
此時,管理人員也可以同步切換至 vCenter Server 管理介面,點選下方的 Recent Tasks 頁籤,可以看到 vCenter Converter 主機,已經透過剛才鍵入的 vCenter Server 管理者帳號密碼資訊,連接至 vCenter Server 管理平台,並且新增和註冊 V2V 虛擬主機(如圖 14 所示)。
圖 14、vCenter Converter 順利新增和註冊 V2V 虛擬主機
經過一段轉換和傳輸時間之後,V2V 轉換作業順利完成,管理人員可以點選 Summary 頁籤,查看 V2V 轉換時來源端 Hyper-V 虛擬主機資訊,以及 V2V 轉換後目的端 vSphere 虛擬主機資訊,和自訂重新組態設定的部份,例如,V2V 轉換成 vSphere 虛擬主機後,系統直接安裝 VMware Tools 並顯示完成工作任務(如圖 15 所示)。
圖 15、順利完成 V2V 轉換作業
測試 V2V 虛擬主機能否正常運作
一般情況下,即便 V2V 轉換完成後,也不應該冒然直接將轉換後的 vSphere 虛擬主機開機,舉例來說,在本文實作環境中,Hyper-V 虛擬化平台中的 VM 虛擬主機仍開機中,倘若直接將 vSphere 虛擬化平台中的 VM 虛擬主機開機,那麼將會發生 IP 位址和電腦名稱衝突的情況。
此外,因為 VM 虛擬主機運作在不同的虛擬化平台,所以網路卡類型也重新組態設定過,所以網路卡 MAC 位址也將會不同,所以立即將來源主機直接關機的話,將會發現目的端主機發生問題,主要原因在於底層網路交換器和路由器,必須重新學習這個新出現的網路卡 MAC 位址,在學習到之前都很有可能發生網路連線不正常的情況。
因此,建議先將轉換後的 vSphere VM 虛擬主機,設定將網路卡連線功能取消,確認 VM 虛擬主機是否能夠順利開機、VMware Tools 是否正確運作、IIS 網頁伺服器服務是否正常運作……等。請在 vCenter 管理介面中,點選該台 VM 虛擬主機並且編輯設定,在 Virtual Hardware 頁籤中展開 Network Adapter 選單,取消勾選「Connect At Power On」選項後,按下 OK 鈕套用生效(如圖 16 所示)。
圖 16、取消勾選 Connect At Power On 選項,停用 VM 虛擬主機網路卡
順利開機後,雖然已經將 VM 虛擬主機網路卡功能停用,但仍能採用 lab.weithenn.org 網域管理者帳號登入,主因在於 V2V 轉換作業剛完成,尚能透過網域登入快取機制順利登入系統,成功登入系統後請確認相關系統組態設定是否正常,VMware Tools 服務是否啟動,以及本文實作的 IIS 網頁伺服器服務是否正常啟動。
請開啟命令提示字元,鍵入「netstat -na | find ":80"」指令,檢查 IIS 網頁伺服器服務是否 Listen TCP Port 80,然後開啟瀏覽器在網址列鍵入「http://localhost/」,透過連結 Loopback 的方式查看 IIS 網頁內容(如圖 17 所示)。
圖 17、檢查 IIS 網頁伺服器服務是否 Listen TCP Port 80 並查看 IIS 網頁內容
回到 vCenter 管理介面中,可以看到 VM 虛擬主機作業系統版本順利辨識,並且 VMware Tools 運作正常(如圖 18 所示),雖然 IP 位址顯示 169.254.x.x,主因便是我們停用 VM 虛擬主機網路卡連線導致,確認 VM 虛擬主機連接的 vSwitch 連接埠群組,以及相關組態內容無誤後,便可以將 VM 虛擬主機關機。
圖 18、透過 vCenter 管理介面確認 VM 虛擬主機組態設定
確認 V2V 轉換後的 VM 虛擬主機運作無誤後,便可以在安排的維護時間中,將來源端 Hyper-V 虛擬化平台中的 VM 虛擬主機關機,將 vSphere 虛擬化平台中的 VM 虛擬主機開機,倘若希望能夠減少底層網路交換器和路由器,重新學習 VM 虛擬主機的 MAC 位址時間,可以重新組態設定 VM 虛擬主機 MAC 位址。
舉例來說,本文實作環境來源端 Hyper-V 虛擬化平台 VM 虛擬主機,其 MAC 位址為「00:15:5D:4B:24:00」,在 vCenter 管理介面中,點選該台 VM 虛擬主機並編輯設定,在 Virtual Hardware 頁籤中展示 Network adapter 選單,勾選「Connect At Power On」選項後,在 MAC Address 欄位,將預設值 Automatic 改為「Manual」,然後鍵入 MAC 位址「00:15:5D:4B:24:00」,確認無誤後按下 OK 鈕套用生效(如圖 19 所示)。
圖 19、啟用網路卡連線功能並設定 MAC 位址
成功開機並順利登入後,可以看到這台 VM 虛擬主機,除了能順利透過 DC 網域控制站,查詢 DNS 記錄之外,也能透過 FQDN 順利連接 IIS 網頁伺服器服務(如圖 20 所示)。
圖 20、V2V 轉換後的 VM 虛擬主機,重新回到企業網路繼續服務
至此,V2V 轉換作業順利完成,將原本運作於 Hyper-V 虛擬化平台中的 VM 虛擬主機,轉換為 vSphere 虛擬化平台的 VM 虛擬主機後繼續運作。
IP 位址已被 Hyper-V Network Adapter 佔用?
倘若,管理人員發現 IP 位址變成 DHCP 自動取得,嘗試組態設定回原有的固定 IP 位址時,Windows 作業系統卻出現資訊提示視窗,說明組態設定的固定 IP 位址,已經被先前的 Microsoft Hyper-V Network Adapter 虛擬網路卡所使用(如圖 21 所示)。
圖 21、系統顯示原有固定 IP 位址已被先前的 Hyper-V 網路卡所使用
雖然,可以按下 Yes 鈕強制設定,但也將為系統埋下日後不穩定的因素,那麼該如何解決這個問題 ?請管理人員開啟裝置管理員,並展開 Network Adapters 選項後,將會發現系統並沒有顯示,剛才說明的 Microsoft Hyper-V Network Adapter,請點選上方「View > Show hidden devices」後,再次查看便會顯示 Microsoft Hyper-V Network Adapter,請點選右鍵選擇「Uninstall device」,讓系統移除這個裝置,因為這台 VM 虛擬主機已經完全運作在 vSphere 虛擬化平台中,不再需要 Hyper-V 虛擬網路卡(如圖 22 所示)。
圖 22、移除 Microsoft Hyper-V Network Adapter 網路卡