PVE(Proxmox VE)是新的开源虚拟化平台,具有较多优点,如群集功能、容器等,但是实际操作中也有不少bug或不如意的地方。
现有一台vmware虚拟化平台的windows 2012R2 虚拟机,为了不重新安装操作系统和应用,因此希望通过直接转化的方法导入到PVE主机内。
检查pve资料,pve说可以通过两种方式导入,一种是通用ovf格式,另一种是直接加载vmdk磁盘。后来确认两种方式结果是几乎一样的。
我总结的导入过程如下:
1、将vmware下的windows2012R2虚拟机导出为OVF (略),但是要注意,不能导出成单个的ova文件,因为PVE中不认识达成包的OVA文件。但是导出ovf会生产三个文件,都需要拷贝出来。
2、将生成的三个ovf文件导入到pve的local存储上。正常可以使用local存储上“上传”的方法,选择*.*文件格式。也可以使用ssh工具,通过SFTP协议将文件上传只PVE 的ISO目录,该目录位于PVE机器的/var/lib/vz/template/iso 。
(注意:ssh secure shell client 3.2.9版本不行哦,我是用secure CRT 中SFTP上传的)
3、上传后就用PVE介绍的方式来导入虚拟机,说一种简单一点的方法,执行以下命令:
qm importovf 999 WindowsServer2012.ovf local-lvm
其中999是导入虚拟机的ID,WindowsServer2012.ovf是虚拟机导入文件,local-lvm是放置虚拟机的磁盘卷。导入成功后,最后有100%的提示。
4、启动虚拟机,发现能看到windows 2012窗口,提示修复,反复重启,无法进入最后的操作系统界面,按照提示操作也几乎无法进行下去。
检查PVE文档,官网这样说:“除了格式问题之外,如果模拟的硬件从一个虚拟机监控程序到另一个虚拟机监控程序的变化太大,则从其他虚拟机监控程序导入磁盘映像可能会失败。Windows VM对此特别关注,因为OS对硬件的任何更改都很挑剔。可以通过在导出之前安装Internet上可用的MergeIDE.zip实用程序来解决此问题,并在引导导入的Windows VM之前选择IDE的硬盘类型。”
5、文档提示用IDE硬盘,就把硬盘类型从scsi改成IDE。
把原有硬盘从scsi上卸除。把硬盘挂载到ide0的总线上了,命令如下:
qm set 999 –ide0 local-lvm:vm-999-disk-0
6、可以挂PE,可对认到的IDE硬盘进行CHKDSK 的磁盘扫描,去除坏块等。方法如下:
chkdsk /f: e: , 修正了一些小故障,重启还是不行,继续找问题。
7、突然想到应该要进安全模式,去除不合理的驱动,这样系统应该就能起来了。但是win2012启动时候缺省不响应F8,无法进入安全模式。
8、等待启动进入到了高级模式,找到命令行,在命令式模式下键入:bcdedit /set {default} bootmenupolicy legacy 这条命令是允许在win2012菜单出来之前可以按F8进入安全模式。
9、重启,在菜单出来之前按键F8进入安全模式。
10、可以进入到windows的安全模式,问题初步解决。找到“计算机管理”中的“设备管理器”,把里面没有用的驱动全部删除掉,特别是有vmware和HyperV字样的驱动,直至没有黄色的感叹号出现。
11、退出安全模式,再重新启动,终于出现了久违的Windows 2012 R2的画面。
————————————————
linux 迁移
VMware完美迁移PVE方法(两条命令解决)
未来村长 2021-05-05 15:07:40 20 收藏
分类专栏: 虚拟化 文章标签: 虚拟机 vmware pve
版权
一、为什么要迁移
因为VMware是收费的,PVE是免费的,就是这么简单粗暴,没有太多理由。
Proxmox优势:
Proxmox的主要特性,去中心化、超融合、高可用、开源低成本、易于实施管理,前面几个特性都和open stack一样,但是最后一点易于实施管理,open stack却做得不是特别好,对于易于实施管理这一点,主要有以下几个方面(引述):
1、proxmox以iso文件提供下载,刻录到u盘,安装方便高效。
2、创建集群,只需登陆每个系统执行一条指令,马上就能看到效果。
3、支持分布式存储,创建ceph存储池,也是寥寥几步就可完成,并很快可以在管理界面看到效果。
4、轻松实现高可用,web界面组成对象高可用(ha),也是易如反掌。
5、方便扩容,重复执行相同创建扩容命令即可完成。
6、统一界面。一个web入口,管理节点、存储、网络、虚拟机等所有资源,完成绝大部分用户操纵,无需要安装客户端。
1.迁移方法
(1)首先,把镜像从VMware虚拟机导出OVF格式
我用的是浏览器,客户端方法一样
(2)镜像已经导出成功,然后把导出来的镜像上传到PVE的镜像存储里面,上传的话,可以用FTP等,我用的是finalshell直接拉进去,保存路径是/var/lib/vz/template/iso/,后面根据自己实际保存路径来分。
(3)然后打开PVE,新建一个空白虚拟机,配置根据实际需要来配就行。
(4)然后用命令登录到PVE的节点node,用命令把镜像导入到刚才新建的虚拟机121里面,知道100%完成。
qm importdisk 121 /var/lib/vz/template/iso/test.vmdk local-zfs
qm set 121 –ide0 local-zfs:vm-121-disk-0
1
2
这里类型根据你虚拟机硬盘类型来选ide0还是scsi0,我就在这里翻车了,排查了很久才找到原因,所以,这里要注意。
(5)然后修改下刚才新建虚拟机的引导,放到第一个,不然的话,开机会找不到引导,一直重启。
(6)然后再开机,刚才导入进来的镜像已经可以开机运行了。
————————————————