關於在win系統上將virtualbox的虛擬轉移到VMware的exsi的方法之一

參考文獻:

http://www.itsecurenet.com/virtualbox-ova-to-vsphere-ovf/
http://www.techrepublic.com/blog/Windows-and-office/how-do-i-convert-virtualbox-files-to-work-with-vmware-workstation/

背景:

     原先最早是使用virtualbox這款免費的虛擬機,後來公司購買了vmware產品,因此需要將virtualbox上面的虛擬機遷移到vcenter當中。我們知道virtualbox和vmware都可以導入導出ova/ovf( Open Virtual Machine Format),但是這兩個產品都沒有嚴格按照ovf標準,因此從virtualbox當中導出的ova不能直接導入到vmware當中。

環境

virtualbox:4.3.8
vmware vCenter Server:5.5
被遷移虛擬機:ubuntu 12.04

問題:

     如何將virtualbox ova轉化成vsphere vmware ovf?

準備工作:

下載一下工具,其中前連個我已經放到網盤當中。
  1. Vware OVF Tool:鏈接: 百度雲盤 密碼: gik6,用於將ova文件轉換成vmware ovf的文件,最後能夠得到
  2. 使用系統自帶命令查找 :

    certutil -hashfile yourfilenameaddress MD5

    certutil -hashfile yourfilenameaddress SHA1            #這條是關鍵,其他命令是擴展

    certutil -hashfile yourfilenameaddress SHA256

    其中yourfilenameaddress代表想查看文件的路徑地址(包含後綴)

  3. notepad++:用戶編輯.ovf文件。

virtualbox導出ova文件

 



Vware OVF Tool轉化ova文件

安裝Vware OVF Tool以後,在cmd中進入到Vware OVF Tool目錄(使用cd命令進入),我這裏的目錄是:C:\Program Files\VMware\VMware OVF Tool,執行命令:
ovftool.exe --lax <source.ova>  <destination.ovf>

比如當前我執行的命令如下:

ovftool.exe --lax "D:\OVA_File\ova_file\redmine\redmine.ova" "D:\OVA_File\ova_file\redmine\redmine.ovf"   

上述命令執行完畢以後,我們可以得到三個文件

  1. redmine.mf     SHA1 Info File
  2. redmine.ovf     Configuration file
  3. redmine-disk1.vmdk     Virtual Hard drive

修改.ovf文件使其與vmware匹配

我們知道上面通過Vware OVF Tool轉化得到的.ovf文件當中記錄了虛擬機的各項參數,但是裏面的有些參數是與vmware不配置的,所以我們需要使用notepad++來修改其中的內容。
修改.ovf文件,將
<vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType>

修改爲

<vssd:VirtualSystemType>vmx-07</vssd:VirtualSystemType> 

再將

     <Item>          <rasd:Address>0</rasd:Address>          <rasd:Caption>sataController0</rasd:Caption>          <rasd:Description>SATA Controller</rasd:Description>          <rasd:ElementName>sataController0</rasd:ElementName>          <rasd:InstanceID>5</rasd:InstanceID>          <rasd:ResourceSubType>AHCI</rasd:ResourceSubType>          <rasd:ResourceType>20</rasd:ResourceType>        </Item>

修改爲

      <Item>          <rasd:Address>0</rasd:Address>          <rasd:Caption>SCSIController</rasd:Caption>          <rasd:Description>SCSI Controller</rasd:Description>          <rasd:ElementName>SCSIController</rasd:ElementName>          <rasd:InstanceID>5</rasd:InstanceID>          <rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>          <rasd:ResourceType>6</rasd:ResourceType>        </Item>

最後一個需要修改的,是我們玩玩沒有想到的聲卡配置,將

     <Item>          <rasd:AddressOnParent>3</rasd:AddressOnParent>          <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>          <rasd:Caption>sound</rasd:Caption>          <rasd:Description>Sound Card</rasd:Description>          <rasd:ElementName>sound</rasd:ElementName>          <rasd:InstanceID>8</rasd:InstanceID>          <rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType>          <rasd:ResourceType>35</rasd:ResourceType>        </Item>

修改爲

     <Item ovf:required="false">          <rasd:AddressOnParent>3</rasd:AddressOnParent>          <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>          <rasd:Caption>sound</rasd:Caption>          <rasd:Description>Sound Card</rasd:Description>          <rasd:ElementName>sound</rasd:ElementName>          <rasd:InstanceID>8</rasd:InstanceID>          <rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType>          <rasd:ResourceType>35</rasd:ResourceType>        </Item>

修改.mf文件.ovf文件的SHA1值

我們知道.mf文件當中記錄了和redmine-disk1.vmdk這兩個文件的SHA1值,只是用於文件校驗的,因爲之前我們修改過了.ovf文件,所以.mf文件中的SHA1值與真實的.ovf文件的SHA1值不同,這樣在導入ovf的時候vmware會報錯。
這裏我們通過certutil來求.ovf文件的SHA1值。
由上圖得知,redmine.ovf文件的SHA1值爲:566cf1aefa2bf1d5cb3d8b1ae5c87e5980fb5d4f。然後我們打開.mf文件,如下圖所示,
 
將其中的SHA1(redmine.ovf)修改爲我們剛剛得到的SHA1值 。

通過vSphere Client將部署ovf模板 





完成即可

遷移以後的修改

遷移以後,打開虛擬機電源,可能會碰到網卡不適配的問題,請參看另一篇博客解決:


轉自:http://jingpin.jikexueyuan.com/article/32042.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章