使用vmware vconverter從物理機遷移系統到虛擬機P2V(多圖)


本文完整記錄了如何從物理服務器,保持所有環境配置信息,紋絲不動的遷移到虛擬機上,俗稱 P2V 。采用的工具是VMware公司的 VMware vcenter vconverter standalone,它支持將windows和linux操作系統用作源,可以執行若干轉換任務:

  • 將正在運行的遠程物理機和虛擬機作為虛擬機導入到vCenter Server管理的獨立ESX/ESXi或ESX/ESXi主機
  • 將由VMware Workstation或Microsoft Hyper-V Server托管的虛擬機導入到vCenter Server管理的ESX/ESXi主機
  • 將第三方備份或磁盤映像導入到vCenterServer管理的ESX/ESXi主機中
  • 將舊版服務器遷移到新硬件,而不重新安裝操作系統或應用程序軟件等
  • 完整功能見《Converter Standalone 用戶指南》

Converter Standalone的組件,只能安裝在Windows操作系統上:

  • Converter Standalone Server —— 啟用並執行虛擬機的導入和導出
  • Converter Standalone agent —— Converter Standalone Server會在Windows物理機上安裝代理,從而將這些物理機作為虛擬機導入,完成后可以選擇自動刪除
  • Converter Standalone client —— 與Converter服務端配合使用,包括看到的用戶界面、創建和管理轉換任務等
  • Vmware vCenter Converter引導CD:是單獨的組件,可用於在物理機上執行冷克隆

冷克隆可以創建一致的源計算機的精確副本,而我們更多的是進行熱克隆,也就是源服務器在遷移過程中會繼續工作,這就可能會出現某些文件不一致,但Converter Standalone會在熱克隆后將目標虛擬機與與主機同步,同步執行過程是將在初始克隆期間更改的塊從源復制到目標。

本文記錄的過程是,源主機是 SUSE 11.x 物理機,運行華為的智能呼叫中心應用,因此安裝有Oracle數據庫,對於數據文件和控制文件的一致性和安全性較高,所以建議先把oracle數據庫關閉再操作;目標虛擬服務器是 ESXi 5.1,但我使用的Converter是 5.5-en,操作過程類似。下面正式開始

源主機:172.30.31.0/24
ESXi: 172.29.88.0/24,與源主機IP段無法通信
Helper VM: 172.29.41.0/24,與上面兩個IP段都通

1. 設置源和目的主機地址

vmware-converter-0.png

  • Source System

選擇你要轉換的源系統,物理機為 Powered-on machine,填寫其他登陸信息:
vmware-converter-1.png

  • Destination System
    填寫要在哪個主機上創建虛擬機,也就是ESXi服務器地址:
    vmware-converter-2.png
    這兩個過程有個簡短的拉去主機信息的過程。

2. 選擇目標虛擬機和存放位置

  • Destination Virtual Machine
    目標虛擬機名字默認是源hostname,不用選擇folder:
    vmware-converter-3.png

  • Destination Location

選擇新虛擬機要放在ESXi的哪個Datastore上,請確保有足夠的磁盤空間,不能小於源系統實際使用的大小:
vmware-converter-4.png

3. 為轉換任務設置其它選項

這一步尤為關鍵,直接關乎后面轉換的成敗。

  • Data to copy
    設置目標虛擬機的磁盤和分區,我們可以看到自動獲取的源分區信息,我這里因為硬盤資源有限,沒有遵循默認的 Maintain size,但比Minmun size(在源SUSE下 df -h 看到的used大小)大。
    vmware-converter-5.png
    CPU個數和內存大小默認也是與源主機保持一致。

  • Network
    網絡設置這一塊比較糾結。按理說源主機不需要與目的主機的網卡通信,只需要與Helper VM能互通即可,但我一直卡在這走不過去。源主機有2塊網卡在使用,最后在這一步只設置了一塊能ping同源主機的網卡,遷移完成后再手動添加劑一塊網卡。如下是vmware官方知識庫的Note:

In the Conversion wizard, ensure to select the virtual machine portgroup when configuring the network card. This virtual machine portgroup must be connected to the physical network that is routable via port 22 (SSH) in both directions from the source Linux server’s configured network IP address.
The IP address entered must be routable to the IP address of the physical Linux source machine. Helper virtual machine IP address should able to ping the physical machine.

vmware-converter-6-1.png

圖中看到VM Local是事先在vSphere Server上新建的端口組(portgroup),而且這個虛擬交換機vSwitch沒有關聯任何物理網卡:
vmware-converter-exsi-1.png

  • Helper VM network
    Helper VM是做轉換時的一個臨時操作系統,運行在目的主機上,從源主機拷貝數據。如果轉化的時windows,則沒有這個vm,取而代之的時再源主機上運行一個agent,所以轉換windows要求ESXi與源主機能互通,而轉換Linux則只需要設定的Helper VM network能與源主機22端口互通即可。
    vmware-converter-6-2.png

4. 開始轉換

可以看到轉換的信息匯總,finish則開始遷移轉換過程。
vmware-converter-7.png
vmware-converter-8-1.png
vmware-converter-8-2.png

測試在ESXi上可以看到會自動創建一台虛擬機並啟動。等待轉換完成。

5. 問題

轉換幾次失敗都是因為網絡設置不當,轉換到1%時報錯:
vmware-converter-9.png

Error:event.ObtainHelperVmIpFailedEvent.summary

解決辦法就是手動設置HelperVm的IP,並確保能夠與源主機通信。如果繼續報錯,修改目標地址網卡設置,比如去除只剩一個網卡(后續添加),也設置成HelpVm網段。參考 Convert: converter.fault.HelperVmFailedToObtainIpFault 。

轉換Windows Server 2003時還有可能會出現

1
2
3
Unable tp locate the required Sysprep files. Please upload them under
c: \documents and settings\all users\application data\vmware\vmware vcenter converter standalone\sysprep\svr2003
on the converter server machine

 

解決辦法是,需要下載WindowsServer2003-KB926028-v2-x86-CHS.exe,在cmd下執行WindowsServer2003-KB926028-v2-x86-CHS –x(不可以用winrar),解壓縮出來2個目錄加一堆文件,在SP2QFE目錄下找到deploy.cab,再將deploy.cab解壓縮(winrar即可),得到10個文件,拷貝到所提示的 svr2003 目錄。參考 Sysprep文件位置和版本 (2040984)

6. on windows

加入遷移的是windows主機,上面的操作略有不同,主要區別在於沒有HelperVm,而是在需要轉換的源主機上安裝agent。所以要求ESXi與源主機必須能夠直接通信才可以遷移。

參考:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM