把ESXi中的虚拟机通过OVA/OVF导出的方式迁移到Proxmox 5

一、前言

    之前发现ESXi是免费的时候,非常兴奋地把几台服务器都装上了,用着确实还行,但是用久了之后就发现,很多高端功能需要进一步付费才能使用,比如HA等。另外就是它还有很多局限性,比如账号权限配置、只能在windowns下用客户端登录、无法记住登录账号密码等,这些我来说,变得越来越不可忍受。

    经过长时间的寻找,从XenServer到更加强大的OpneClound,都有了解甚至尝试去搭建试用,发现它们不是功能太有限就是搭建和维护难度太大,最终确定了一款叫Proxmox VE的软件,可以算是开源软件,免费使用免费升级,安装超级简单(可以下载iso像安装linux一样用u盘光盘之类来安装),而且有web管理端,常用功能直接在web就可以搞定,进阶功能又可以用命令行完成,使用一段时间后深得我心。现在要把之前在ESXi中的虚拟机迁移过去,因为在网上找到的资料都不完整,特此记录一下。值得注意的是本文的方法只能在Proxmox 5 以上版本使用,我在4.4上试过,发现没有qm importovf命令。

二、导出ova 

首先第一步是从ESXi的管理客户端vSphere Client中把要迁移的虚拟机关机,然后选中它,在菜单“文件”-“导出”-“导出OVF模板”,然后格式选择“单个文件(OVA)”,等待导出完成。这个方法好像会把虚拟机硬盘未使用部分压缩起来,会比原来的vmdk文件小很多,如果你虚拟机的硬盘不是使用满了的话。

三、上传到目标主机

    然后就是把ova文件上传到proxmox到主机。可以用winscp,也可以用web端。用web端的时候,在web左侧选择“文件夹视图”,然后展开“存储”,选中一个可以上传镜像的存储,比如“local(pve1)”,其中pve1是你的主机名字,在右边选择“内容”-“上传”即可。这里有一个技巧,因为上传的只能是iso或者容器模板,这里选择iso,然后把之前的ova文件加上一个iso后缀就可以上传成功了。

四、解压

    用ssh客户端或者直接在web上登录你上传iso的主机,找到上传的ova文件,先用tar解压,例如上传的是vm01.ova.iso,则解压命令如下:

tar xvf vm01.ova.iso

解压成功之后会得到以下文件:

1.一个ovf文件,这个文件包含了虚拟机的硬件配置,例如cpu规格、内存等。

2.一个或多个vmdk文件,这些是虚拟机的硬盘镜像,数量取决于虚拟机有多少个硬盘。

五、导入

    最后使用命令把ovf导入到proxmox中。命令如下:

qm importovf 999 vm01.ovf local --format qcow2

其中:

    999 是虚拟机的id,在proxmox所有虚拟机中要唯一,是一个3位数字。

    vm01.ovf 是tar解压出来的ovf文件

    --format qcow2 是指定导入后硬盘镜像的格式,默认是raw格式。

六、后记

    导入成功后发现网卡好像没有成功导入,可以在保持导入的虚拟机关机的情况下手动添加相应的网卡,如果需要保持mac地址不变的话,可以先在vsphere client中把相应的网卡mac复制出来,添加的时候再用复制出来的mac填进去即可。

 

七、补充

有些用EFI引导的系统(现在大部分新出来的系统都是这种)迁移过来会需要更多设置才可以用。我有一台centos 6.7就是用EFI引导的,一开始没弄清门路死活引导不起来,后来经过对EFI原理https://blog.youkuaiyun.com/yx06a1203/article/details/52946535进行详细了解发现,只需要简单设置就可以跑起来。

首先需要要在web配置页面中,在“选项”栏中把BIOS的值改成“OVMF(UEFI)”,再从“硬件”栏给该虚拟机加上一个“EFI磁盘”,该磁盘的作用跟电脑主板上的NVRAM差不多,就是用来存储EFI的配置信息,例如启动项列表。如果没有这个磁盘,每次配置好启动项之后,只要虚拟机一关,配置信息就会消失。

然后在虚拟机启动的时候按下“ESC”键进入所谓的“BIOS”配置界面,依次选择“Boot Maintenance Manager”->"Boot Options"->"Add Boot Option",接着会出来若干个包含了EFI分区的硬盘(一般是1个),回车键选中该硬盘,依次选择目录"<EFI>"->"redhat"->"grub.efi",这时候会出来一个填写启动项信息的界面,我在"Input the description"中填写了“centos6.7”,然后选中"Commit Changes and Exit"。这个时候直接返回了“Boot Options”界面,选中菜单"Change Boot Order"进行启动项顺序的调整,把之前新添加的"<centos6.5>"调到最上面即可。然后选择"Commit Changes and Exit"返回刚才的界面,接着一直按“ESC”出去到最外面的界面,选择"Continue"就会成功出现centos的启动菜单了。

<think>好的,我现在需要帮助用户了解OVA文件的导入导出方法。首先,我得先理解用户的问题。用户提到了几个引用,都是关于VMware、Proxmox VE虚拟机导入导出的内容。用户想知道如何操作OVA文件,包括导入和导出的使用方法。 首先,我应该从OVA的基本概念开始解释。OVA是开放虚拟化格式的打包文件,通常用于分发虚拟机。用户可能需要知道OVAOVF的区别,比如OVA是单个文件,而OVF可能包含多个文件。根据引用3,用户提到导出时手动将OVF改为OVA,这说明用户可能对两者的转换有疑问,需要解释清楚。 接下来,导出OVA文件的方法。根据引用1和3,VMware ESXi和Workstation使用OVFTool来导出OVA。用户可能需要步骤指导,比如在VMware中如何操作,是否需要使用命令行工具。引用3提到导出OVF然后手动改后缀,这可能是一个常见做法,但需要注意是否正确。 然后是导入OVA文件的部分。这里需要涵盖不同平台,比如VMware ESXiProxmox VE。引用2提到Proxmox使用qm命令导入,可能需要详细说明步骤,包括创建虚拟机、调整参数等。同时,用户可能想知道如何处理UEFI模式的虚拟机,引用2提到了这一点,所以需要包括进去。 还需要考虑兼容性问题,比如不同虚拟化平台的支持情况,以及导入时可能遇到的配置调整,比如磁盘格式、网络设置等。此外,用户可能想知道最佳实践,比如导入前检查OVA内容,或者如何处理导入后的配置。 然后,根据用户提供的引用,我需要正确引用来源。比如引用1关于使用OVFTool导出,引用2关于Proxmox导入,引用3关于导出OVA的方法。确保每个步骤都有对应的引用,避免误导用户。 最后,生成相关问题。这部分需要涵盖用户可能进一步询问的内容,比如工具的使用、不同平台的导入方法、常见问题处理等。确保问题能够帮助用户深入理解OVA文件的操作。 现在需要组织这些信息,用清晰的结构分点说明,同时遵循用户给出的格式要求,比如行内公式用$...$,独立公式用$$...$$,不过这个问题可能不需要数学公式。使用中文回答,确保语法正确,引用标识自然添加在段落末尾。 检查是否有遗漏点,比如OVAOVF的区别、具体步骤中的命令行示例、注意事项等。确保覆盖用户可能需要的所有操作步骤和常见问题解答。</think>### OVA 文件操作指南 #### 一、OVA 文件简介 OVA(Open Virtual Appliance)是虚拟机的打包格式,基于开放虚拟化格式(OVF)规范,将虚拟机配置、磁盘文件等整合为单个文件,便于分发和迁移[^3]。与OVF(多文件格式)相比,OVA更易于管理。 --- #### 二、导出 OVA 文件 **1. VMware ESXi/Workstation 导出** - **步骤**: 1. 安装 VMware OVF Tool(集成于 VMware Workstation 或单独下载)[^1]。 2. 在 ESXi 界面选择虚拟机 → 右键“导出OVF”。 3. 手动将导出的 `.ovf` 文件后缀改为 `.ova`(将多个文件合并为单一文件)。 - **命令行示例**(通过 OVF Tool): ```bash ovftool vi://username@esxi-host/VM-name ./output.ova ``` **2. 注意事项**: - 导出前关闭虚拟机以保证数据一致性。 - 检查磁盘格式(如厚置备/精简置备)对文件大小的影响。 --- #### 三、导入 OVA 文件 **1. VMware ESXi 导入**: - **图形界面**: 1. 登录 ESXi Web Client → 导航到“虚拟机” → 选择“创建/注册虚拟机”。 2. 选择“从OVFOVA文件部署” → 上传并验证文件。 - **命令行**(通过 OVF Tool): ```bash ovftool --acceptAllEulas ./input.ova vi://esxi-host/ ``` **2. Proxmox VE 导入**(支持 UEFI 模式): - **步骤**: 1. 解压 OVA 文件获取 `.ovf` 和 `.vmdk`。 2. 使用 `qm` 命令创建虚拟机并挂载磁盘: ```bash qm create 108 --name "Win-Server" --efidisk0 local-lvm:1 --bios ovmf qm importdisk 108 ./disk.vmdk local-lvm qm set 108 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-108-disk-0 ``` 3. 调整 CPU、内存等参数后启动虚拟机[^2]。 --- #### 四、兼容性与常见问题 1. **格式转换**: 若目标平台不支持OVA(如 Hyper-V),需通过工具(如 `qemu-img`)将 `.vmdk` 转换为 `.vhdx`: ```bash qemu-img convert -O vhdx input.vmdk output.vhdx ``` 2. **UEFI 支持**: Proxmox 需在虚拟机配置中指定 `--bios ovmf` 并挂载 EFI 磁盘[^2]。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值