將線上運作提供服務的實體機器轉換為虛擬機器,然後在虛擬化平台上運作的做法,稱之為P2V,而P2V又可細分為Hot Cloning與Cold Cloning兩種方式,本期將先說明Hot Cloning的實作程序,然後把Cold Cloning留到下一期再詳細介紹。
當轉換任務開始時,立即使用VMware vSphere Client連結至ESX/ESXi Host虛擬化平台,便會看到Converter Standalone轉換工具已經自動建立好虛擬主機。
此時若開啟該虛擬主機的Console畫面,便會看到正採用Linux ISO映像檔開機,並且在準備作業完成後,透過輔助虛擬機Hepler VM到實體機將資料拉回ESX/ESXi Host虛擬化平台上(圖17)。
|
▲圖17 虛擬主機正採用Linux ISO映像檔開機中。 |
測試轉換後的虛擬主機能否運作
預設情況下,P2V轉換作業完成後虛擬主機會關機,若此時實體主機仍在開機服務的情況下,而想要知道測試轉換後的虛擬主機能否運作,建議取消勾選該虛擬主機的網卡功能(Connect at power on),以避免虛擬主機開機後因為IP位址、主機名稱等等網路組態,與現在實體機相同造成衝突的情況(圖18)。
|
▲圖18 轉換後的虛擬主機,啟動前建議先關閉網卡功能。 |
將轉換後的CentOS虛擬主機開機之後,可能會看到令人失望的畫面,因為發生一則「Kernel panic – not syncing: Attempted to kill init !」錯誤訊息,整個開機程序中斷,並且無法進入作業系統(圖19)。
|
▲圖19 轉換後的虛擬主機無法開機進入作業系統(發生Kernel panic)。 |
詳細的解決方式請參考VMware KB-1002402文件,筆者將此問題的解決方式,分為下列四個步驟來說明:
將此虛擬主機關機(Power off),並重新以CentOS 5.7安裝光碟開機。接著,在CentOS開機畫面輸入「linux rescue」,進入救援模式(Rescue Mode),然後選擇「English」語系,採用「us」按鈕盤模式,並選擇「No」不設定網路組態,然後選擇「Continue」項目確定進入救援模式中。
順利進入救援模式後,輸入「chroot /mnt/sysimage」指令,將目前的檔案系統環境由光碟掛載點切換回虛擬主機的硬碟掛載點。接著,使用「ls /lib/modules」指令或「cat /etc/grub.conf」指令查看檔案內容來得知Linux核心版本(Kernel version),此實作中所查看到的核心版本為「2.6.18-274.el5PAE」(圖20)。
|
▲圖20 進入救援模式後查看核心版本資訊。 |
確認核心版本後,執行「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映像檔。 |
重新啟動後進入CentOS作業系統時,先設定解析度,設定完成後便會順利進入CentOS作業系統。此時可以看到原先在實體機上運作的Apache Web服務(圖22)也順利啟動了,而使用瀏覽器也可順利看到預設頁面(圖23),至此P2V轉換任務成功。
|
▲圖22 CentOS重新設定螢幕解析度後順利開機完成。 |
|
▲ 圖23 原本實體機上運作的Apache Web服務轉換成虛擬機後也運作無誤。 |
結語
本期文章一開始先解釋何謂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虛擬化平台之上。