前言
本文记录了使用virt-p2v.iso工具,通过GUI交互配置的方式成功将win10操作系统的虚拟机迁移到libvirt管理平台的步骤,其实也可以用vcenterconvertor进行实时转换,但是这个的适用范围更广,这里只为了演示使用过程,不比纠结与用的是虚拟机还是实体机。
参考了https://www.cnovirt.com/archives/1127
,但是别人的经验有些时候不适合自己,记录一下我自己的坑。本来以为很简单,结果实际上手之后才发现,还是有很多问题需要自己去解决。
硬件环境
- win10 虚拟机(192.168.5.82)
- debian12 服务器(192.168.5.80)
过程
- 1 虚拟机
下载virt-p2v.iso,从http://oirase.annexia.org/virt-p2v/RHEL-7.4-preview/virt-p2v-1.36.3-1.el7.iso
下载iso,可以直接刻录在U盘上,并使用U盘启动就可以。
- 2 服务器
安装virt-v2v。
apt install virt-v2v -y
同时开启服务器上ssh server的AllowTcpForwarding
功能
然后重启ssh 服务。
/etc/init.d/ssh restart
- 3 在虚拟机中加载iso,然后启动虚拟机
启动虚拟机,然后iso
启动,
在这里,我踩了第一个坑,debian12
默认安装的是V2.2.0
版本,而我们虚拟机使用的是virt-p2v v1.36
,版本跨度太大,会出现不兼容的情况,找了很久virt-p2v v2.*
没有找到,哪位大神知道怎么处理,指导一下。
这里我们建立了一个centos7
的虚拟机(192.168.5.10
),然后在centos7
上安装virt-v2v 1.40
,然后连接centos7
的virt-v2v
。
为了能让virt-p2v
将win10
虚拟机转到libvirt
中,需要服务器上创建一个存储池(base_pool.xml
)。
<pool type='dir'>
<name>base</name>
<capacity unit='bytes'>1965763657728</capacity>
<allocation unit='bytes'>316599877632</allocation>
<available unit='bytes'>1649163780096</available>
<source>
</source>
<target>
<path>/opt/images/base</path>
<permissions>
<mode>0755</mode>
<owner>0</owner>
<group>0</group>
</permissions>
</target>
</pool>
根据自己的情况调整一下参数。
virsh pool-define pool_base.xml
virsh pool-list base
virsh pool-autostart base
开始转换,然后就是漫长的等待。
转换完成。
使用virtual machine manager
创建以转换的镜像做一个虚拟机,可以顺利启动,至此,完成了p2v
的工作。