網管人雜誌
本文刊載於 網管人雜誌第 79 期 - 2012 年 8 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。文章目錄
1、前言2、何謂 P2V (Physical to Virtual)?
3、實作環境
4、VMware vCenter Converter 版本
5、Converter Standalone 運作元件
6、Converter Standalone 5.0 新功能
7、P2V (Hot Cloning) – Windows OS
8、P2V (Hot Cloning) – Linux OS
9、實作 P2V (Hot Cloning) – Linux OS
10、測試轉換後的虛擬主機能否運作
11、結語
1、前言
在以往要將老舊系統主機搬移到新採購的主機上,總是窒礙難行或者說是不可能的大工程!! 然而現在虛擬化技術風潮盛行,因此在許多企業內部中已經都建置了虛擬化環境 (例如 VMware vSphere、Microsoft Hyper-V、Citrix XenServer…等),因此我們可以透過 P2V (Physical to Virtual) 工具,輕鬆將線上運作的老舊系統主機進行轉換任務後成為虛擬機器 (Virtual Machine),遷移到虛擬化平台環境上繼續運作,因此您不在需要擔心老舊系統硬體損壞造成線上服務中斷,並且通常轉換為虛擬機器後效能將會更加順暢 (因為虛擬化平台中不論 CPU 或 Memory 皆比老舊主機資源豐富,並且可以進行彈性調整!!),最重要的是當老舊系統主機在轉換為虛擬主機的過程中,實體主機的服務仍然正常運作中,並且即使轉換作業失敗也不會影響到原有系統的運作。
圖1、VMware vCenter Converter 運作架構示意圖
2、何謂 P2V (Physical to Virtual)?
將線上運作提供服務的實體機器 (Physical Machine),轉換為虛擬機器 (Virtual Machine) 後在虛擬化平台上運作的動作稱之,其中又可以細分為 Hot Cloning 與 Cold Cloning 二種。Hot Cloning 的轉換作業為「服務不中斷」的前提之下為實體主機進行轉換作業,而 Cold Cloning 則是實體主機必須要關機或重新啟動後 (網路斷線,無法提供服務!!),才能進行轉換作業。
圖2、Hot Cloning 運作架構示意圖
圖3、Cold Cloning 運作架構示意圖
3、實作環境
4、VMware vCenter Converter 版本
VMware vCenter Converter 共分為二種版本分別是 Integrated 及 Standalone,其中 Integrated 版本為 vCenter Server Plug-in 格式可以整合至 VMware vCenter Server 內,因此在操作便利性及功能支援度上較好,但是此版本必須要額外購買商業授權後才可以安裝及使用,而本文將採用免費授權的 Standalone 版本進行說明及實作,以下為針對二種版本的特色功能比較:5、Converter Standalone 運作元件
vCenter Converter Standalone 雖然是可以獨立運作的轉換工具,但看似簡單的轉換作業其實是依靠許多元件協同合作所完成,預設情況下所有運作元件都安裝於同一台主機上,若是您想將個別的運作元件拆開安裝的話您可以於安裝過程中,於選擇安裝元件視窗時選擇「Client-Server installation (advanced)」項目,接著您就可以選擇僅安裝哪些運作元件,並且設定轉換過程中所採用的加密 Port 號 (預設採用 443),以及轉換 Windows 主機時 Agent 的運作 Port 號 (預設採用 9089),相關運作元件及功能說明如下所述:
- Converter Standalone Server: 負責執行虛擬主機的匯入 (Import) 及匯出 (Export) 作業,其中還包含了 Converter Standalone worker 並且在安裝時一定會伴隨 Converter Standalone Server 一起安裝,約佔用 300MB 磁碟空間。
- Converter Standalone Agent: Converter Standalone Server 會將欲進行 P2V 轉換的 Windows 主機,安裝此一 Agent 以進行轉換作業 (請注意!! Linux 主機並不會安裝 Agent,而是採用建立 Helper VM 的方式),並且於轉換作業完成後可自動或手動移除,約佔用100MB 磁碟空間。
- Converter Standalone Client: 包含用戶端介面,提供轉換過程中的設定以及連接行為,並且能夠管理轉換作業及設定任務,約佔用 25 MB 磁碟空間。
圖4、選擇個別安裝 VMware vCenter Converter Standalone 運作元件
6、Converter Standalone 5.0 新功能
目前最新的 VMware vCenter Converter Standalone 版本為 5.0,除了原有的功能改良及臭蟲修正之外,還新增許多其它功能例如 轉換的實體主機作業系統為 Linux 時,並且採用 LVM (Logical Volume Manager) 作為分割設定的話,在轉換作業時將會保留設定並且順利轉換,同時在轉換過程中將會針對磁碟以及分割區進行優化的動作,搭配加密傳輸的方式在來源端以及目的端之間進行資料傳送作業有效保障資料安全,同時在整個轉換過程中會啟動多個同步任務,以加快整個資料同步作業有效縮短轉換時間,最後在此版本中除了支援將 VCB 備份印象檔進行還原之外,在網路功能上還支援新一代的網路協定 IPv6,透過上述的相關機制使轉換完成後的虛擬主機在虛擬化平台上運作更為順暢。
您可以將 VMware vCenter Converter Standalone 5.0安裝於如下 Windows 版本當中 (目前尚未支援安裝於 Linux 作業系統上):
- Windows XP Professional、Vista、7 (32-bit and 64-bit)
- Windows Server 2003 SP2、R2 (32-bit and 64-bit)
- Windows Server 2008 (32-bit and 64-bit)
- Windows Server 2008 R2 (64-bit)
雖然 VMware vSphere 虛擬化平台支援種類繁多的作業系統,但是 VMware vCenter Converter Standalone 轉換工具,並非能將市面上所有的作業系統都轉換為虛擬機器格式後在虛擬化平台上運作,以下為 VMware 官方針對 Converter Standalone 5.0 版本中所支援 P2V 的作業系統清單,例如 此次進行 P2V 轉換實作的實體主機 CentOS 作業系統,雖然與 Red Hat Enterprise Linux 作業系統系出同門,但是在轉換成為虛擬機器後,一開始是無法順利運作的 (發生 Kernel Panic),必須經過適當的修復作業後才能在虛擬化平台上運作,因此建議您在轉換作業執行前確認一下支援清單是比較保險的轉換方式:
- Windows XP Professional SP3 (32-bit and 64-bit)
- Windows Vista SP2 (32-bit and 64-bit)
- Windows 7 (32-bit and 64-bit)
- Windows Server 2003 SP2, R2 (32-bit and 64-bit)
- Windows Server 2008 SP2 (32-bit and 64-bit)
- Windows Server 2008 R2 (64-bit)
- Red Hat Enterprise Linux 2.x、3.x、4.x、5.x (32-bit and 64-bit)
- SUSE Linux Enterprise Server 8.x、9.x、10.x、11.x (32-bit and 64-bit)
- Ubuntu 8.x、9.x、10.x (32-bit and 64-bit)
7、P2V (Hot Cloning) – Windows OS
在 P2V 轉換作業執行以前,先了解 VMware vCenter Converter Standalone 轉換工作會在實體機器上,以及在屆時的虛擬化平台上進行哪些相關任務,將對於整個轉換過程中要注意的事項以及後續的轉換除錯上都將非常有幫助,例如 轉換工具會為 Windows 作業系統安裝 Agent 之後,把實體機的資料「推送 (push)」到目的端 (虛擬化平台) 上。首先說明轉換的實體機器若作業系統為 Windows 時整個 P2V 轉換流程:
1. 安裝了 VMware vCenter Converter Standalone 轉換工具的 Windows 主機,首先在「來源端 (Windows OS 實體機)」上安裝 Converter Standalone Agent,接著 Agent 會將目前實體機器的系統狀態透過「快照 (Snapshot)」機制建立一份複本,以確保等一下轉換作業執行時實體機器的線上服務不會中斷 (如圖 5 所示)。
圖5、P2V (Hot Cloning) Windows OS 轉換過程 – 階段一
圖6、P2V (Hot Cloning) Windows OS 轉換過程 – 階段二
3. 當 Converter Standalone Agent 將實體機器上的快照複本資料,主動傳送到 ESX/ESXi Host 虛擬化平台完畢後,Agent 接著安裝相關的虛擬驅動程式 (Virtual Driver),以及修改轉換過程中所設定的相關組態 (例如 硬碟空間、網路資訊…等),最後當整個 Hot Cloning 轉換作業完成後,來源端 (Windows OS 實體機) 會自動將 Agent 移除或後續您自行手動移除 (如圖 7 所示)。
圖7、P2V (Hot Cloning) Windows OS 轉換過程 – 階段三
以下為 P2V (Hot Cloning) Windows 作業系統時,企業中運作的防火牆需要針對 Converter Standalone 轉換工具、來源端 (Windows OS 實體機)、目的端 (ESX/ESXi Host 虛擬化平台),所需要開放的協定以及連接埠 Port 號,其中若企業網路環境內有使用 NetBIOS 的話則不需要開放 Port 445,若未使用 NetBIOS 的話則不需要開放 Port 137、138、139: (詳細資訊請參考 VMware KB-1010056)
8、P2V (Hot Cloning) – Linux OS
與 Windows 作業系統不同的轉換方式,若轉換的實體機器為 Linux 作業系統時,並非如同 Windows 主機般安裝 Agent 後,主動將資料傳送到虛擬化平台上,而是先在 ESX/ESXi Host 虛擬化平台上,由 Agnet 觸發建立一台「輔助虛擬機 (Helper VM)」後,由輔助虛擬機去把來源端實體主機上,將資料「提取 (pull)」回來到 ESX/ESXi Host 虛擬化平台中,以下為整個轉換流程說明:1. 首先確認安裝 Converter Standalone 轉換工具的 Windows 主機,能透過 SSH 協定連線到來源端 (Linux OS 實體機) 後,此時 Converter Standalone Agent 會觸發目的端 (ESX/ESXi Host 虛擬化平台),自動建立一台輔助虛擬機 (Helper VM),此時 ESX/ESXi Host 虛擬化平台會使用內建的 Linux ISO 映像檔 (converter-helper-vm.iso),作為開機媒介來啟動這一台輔助虛擬機 (Helper VM),以準備稍後的轉換任務 (如圖 8 所示)。
圖8、P2V (Hot Cloning) Linux OS 轉換過程 – 階段一
2. 輔助虛擬機 (Helper VM) 使用 Linux ISO 映像檔啟動完成之後,便會透過 SSH 協定連接到來源端實體機 (Linux OS),接著便開始將來源端的磁碟資料開始拉回到目的端 (如圖 9 所示)。
圖9、P2V (Hot Cloning) Linux OS 轉換過程 – 階段二
3. 資料複製作業完成之後,接著會修改轉換過程中所設定的相關組態 (例如 硬碟空間、網路資訊…等),整個 Hot Cloning 轉換作業完成後,便執行關機作業並且將輔助虛擬機的 Linux ISO 映像檔進行卸載。
以下為 P2V (Hot Cloning) Linux 作業系統時,企業中運作的防火牆需要針對 VMware vCenter Converter Standalone 轉換工具、來源端 (Linux OS 實體機)、目的端 (ESX/ESXi Host 虛擬化平台),所需要開放的協定以及連接埠 Port 號,其中若企業網路環境中沒有建置 VMware vCenter 環境的話則不需要開放 Port 902、903: (詳細資訊請參考 VMware KB-1010056)
9、實作 P2V (Hot Cloning) – Linux OS
安裝 VMware vCenter Converter Standalone 轉換工具完成後,若是安裝於 Windows Vista、7 時請記得以「系統管理員身分執行」開啟轉換工具,否則在稍後的轉換作業中將會運作至 1% 進度時,發生「error :020010005」錯誤導致轉換作業中斷失敗的狀況 (詳細資訊請參考 VMware KB-1028293)。
圖10、未以系統管理員身分執行開啟 Converter Standalone 而發生失敗
要進行 P2V (Hot Cloning) 作業請開啟轉換工具後按下「Convert machine」項目,接著在來源端設定視窗中請於 Select source type 下拉式選單中選擇「Powered-on machine」項目,而在「A remote machine」區塊中,則請輸入要進行轉換作業的實體機 (Linux OS) 資訊,此次實作中 CentOS 實體主機 IP 位址為 「10.10.25.118」,並輸入可登入管理的帳號及密碼,而 OS Family 下拉選單則選擇至「Linux」即可 (如圖 11 所示)。
圖11、選擇及輸入來源端 (Linux OS) 資訊
確認輸入資訊無誤後請按下「Next」鍵,此時轉換工具便會先嘗試能否以 SSH (Port 22) 協定連線至實體主機上,若連線成功溝通無誤將出現 SSH 安全訊息以及取得實體機資訊,以確認稍後的轉換作業運作無誤 (如圖 12 所示)。
圖12、Converter Standalone 轉換工具可順利連線至來源端主機
接著在目的端設定視窗中請於 VMware Infrastructure server details 區塊中,輸入屆時要運作虛擬機器的 ESX/ESXi Host 虛擬化平台資訊,此次實作中 ESXi Host 虛擬化平台其 IP 位址為 「10.10.25.119」,並輸入管理帳號及密碼後確認輸入資訊無誤請按下「Next」,此時轉換工具會嘗試能否以 SSL (Port 443) 協定連線至虛擬化平台,若連線成功溝通無誤後將出現憑證安全訊息請按下「Ignore」鍵即可,以確認稍後的轉換作業運作無誤 (如圖 13 所示)。
圖13、Converter Standalone 轉換工具可順利連線至目的端主機
當 Converter Standalone 轉換工具順利與目的端主機 (ESXi Host) 溝通後,接著您會在 Inventory for 區塊中看到虛擬化平台上目前運作的虛擬主機狀況 (此實作環境中虛擬化平台運作四台虛擬主機),請在 Name 欄位中輸入您屆時希望將目前實體主機轉換成虛擬主機後,在虛擬化平台上顯示的「虛擬主機名稱 (此實作輸入 CentOS57)」,確認後按下「Next」鍵即可 (如圖 14 所示)。
圖14、設定轉換作業完成後屆時的虛擬主機名稱
確認虛擬主機名稱後,接下來為選擇此虛擬主機屆時要存放在虛擬化平台上的何處「儲存資源」,請於 Datastore 區塊中依照您目前實體主機的磁碟空間,選擇適合擺放在虛擬化平台上的儲存資源,本次實作為存放於虛擬化平台本機磁碟「datastore1」中,而在 Virtual machine version 區塊中,則是選擇屆時此台轉換後的虛擬主機所採用的「虛擬機版本」,其中版本 Version 4 為運作於舊版 ESX 3.x 虛擬化平台,而 Version 7 為運作於 ESX /ESXi 4.x 虛擬化平台,最後 Version 8 則是運作於目前最新版 ESXi 5.x,而在 Inventory 區塊中如果一開始連結的目的端是 VMware vCenter 主機,則此區塊中將顯示可用的 ESX/ESXi Host,因為本實作為直接連結 ESX/ESXi Host,因此此區塊中只有一台 ESX/ESXi Host (ESXi5.weithenn.org) 可供選擇,相關資訊確認無誤後按下「Next」鍵即可 (如圖 15 所示)。
圖15、選擇虛擬主機儲存空間及 Virtual machine version
請注意!! 新版本的虛擬化平台可以「向下相容」運作舊版的 Virtual machine version,但舊版的虛擬化平台則不支援運作新版本的 Virtual machine version,舉例來說您無法將 Version 8 的虛擬主機運作於 ESX /ESXi 4.x 虛擬化平台之上,並且虛擬機器的 Virtual machine version 一旦選定後便無法改變。
最後則是當您將實體主機轉換成虛擬主機後是否進行其它組態設定,例如 為轉換後的虛擬主機增加硬碟、增加網路卡、設定當轉換任務完成後將來源端主機自動關機、設定當轉換任務完成後自動將虛擬主機開機 (預設為關機)、設定輔助虛擬機 Helper VM 網路設定...等,一般來說除非有特殊需求否則採用預設值即可,相關資訊確認無誤後按下「Next」鍵,便出現此轉換任務的相關設定值再次確認無誤後按下「Finish」鍵,便立即進行 P2V Hot Cloning 任務 (如圖 16 所示)。
圖16、虛擬主機其它進階組態設定
當轉換任務開始時,您可以立即使用 VMware vSphere Client 連結至 ESX/ESXi Host 虛擬化平台,您便會看到 Converter Standalone 轉換工具已經自動建立好虛擬主機,並且開啟該虛擬主機的 Console 畫面後,便會看到應該正採用 Linux ISO 映像檔開機並且當準備作業完成後,透過輔助虛擬機 Hepler VM 去實體機拉資料回來至 ESX/ESXi Host 虛擬化平台上 (如圖 17 所示)。
圖17、虛擬主機正採用 Linux ISO 映像檔開機中
10、測試轉換後的虛擬主機能否運作
預設情況下 P2V 轉換作業完成後虛擬主機會關機,若此時實體主機仍在開機服務的情況下,而您想要測試轉換後的虛擬主機能否運作,建議您取消勾選該虛擬主機的網卡功能 (Connect at power on),以避免虛擬主機開機後因為 IP 位址、主機名稱...等網路組態,與現在實體機相同造成衝突的情況 (如圖 18 所示)。
圖18、轉換後的虛擬主機,啟動前建議先關閉網卡功能
當您將轉換後的 CentOS 虛擬主機開機之後,可能會看到令人失望的畫面,就是發生了「Kernel panic – not syncing : Attempted to kill init !」這樣的錯誤訊息,整個開機程序中斷並且無法進入作業系統 (如圖 19 所示)。
圖19、轉換後的虛擬主機無法開機進入作業系統 (發生 Kernel panic)
詳細的解決方式請參考 VMware KB-1002402 文件,筆者將此問題的解決方式,分為下列 4 個步驟進行說明:
1. 請將此虛擬主機關機 (Power Off),並重新以 CentOS 5.7 安裝光碟開機,於 CentOS 開機畫面輸入「linux rescue」進入救援模式 Rescue Mode,接著選擇「English」語系 >> 採用「us」鍵盤模式 >> 選擇「No」不設定網路組態 >> 選擇「Continue」項目確定進入救援模式中。
2. 順利進入救援模式後請輸入「chroot /mnt/sysimage」指令,將目前的檔案系統環境由光碟掛載點,切換回虛擬主機的硬碟掛載點,接著使用「ls /lib/modules」指令,或「cat /etc/grub.conf」指令查看檔案內容來得知 Linux 核心版本 (kernel version),此實作中所查看到的核心版本為「2.6.18-274.el5PAE」 (如圖 20 所示)。
圖20、進入救援模式後查看核心版本資訊
3. 確認核心版本後執行「cd /boot」指令切換目錄,接著備份原本的 Ramdisk 映象檔之後,便可執行指令「mkinitrd –v –f initrd-2.6.18-274.el5PAE.img 2.6.18-274.el5PAE」,重新建立 Ramdisk 映象檔,接著輸入二次「exit」指令退出救援模式,此時系統便會重新啟動,請退出 CentOS 5.7 安裝光碟即可 (如圖 21 所示)。
圖21、重新建立 Ramdisk 映象檔
4. 重新啟動後進入 CentOS 作業系統時,首先會請您設定解析度,設定完成後便會順利進入 CentOS 作業系統,此時可以看到原先在實體機上運作的 Apache Web 服務 (如圖 22 所示),也順利的啟動了,並且使用瀏覽器也可順利看到預設頁面 (如圖 23 所示),P2V 轉換任務成功 !!
圖22、CentOS 重新設定螢幕解析度後順利開機完成
圖23、原本實體機上運作的 Apache Web 服務轉換成虛擬機後也運作無誤
11、結語
在本中首先解釋何謂 P2V (Physical to Virtual) 的概念,接著採用 VMware vCenter Converter Standalone 免費轉換工具,來實作將線上運作於實體機的 CentOS 作業系統,以及運作於其上的 Apache Web 服務進行 P2V Hot Cloning 轉換作業,順利遷移到 ESXi 5.0 虛擬化平台上運作。
在下一篇文章中,將會說明以及實作如何透過 CloneZilla 備份工具,來達成 P2V Cold Cloning 的轉換作業,並且也將實作採用 Converter Standalone 免費轉換工具,將運作於 Microsoft Hyper-V 虛擬化平台上的 CentOS 虛擬主機,轉換其格式後運作於 VMware vSphere ESXi 虛擬化平台上。