

【v2v迁移】Xen2kvm 迁移-Windows篇 - wang272
source link: https://www.cnblogs.com/wang272/p/xen2kvm_Windows_virtual_machine_migration.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

本文系原创,欢迎规范转载。
本文描述了如何处理window虚拟机从xen虚拟化迁移kvm虚拟化遇到问题,包括安装virtio驱动等。
系列文章:
xen2kvm迁移-Windows篇
xen2kvm迁移-Linux篇
迁移环境:
源平台:华为FusionComputeV100R006C10SPC101
目标平台:基于KVM虚拟化的云平台,本文以原生的libvirt为例
虚拟机:Windows server 2012 R2
具体操作步骤:
本文的前3个步骤与【v2v迁移】Xen2kvm 迁移-linux篇基本一致:导出vhd,安装qemu-img-hw工具,转换格式等。
注意:
导出之前,在源Windows系统上卸载uvp-vmtools,否则虚拟机蓝屏无法启动。
1、在源平台导出格式为ovf的磁盘镜像

导出后,得到vhd文件:xen_win2012_C.vhd
。将该文件传输到装有libvirt和相关工具套件的Linux环境上,本文所使用的是一台centos7.6物理机,部署了GUI界面,安装了libvirt libvirt-client qemu-img virt-manager
等工具。
2、下载华为自研的qemu-img-hw命令
解压得到命令,为命令赋予执行权限:
$ unzip qemu-img-hw.zip
$ cd qemu-img-hw.zip
$ chmod a+x qemu-img-hw
据华为公有云文档描述:zvhd和zvhd2是云服务内部自研格式,qemu-img工具无法识别这两种格式的镜像文件,需要使用qemu-img-hw:
# 使用华为提供的qemu-img-hw看到的镜像格式是zvhd
[root@hyperhost ~]$ qemu-img-hw info xen_win2012_C.vhd
image: xen_win2012_C.vhd
file format: zvhd
virtual size: 20G (21474836480 bytes)
disk size: 9.2G
# 使用原生工具qemu-img看到的镜像格式是raw:
[root@hyperhost ~]$ qemu-img info xen_win2012_C.vhd
image: xen_win2012_C.vhd
file format: raw
virtual size: 9.2G (9879011328 bytes)
disk size: 9.2G
3、zvhd转换为qcow2格式:
转换时间依数据量而定
# 这里的目标是一个逻辑卷,需要提前创建:
# 使用qemu-img-hw info 看到的虚拟大小是,因此创建一个20GiB的镜像文件:
[root@hyperhost ~]$ lvcreate -L 20GiB -n vmpool-1/xen_win2012
Logical volume "xen_win2012" created.
# 转换格式:
[root@hyperhost ~]$ qemu-img-hw convert -p -f zvhd -O qcow2 xen_win2012_C.vhd /dev/vmpool-1/xen_win2012
(100.00/100%)
# 检查格式:
[root@hyperhost ~]$ qemu-img-hw info /dev/vmpool-1/xen_win2012
image: /dev/vmpool-1/xen_win2012
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 0
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
4、配置驱动
# 在宿主机上下载一个rpm包(下载最新版):
[root@hyperhost ~]$ wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.240-1/virtio-win-0.1.240-1.noarch.rpm
# 本地安装:
[root@hyperhost ~]$ yum localinstall virtio-win-0.1.240-1.noarch.rpm
把驱动iso配置为一个storage pool:在virt-manager上点击edit,选择connection details,进一步选择storage,点击左下角➕新建一个pool。类型选择dir,路径选择/usr/share/virtio-win/,就可以看到virtio-win.iso了。之后新建虚拟机时挂载这个iso给虚拟机,就可以安装驱动了。

5、部署为kvm虚拟机
本文使用virt-manager将qcow2磁盘部署为虚拟机:

如果创建虚拟机后直接开机,会报找不到磁盘:

这里我们对磁盘总线类型做一些修改:
磁盘总线类型是IDE,存储类型是raw,这里我们修改为qcow2格式就可以启动了。

为了安装virtio磁盘驱动,我们为这台虚拟机新增一块1G的磁盘,总线类型选择virtio,存储类型随意:

为了安装virtio网卡驱动,我们将这台虚拟机的网卡的设备类型从e1000修改为virtio:

新增一个cdrom设备,挂载驱动iso,总线类型选择IDE或者SATA都行:

6、开机,进入设备管理器,为设备安装驱动

安装驱动:

位置选择光驱D盘,单击下一步:

自动查找驱动后提示安装,选择安装:

所有驱动安装后,就可以看到使用virtio总线类型的网卡设备和第二块磁盘:

在OpenStack平台,建议安装qemu-guest-agent,Windows2008可能不支持:

7、收尾工作
关机,卸载网卡,卸载cdrom,卸载磁盘等。导出磁盘,删除临时虚拟机等。
上传OpenStack平台之前,可以使用工具压缩镜像大小:
[root@hyperhost ~]$ qemu-img-hw convert -p -c -O qcow2 /dev/vmpool-1/xen_win2012 win2k12r2_1.qcow2
上传OpenStack平台:
[root@openstack ~]$ openstack image create --file <FILE> --container-format bare --disk-format qcow2 --min-disk <disk-gb> --min-ram <ram-mb> --property os_type=windows --property hw_qemu_guest_agent=yes --public <image-name>
--property os_type=windows # 指明镜像的操作系统类型,有助于正确显示系统时间
--property hw_qemu_guest_agent=yes # 表明镜像安装了qga,宿主机生成时会自动创建设备与之连接通信
Recommend
-
59
简单概括一下这项功能:帮助完成从Linux/NAS/SAN/旧版Windows Server 到Windows Server 2019或Azure的文件服务器迁移,提供自动化的迁移转换管理,迁移过程可视化,迁移记录可回溯
-
5
有没有什么 Windows 迁移系统的工具? V2EX › Windows 有没有什么 Windows 迁移系统的工具?
-
22
求推荐 Windows 下重装系统迁移工具 V2EX › Windows 求推荐 Windows 下重装系统迁移工具
-
4
使用整机迁移方式(Re-Host)将Windows迁移至云平台后,由于底层的硬件发生改变,导致Windows序列号失效,需要重新进行激活。对于企业用户,如何保护既有投资,使用合理的方式对系统激活而不产生额外费用呢?本文基于项目中的最佳实践,为您详细进行解读。...
-
39
迁移 dotnet 6 提示必须将目标平台设置为 Windows 平台我在迁移一个古老的项目为 .NET 6 框架,但是 VS 提示 error NETSDK1136 如果使用 Windows 窗体或 WPF,或者引用使用 Windows 窗体或 WPF 的项目或包,则必须将目标平台设置为 Windows 平台。但是我不...
-
4
V2EX › Windows 不格式化的情况下如何复制迁移 Windows 系统? cheng6563 ·...
-
10
V2EX › Windows Windows 笔记本换机有什么优雅的系统迁移方案 idrawer · 1 天...
-
8
NAKIVO Blog > VMware Administration and Backup > How to Perform P2V and V2V...
-
3
【数据库数据恢复】Windows环境下MongoDB数据库文件迁移后启动报错的数据恢复案例 精选 原创 宋国建...
-
12
在 Windows 中迁移 SSH 密钥 在 Windows 中迁移 SSH 密钥 本文以Windows 11系统下复制密钥到另一台Windows 11设备为例,介绍如何在 Windows 设备之间迁移 SSH 密钥(此方法也使用于Unix设备的密钥迁移到Windows平台
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK