P2v, V2v 实践

2022-09-17 13:48:51 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

P2V(物理机转虚拟机)

p2v,就是physical machine to virtual machine,物理机转换成虚拟机,物理机有硬件和

软件资源两部分,虚拟机同样也有硬件和软件资源,只是硬件是虚拟出来的。p2v是把

物理机的软件资源(操作系统,数据等)迁移到虚拟机,虚拟机的物理资源(CPU、内

存、磁盘等),根据现场情况分配创建。

p2v,一般会通过转换整个物理磁盘,或者某个分区成某种格式的镜像文件,来完成软

件资源的迁移。不同的虚拟化产品会有不同的p2v转换工具,这里介绍了qemu/kvm虚

拟化环境下p2v。

使用dd转换整个物理磁盘

dd转换磁盘

如图Figure-1所示,用dd命令将整个物理磁盘sda转换成raw格式的镜像文件

system.img,物理磁盘为500G,导出的文件大小约470G,大约花了4个小时。

Figure -1

创建新的虚拟机

创建基于libvirt XML的Qemu/KVM虚拟机,如图Fiure-2所示上面转换的system.img作为系统

启动的磁盘。

Figure-2

启动虚拟机,查看磁盘

虚拟机系统后,使用VNC客户端访问虚拟机,fdisk -l 查看虚拟磁盘分区,如

Figure-3所示,与原来的物理磁盘一致。

Figure-3

使用clonezilla备份整个物理磁盘到文件

Clonezilla是一款克隆备份/还原的工具,由于不仅可以对整个磁盘或者某个分区进行备份,

更在于其能够读取原磁盘分区信息,以及只备份有效的数据,因此其效率相比其他工具有较明显优

势。使用clonezilla进行p2v,其实就是先对物理磁盘进行备份,然后再还原到虚拟机磁盘的过程。

从官方网站http://www.clonezilla.org下载下面的文件

clonezilla-live-20170905-zesty-amd64.iso

clonezilla-live-2.5.2-31-amd64.zip

制作启动盘

准备一U盘,使用分区工具DiskGenius创建一fat32分区,如图Figure-4用tuxboot-0.8.2制作

一个clonezilla启动盘,制作启动盘参考这个链接:

http://www.clonezilla.org/liveusb.php

Figure-4

执行备份

用clonezilla启动盘引导物理机,进入clonezilla程序,按照提示步骤对整个硬盘进行备份,生成备份文件,备份文件根据情况可以存放在移动硬盘、文件服务器,Figure-5 — Figure-19是备份过程中的大致步骤截图,整个过程参考这个链接中的介绍:http://www.clonezilla.org/clonezilla-live-doc.php。整个备份过程大约持续25分钟左右,生成的备份文件夹大小在50M(不压缩)左右,相比dd来说,效率提高了很多。Figure-20是备份完成后目标文件夹下的文件列表。

Figure-5

Figure-6

Figre-7

Figure-8

Figure-9

Figure-10

Figure-11

Figure-12

Figure-13

Figure-14

Figure-15

Figure-16

Figure-17

Figure-18

Figure-19

Figure-20

1) 使用clonezilla还原备份文件到虚拟机磁盘

l 创建一基于libvirt XML的Qemu/KVM虚拟机,如图Figure-21和Figure-22所示,该虚拟机从clonezilla虚拟的光驱启动,用于备份的物理磁盘是500G,虚拟机的虚机磁盘应该大于物理磁盘大小。

Figure-21

Figure-22

l 启动虚拟机机,进入clonezilla程序,进行还原操作

还原过程是与备份相反的一个过程,从备份文件还原到磁盘上,与备份过程有很多

项相似,这里就不一一列出了,整个过程参考这个链接上的介绍:

http://www.clonezilla.org/clonezilla-live-doc.php。

在虚拟机环境是用网络ssh方式访问物理机,来读取存放在移动硬盘上的备份文件

的。(用usb直通的方式,让虚拟机直接可以访问移动硬盘,测试下来发现clonezilla

不能正常访问该移动硬盘)

v2v

v2v,就是不同虚拟化环境的虚拟机之间互相迁移、转换。这里介绍了用qemu-img手动静态转

换VirtualBox虚拟机镜像、以及Vmware虚拟机镜像为raw或者qcow2格式的镜像,然后以该镜

像为系统盘创建Qemu/KVM虚拟机。

安装虚拟化套件

在Centos7.2系统上,安装oracle virtualbox、vmware workstation以及Qemu/KVM

这三种虚拟化环境,以及libvirt管理套件

Virtualbox VM–>Qemu VM

Orcale vm virtualbox管理器创建一台虚拟机,并安装GuestOS(centos);用qemu-img转

换vdi格式的镜像为qcow2格式的镜像,创建一台基于libvirt XML定义的 Qemu/KVM虚拟

机(可能无法加载virtio驱动,虚拟磁盘建议采用ide总线),其系统盘镜像就是由vdi

格式转换而成raw格式的镜像文件,通过virsh可以正常启动该虚拟机(参考Figure-23,

Figure-24)

Vmware VM–>Qemu VM

Vmware workstation管理其创建一台虚拟机,并安装GuestOS(centos);用qemu-img转换

vmdk格式的镜像为raw格式的镜像,创建一台基于libvirt XML定义的Qemu/KVM虚拟机(可

能无法加载virtio驱动,虚拟磁盘建议采用ide总线),其系统盘镜像就是由vmdk格式转

换而成raw格式的镜像文件,通过virsh可以正常启动该虚拟机(参考Figure-25,Figure-26)

Figure-23

Figure-24

Figure-25

Figure-26

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158849.html原文链接:https://javaforall.cn

0 人点赞