引用地址:https://blog.csdn.net/zebra2011/article/details/83046841

一、前言
    之前发现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.csdn.net/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的启动菜单了。
---------------------
作者:Dolf2014
来源:CSDN
原文:https://blog.csdn.net/zebra2011/article/details/83046841
版权声明:本文为博主原创文章,转载请附上博文链接!

把ESXi中的虚拟机通过OVA/OVF导出的方式迁移到Proxmox 5的更多相关文章

  1. 关于vmware虚拟机的ova/ovf转换成aws上的AMI镜像

    很多时候,我们会有这样的需求,需要将DC中vmware虚拟化的服务器,迁移到aws上,我们就得先将vmware虚拟机导出,然后转换 关于vmvare虚拟的导出备份,一般有ova(Open Virtua ...

  2. 如何设置ESXi中的虚拟机随主机一同启动?

    笔者新装了几台ESXi的主机, 其中一台上面运行着一台安装了vCenter的虚拟机.  笔者一路默认, 也没改什么设置. 在试图解决其他问题的过程中, 笔者重启了ESXi. 后来发现vCente登不进 ...

  3. ESXi中的虚拟机如何使用U盘和加密Key

    最近想在虚拟机中的主机使用通讯加密key来部署专门用于转发和加密的通讯前置机.故查询测试一下是不是能识别. 第一步:在虚拟宿主机上添加USB控制器,右键单击目标虚拟机,选中"编辑设置&quo ...

  4. ESXI中 Linux虚拟机不重启扩展磁盘

    1.首先对虚拟机进行编辑设置 硬盘大小进行修改到80G: 2.在Linux系统中查看磁盘大小 此时并没有什么变化: 3. 上面没有变化的原因,是因为需要重新扫描存储设备的scsi总线: 找到scsi磁 ...

  5. vmware vSphere client中,选择文件->部署OVF模板,报错处理方法

    在vmware vSphere client中,选择文件->部署OVF模板,选择指定的OVA文件,按步骤进行,则会出现这样的错误:此OVF软件包使用了不受支持的功能.OVF软件包需要不支持的硬件 ...

  6. [转载]在Vmware ESXI中安装群晖Synology DSM 5.0 (4528)

    转载 在Vmware ESXI中安装群晖Synology DSM 5.0 (4528) 文件准备 Vmware ESXi用户安装需要的文件 NB_x64_5032_DSM_50-4528_Xpenol ...

  7. VMware ESXi CentOS Linux虚拟机安装VMware Tools教

    转自VMware ESXi CentOS Linux虚拟机安装VMware Tools教程 | 一米居 http://www.yimiju.com/articles/548.html 最近一周在学习和 ...

  8. 如何在 vmware esxi 中开放 VNC功能及端口实现远程管理 完整篇

    VMWare esxi中开放 VNC功能及端口实现远程管理 完整篇 在多个论坛上看了相关文章,总的写得不完整.现将各方资源整编写完整版.详文如下! (图片来自51CTO) 步骤1. 修改ESXi主机的 ...

  9. 在Windows Server 2012 R2的Hyper-V中设置虚拟机启用增强会话模式

    在Windows Server 2012 R2的Hyper-V中,可以为虚拟机提供一种全新的连接方式,就是“增强会话模式”,它将让您更加方便的对虚拟机进行操作,比如分辨率的调整.设备的加载,最为方便的 ...

随机推荐

  1. 关于mui前端传值,springboot后台接收值的问题

    最近做app,使用mui的ajax给后台传参,后台一直接收不到值,表示很蛋疼.这里通过网上搜索加上个人实践,总结归纳了三种前端传值和后台接收的方式. 第一种: 前端: data: JSON.strin ...

  2. Git原理与命令大全

    Git (wiki: en  chs )是一个免费开源的分布式版本控制系统,由linux内核作者linus Torvalds开发,大型开源项目linux kernel.Android.chromium ...

  3. python3 完全理解赋值,浅copy,深copy 通过地址详细理解~

    额...老规矩,先来一天NLP再说,也没几条了. 十,在任何一个系统里,最灵活的部分是最能影响大局的部分 灵活便是有一个以上的选择,选择便是能力,因此最灵活的人便是最有能力的人. 灵活来自减少只相信自 ...

  4. MySQL教程之concat以及group_concat的用法

    本文中使用的例子均在下面的数据库表tt2下执行: 一.concat()函数 1.功能:将多个字符串连接成一个字符串. 2.语法:concat(str1, str2,...) 返回结果为连接参数产生的字 ...

  5. [Swift]LeetCode1034.边框着色 | Coloring A Border

    Given a 2-dimensional grid of integers, each value in the grid represents the color of the grid squa ...

  6. MySQL命令窗口下中文显示乱码的解决过程

    在dos客户端输出窗口中查询表中的数据,还有项目部署到服务器上时前台的页面,中文数据都显示成乱码,如下图所示: 这个问题困扰了我一天,后来解决了才发现原来我的方向错了,一直我以为是SpringBoot ...

  7. mysql的学习笔记(七)

    1.自定义函数,函数可以返回任意类型的值,同样可接说这些类型的参数. CREATE FUNCTION function_name RETURNS {STRING|INTER|REAL|DECIMAL} ...

  8. rabbitmq实现延时队列(死信队列)

    基于队列和基于消息的TTL TTL是time to live 的简称,顾名思义指的是消息的存活时间.rabbitMq可以从两种维度设置消息过期时间,分别是队列和消息本身. 队列消息过期时间-Per-Q ...

  9. Java中实现多线程的四种方式

    Java多线程实现方式主要有四种:继承Thread类.实现Runnable接口.实现Callable接口通过FutureTask包装器来创建Thread线程.使用ExecutorService.Cal ...

  10. Spring基础系列-Web开发

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9996902.html SpringBoot基础系列-web开发 概述 web开发就是集成 ...