(源自網絡)P2V實體轉虛擬

參考
http://wiki.osslab.org.tw/實驗專案/Virtualization/VMware_Infrastructure_3/Advanced/P2V

P2V 是Physical-to-virtual縮寫,代表將實體機器轉換成虛擬機的方法

參考
http://www.vmware.com/products/converter/faqs.html

熱備份
不關機影響原有服務狀況下,對運作中OS做P2V轉換

冷備份
須脫離原有運作OS,從啟進入專用備份系統與軟體.

1.冷開機P2V 有下面種方法

  一. 以Besr 或Trueimage 正版做備份

  二. 啟動VMware P2V( VMware vCenter Converter ) BootCD 2.12   Boot ISO  (需要正版授權)

2.熱開機P2V

   一.使用免費Converter 軟體,可適用於 Linux/Windows OS。
       最新版本 Converter Installer for Windows Version 4.0.1 | 161434 - 05/21/09
        http://www.vmware.com/products/converter/get.html

   二.以試用版Besr 做轉換. 目前最佳方式
       方法
       本站相關介紹


FAQ
使用 Converter 做完 P2V 後,如何移除 Windows(guest os) 原先安裝的 HP Proliant Support Pack(PSP) 的那些 agent 工具
Ans:
請參考 VMware 討論串:Anyone have a script to remove all the HP/Compaq agents after conversion

原系統為 Linux + IDE 硬碟安裝,目的端為 ESX Server,做完 P2V 後無法開機
(用專業軟體 Linux Besr 軟體是否可以解決這問題 待測)

原因:這是因為 ESX 的 VM 只支援 SCSI 虛擬硬碟,當作完 P2V 程序後,原始的實體 IDE 硬碟會被轉換為虛擬的 SCSI 硬碟,但 Linux 仍是 IDE 的設定,所以若不作手動修改,是無法正常開機的。

解決:就 Linux 的標準開機流程,要修改 IDE 為 SCSI 的設定大致可分為兩個部份,一為 Boot Loader 也就是 Grub,另一個則是開機時的 SCSI 驅動。
要執行下列的操作,因為此時系統是無法開機的,所以請使用可開機的 Linux 系統光碟檔,例如 Ubuntu Live CD、Knoppix、SystemRescue CD,或者也可以用 RedHat 安裝光碟,以 Rescue 模式操作。本例是以 SystemRescue CD 為主要救援工具,此工具的取得及說明,請參考官網。

第一部份)
在 VM 設定掛上 SystemRescue CD 光碟檔,並使其由光碟開機,進入 Shell 模式後,

//找出系統目前的磁碟名稱
#>fdisk -l

//手動寫入 MRR
#>grub
grub>root (hd0,0)
grub>setup (hd0)
grub>quit

PS. 在 root (hd0,0) 設定,要選擇正確的 /boot 磁區位置。

第二部份)
如果完成第一部份後,仍無法正常開機,請繼續下一步。
在 VM 設定掛上 SystemRescue CD 光碟檔,並使其由光碟開機,進入 Shell 模式後,

//修改系統的設定為支援 SCSI 磁碟
//列出各磁區位置,並正確識別每個磁區的用途
#>fdisk -l

sda1 --> /boot
sda2 --> swap
sda3 --> /

//掛載系統的 / 及 /boot 磁區
#>mkdir /mnt/sda1
#>mkdir /mnt/sda3
#>mount /dev/sda3 /mnt/sda3
#>mount /dev/sda1 /mnt/sda3/boot

//執行 chroot 變換根目錄
#>chroot /mnt/sda3

//重建可支援 SCSI 的開機映像檔
#>vi /etc/modules.conf

*加上這一行
alias scsi_hostadapter mptscsih

#>cd /boot
#>mkinitrd initrd-x.x.x-x-vm.img x.x.x-x

PS. x.x.x-x 這是實際系統的核心版號。

//離開,重開機試試
#>sync;sync;sync
#>exit
#>reboot

系統做完 P2V 後,開機出現 Kernel panic - not syncing: Attempted to kill init!
解決方法:

- Virtual machine does not boot after being converted from a physical RedHat machine
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1002402

- Troubleshooting the boot failure of a Linux virtual machine converted from a physical computer
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1010241