现在P2V、V2V的工具已经是标准工具了,真的很不错。想当年搞xen的全系统迁移费的那个劲儿,真怀念那时的日子。转一下这篇文章,迁移问题现在已经很成熟了,如果以后用到的话,可以拿来就用。
物理机迁移到虚拟机称之为P2V(Physical to Virtual Migration),虚拟化迁移技术分为P2V,V2V,V2P三种,按迁移方式又有静态迁移和动态迁移两种。今天说的是静态迁移。
P2V的主要工作是将物理机的磁盘设备制作成KVM的镜像,如使用dd命令(结合systemrescurecd引导物理机)或者磁盘/分区工具。但dd命令是磁盘的完整复制浪费空间,Linux的克隆工具clonezilla只克隆数据区。 8,迁移成功之后,可以将raw格式的虚拟文件转换成qcow2格式,并上传到openstack的glance中。
sudo qemu-img convert -f raw -O qcow2 test-p2v.raw test-p2v.qcow2
glance add disk_format=qcow2 container_format=ovf name=fedora is_public=True < test-p2v.qcow2
下面看看Clonezilla
Clonezilla是一个类似于Ghost的磁盘克隆工具(Ghost只能克隆整个磁盘,它还结合了Partion Image的优点,也能克隆单个分区,哇,这个特性,现在做实验可以省不少空间了),它只克隆硬盘中被使用的块,从而节省了空间。它底层使用 Partition Image, ntfscline, partcline和dd工具来克隆分区或磁盘,对于不能识别的文件系统(支持的文件系统包括:ext2, ext3, reiserfs, xfs, jfs, fat, ntfs),默认使用dd命令。也支持使用PXEBoot来进行Multicast克隆。
1, 下载Clonezilla, http://clonezilla.org/downloads/download.php?branch=stable
并且UltraISO制作成启动U盘待用,我用的是usb-hdd+格式。
2, 如果是windows,在备份之前,也可下载https://www.virtualbox.org/raw-attachment/wiki /Migrate_Windows/MergeIDE.zip后双击MergeIDE.bat文件再重启,这样是为了让windows支持IDE设备。 KVM的虚拟要设置为IDE来能顺利完成迁移,IDE设备是windows和linux沟通的最好桥梁.
还可以为windows系统安装下列virtio驱动:
硬盘驱动,http://download.longgeek.com/vmware/virtio-win-0.1-30.iso
网卡驱动,http://download.longgeek.com/vmware/virtio-win-1.1.16.vfd
3, 用上面的Clonezilla启动U盘启动要迁移的物理机。
它有device-image和device-device两种方式,后者是直接硬盘对硬盘对拷,前者是硬盘先转换成虚机的镜像格式,我们使用前者。
但当用clonezilla的usb启动盘启动时报错:not a com32r image
这很明显是usb启动盘没做成功,既然用ultraiso不行,我换成redhat光盘中自带的livecd-iso-to-disk命令创建usb启动盘一样报错。不清楚是什么原因,基本上过程就是这样子的,不弄了,以后有机会再搞。
sudo ./livecd-iso-to-disk /bak/tools/clonezilla-live-2.1.2-20-amd64.iso /dev/sdb4