参考文献:
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?
准备工作:
下载一下工具,其中前连个我已经放到网盘当中。
- Vware OVF Tool:链接: 百度云盘 密码: gik6,用于将ova文件转换成vmware ovf的文件,最后能够得到
- 使用系统自带命令查找 :
certutil -hashfile yourfilenameaddress MD5
certutil -hashfile yourfilenameaddress SHA1 #这条是关键,其他命令是扩展
certutil -hashfile yourfilenameaddress SHA256
其中yourfilenameaddress代表想查看文件的路径地址(包含后缀)
- notepad++:用户编辑.ovf文件。
virtualbox导出ova文件
![](https://i-blog.csdnimg.cn/blog_migrate/e43a278c413deff40356a37a8fd35a48.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3c896ebe3e5bc05a0504cfb71f673e7a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d04a9ae1f56662e3842342136f7a8dfe.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8db62bdd44d3e415fc274b5403d6d6cc.png)
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"
上述命令执行完毕以后,我们可以得到三个文件
- redmine.mf SHA1 Info File
- redmine.ovf Configuration file
- 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值。
![](https://i-blog.csdnimg.cn/blog_migrate/9e268abe9adccdd09ed0ddcd7e7f5fba.png)
由上图得知,redmine.ovf文件的SHA1值为:566cf1aefa2bf1d5cb3d8b1ae5c87e5980fb5d4f。然后我们打开.mf文件,如下图所示,
![](https://i-blog.csdnimg.cn/blog_migrate/fce22248b06579b94de65b81c4db3a93.png)
将其中的SHA1(redmine.ovf)修改为我们刚刚得到的SHA1值 。
通过vSphere Client将部署ovf模板
![](https://i-blog.csdnimg.cn/blog_migrate/8756795a9a34eb3ad40264b7d5f55f8c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/40d646f431e42000dedc410c0be2a357.png)
![](https://i-blog.csdnimg.cn/blog_migrate/80ed54d4164035e85aaedcd2c532b3b2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/42281705897cbca548105cb9e9f1c466.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6c700fa0b5516fda32df4b05f3877bdd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/49f4a52547237770a1ce25e7ba4bb06d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0c52df32a535465bc0c9beea6c2f6d02.png)
完成即可
迁移以后的修改
迁移以后,打开虚拟机电源,可能会碰到网卡不适配的问题,请参看另一篇博客解决:
virtualbox虚拟机迁移出现"connot find device eth0"错误
转自:http://jingpin.jikexueyuan.com/article/32042.html