把ESXi中的虚拟机通过OVA/OVF导出的方式迁移到Proxmox 5
引用地址: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的更多相关文章
- 关于vmware虚拟机的ova/ovf转换成aws上的AMI镜像
很多时候,我们会有这样的需求,需要将DC中vmware虚拟化的服务器,迁移到aws上,我们就得先将vmware虚拟机导出,然后转换 关于vmvare虚拟的导出备份,一般有ova(Open Virtua ...
- 如何设置ESXi中的虚拟机随主机一同启动?
笔者新装了几台ESXi的主机, 其中一台上面运行着一台安装了vCenter的虚拟机. 笔者一路默认, 也没改什么设置. 在试图解决其他问题的过程中, 笔者重启了ESXi. 后来发现vCente登不进 ...
- ESXi中的虚拟机如何使用U盘和加密Key
最近想在虚拟机中的主机使用通讯加密key来部署专门用于转发和加密的通讯前置机.故查询测试一下是不是能识别. 第一步:在虚拟宿主机上添加USB控制器,右键单击目标虚拟机,选中"编辑设置&quo ...
- ESXI中 Linux虚拟机不重启扩展磁盘
1.首先对虚拟机进行编辑设置 硬盘大小进行修改到80G: 2.在Linux系统中查看磁盘大小 此时并没有什么变化: 3. 上面没有变化的原因,是因为需要重新扫描存储设备的scsi总线: 找到scsi磁 ...
- vmware vSphere client中,选择文件->部署OVF模板,报错处理方法
在vmware vSphere client中,选择文件->部署OVF模板,选择指定的OVA文件,按步骤进行,则会出现这样的错误:此OVF软件包使用了不受支持的功能.OVF软件包需要不支持的硬件 ...
- [转载]在Vmware ESXI中安装群晖Synology DSM 5.0 (4528)
转载 在Vmware ESXI中安装群晖Synology DSM 5.0 (4528) 文件准备 Vmware ESXi用户安装需要的文件 NB_x64_5032_DSM_50-4528_Xpenol ...
- VMware ESXi CentOS Linux虚拟机安装VMware Tools教
转自VMware ESXi CentOS Linux虚拟机安装VMware Tools教程 | 一米居 http://www.yimiju.com/articles/548.html 最近一周在学习和 ...
- 如何在 vmware esxi 中开放 VNC功能及端口实现远程管理 完整篇
VMWare esxi中开放 VNC功能及端口实现远程管理 完整篇 在多个论坛上看了相关文章,总的写得不完整.现将各方资源整编写完整版.详文如下! (图片来自51CTO) 步骤1. 修改ESXi主机的 ...
- 在Windows Server 2012 R2的Hyper-V中设置虚拟机启用增强会话模式
在Windows Server 2012 R2的Hyper-V中,可以为虚拟机提供一种全新的连接方式,就是“增强会话模式”,它将让您更加方便的对虚拟机进行操作,比如分辨率的调整.设备的加载,最为方便的 ...
随机推荐
- openlayers4 入门开发系列之地图切换篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- Win10常见问题记录
基本信息 记录我在使用win10过程中遇到的一些问题 我所使用的两个win10系统 Win10 企业版 1607(家里电脑) Win10 专业版 1806(公司电脑) win10 开启Sets 请问您 ...
- 基于Kubernetes 构建.NET Core 的技术体系
很多公司技术支持岗位的工作,如配置域名,部署环境,修改复位配置,服务重启,扩容缩容,梳理和完善监控,根据开发的需要查找日志等工作,需要和开发进行大量的沟通,如什么是外网域名,什么是内网域名.A nam ...
- PHP中$GLOBALS和global的区别
很多人都认为$GLOBALS['var']和global $var只是写法上不同,其实并不是这样 根据官方的解释是 $GLOBALS['var']是外部全局变量$var的本身, 而global $v ...
- java jdk动态代理模式举例浅析
代理模式概述 代理模式是为了提供额外或不同的操作,而插入的用来替代”实际”对象的对象,这些操作涉及到与”实际”对象的通信,因此代理通常充当中间人角色. java中常用的动态代理模式为jdk动态代理和c ...
- Yii框架基础增删查改
返回一条数据 Country::find()->one(); 返回所有数据 Country::find()->all(); 返回记录的数量 $country =Country::find( ...
- Java数据结构和算法 - 堆
堆的介绍 Q: 什么是堆? A: 这里的“堆”是指一种特殊的二叉树,不要和Java.C/C++等编程语言里的“堆”混淆,后者指的是程序员用new能得到的计算机内存的可用部分 A: 堆是有如下特点的二叉 ...
- Xapian索引-文档检索过程分析之匹配百分比
本文属于文档检索过程分析的一部分,重点分析文档匹配百分比(percent)的计算过程. 1 percent是什么? 我们之前分析的检索demo: Xapian::Query term_one = Xa ...
- 远程window服务器,无法复制粘贴了
1.先检查本机 2.检查服务器 win+R打开输入taskmgr 找到这个进程,结束进程 3.在win+r打开输入rdpclip确认启动,发现可以复制粘贴了.
- NotificationSetUtilDemo【判断APP通知栏权限是否开启,以及如何跳转到应用程序设置界面】
前言 当APP有推送功能时,需要判断当前app在手机中是否开启了允许消息推送,否则即使添加了推送代码仍然收不到通知. 效果图 oppo上的效果: 使用步骤 一.项目组织结构图 注意事项: 1. 导入 ...