参考文献:

背景:

     原先最早是使用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: http://pan.baidu.com/s/1c0vjaPa ,用于将ova文件转换成vmware ovf的文件,最后能够得到
  2. Microsoft Checksum Verify utility : http://pan.baidu.com/s/1qWO6Khu ,用户查看文件的SHA1值。
  3. notepad++:用户编辑.ovf文件。

virtualbox导出ova文件

 

Vware OVF Tool转化ova文件

安装Vware OVF Tool以后,在cmd中进入到Vware OVF Tool目录,我这里的目录是: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-</vssd:VirtualSystemType> 

再将

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

修改为

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

最后一个需要修改的,是我们玩玩没有想到的声卡配置,将

     <Item>
<rasd:AddressOnParent></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></rasd:InstanceID>
<rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType>
<rasd:ResourceType></rasd:ResourceType>
</Item>

修改为

     <Item ovf:required="false">
<rasd:AddressOnParent></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></rasd:InstanceID>
<rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType>
<rasd:ResourceType></rasd:ResourceType>
</Item>

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

我们知道.mf文件当中记录了和redmine-disk1.vmdk这两个文件的SHA1值,只是用于文件校验的,因为之前我们修改过了.ovf文件,所以.mf文件中的SHA1值与真实的.ovf文件的SHA1值不同,这样在导入ovf的时候vmware会报错。
这里我们通过Microsoft Checksum Verify utility来求.ovf文件的SHA1值。
由上图得知,redmine.ovf文件的SHA1值为:eb32d890a64fa86fcebb8142a197de0d9faabe7a。然后我们打开.mf文件,如下图所示,
 
将其中的SHA1(redmine.ovf)修改为我们刚刚得到的SHA1值 。

通过vSphere Client将部署ovf模板

迁移以后的修改

迁移以后,打开虚拟机电源,可能会碰到网卡不适配的问题,请参看另一篇博客解决:

 
 

最新文章

  1. ASCII码而已
  2. JS 数组迭代方法
  3. oracle参数配置
  4. vue之自定义指令directive
  5. hadoop 2.6全分布安装
  6. The Imitation Game
  7. uniGUI试用笔记(十五)通过URL控制参数
  8. WM_SIZE
  9. I.MX6 Linux、Jni ioctl 差异
  10. 开元硬件平台 Arduino
  11. LeetCode 231
  12. crtmpserver的安装,摄像头视频测试
  13. svn:revert to this version 和 revert changes from this version的区别 假设我们有许多个版本,版本号分别是1-10
  14. 开发移动端web应用, 使用手机自带键盘的搜索按钮
  15. jquery字体更改后的鼠标-影像学改变//凝视内容
  16. 网络叠加模式VLAN、VxLAN、GRE
  17. arcpy.mapping-认识arcpy.mapping
  18. Digital Tutors - Creating an Action Adventure Puzzle in Unity学习笔记
  19. 【Centos】解决设置JAVA_HOME不断失效问题
  20. 前端工程构建工具FIS3

热门文章

  1. JsonView Tool
  2. 从头学Qt Quick(3)-- 用QML写一个简单的颜色选择器
  3. JS思维之路菜鸟也能有大能量(1)--模拟push
  4. java中图片文件的传输及显示(Socket以及ServerSocket演示)
  5. Java -- 根据当前日期获取当前一周的所有日期
  6. 如何在shell中打印出带颜色的字符?
  7. [Python]爬虫v0.1
  8. sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 &quot;sa&quot; 无法在当前安全上下文下访问数据库 &quot;dbname&quot;。
  9. 无锁数据结构(Lock-Free Data Structures)
  10. css知识