引用地址: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. SQL server 表信息查询

    一.查看所有表的行数select a.name as '表名',b.rows as '表数据行数'from sysobjects a inner join sysindexes bon a.id = ...

  2. Windows Server 2016-客户端退域的三种方法

    前边我们提到了客户端加域的操作方法,本章为大家补充域客户端退域的操作过程,包含图形化.netdom remove.Powershell三种方法,具体内容如下: 图形化退域方法: 1.Win键,计算机右 ...

  3. Windows7下chm文件打不开

    从网上下载的CHM文件在Windows7系统中无法显示内容,是因为Windows7系统中的浏览器下载的文件是被默认为锁定的,所以打开以后是无法显示里面的具体内容的,解决的办法: 选中这个CHM文件: ...

  4. 基于Spring和Mybatis拦截器实现数据库操作读写分离

    首先需要配置好数据库的主从同步: 上一篇文章中有写到:https://www.cnblogs.com/xuyiqing/p/10647133.html 为什么要进行读写分离呢? 通常的Web应用大多数 ...

  5. 一个比Spring Boot快44倍的Java框架!

    最近栈长看到一个框架,官方号称可以比 Spring Boot 快 44 倍,居然这么牛逼,有这么神奇吗?今天带大家来认识一下. 这个框架名叫:light-4j. 官网简介:A fast, lightw ...

  6. 细说mysql索引

    本文从如何建立mysql索引以及介绍mysql的索引类型,再讲mysql索引的利与弊,以及建立索引时需要注意的地方 首先:先假设有一张表,表的数据有10W条数据,其中有一条数据是nickname='c ...

  7. 【Netty】(9)---Netty编解码器

    Netty编解码器 在了解Netty编解码之前,先了解Java的编解码: 编码(Encode)称为序列化, 它将对象序列化为字节数组,用于网络传输.数据持久化或者其它用途. 解码(Decode)称为反 ...

  8. Android6.0运行时权限(基于RxPermission开源库)

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 在6.0以前的系统,都是权限一刀切的处理方式,只要用户安装,Manifest申请的权限都会被赋予,并且安装后权限也撤销不了. And ...

  9. 秋招已过,各大厂的面试题分享一波 附C++实现

    数据结构和算法是面试的一座大山,尤其去面试大厂更是必不可少!简单说明一下为啥喜欢考数据结构和算法,首先,算法有用也没用,如果是中小型企业的简单业务逻辑,可能用不到啥算法,但大厂一定会用到,都知道数据库 ...

  10. c#多线程总结(纯干货)

    线程基础 创建线程 static void Main(string[] args) { Thread t = new Thread(PrintNumbers); t.Start();//线程开始执行 ...