1.源KVM虚拟主机node1
(1).查看源KVM虚拟主机上的虚拟机列表,本文计划将CentOS6.5-01虚拟机迁移到其它KVM虚拟主机中。
[root@node1~]#virshlist--all IdNameState ---------------------------------------------------- -CentOS6.5-01shutoff -Ser08R2-01shutoff [root@node1~]#
(2).查看CentOS6.5-01虚拟机磁盘文件位置/data/kvm/CentOS6.5-01.qcow2。
[root@node1~]#virshdumpxmlCentOS6.5-01 <domaintype='kvm'> <name>CentOS6.5-01</name> <uuid>7d48f7b5-2fbf-91a9-2c3f-e52ba6079c8e</uuid> <memoryunit='KiB'>1048576</memory> <currentMemoryunit='KiB'>1048576</currentMemory> <vcpuplacement='static'>1</vcpu> <os> <typearch='x86_64'machine='rhel6.6.0'>hvm</type> <bootdev='hd'/> </os> <features> <acpi/> <apic/> <pae/> </features> <clockoffset='localtime'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disktype='file'device='disk'> <drivername='qemu'type='qcow2'cache='none'/> <sourcefile='/data/kvm/CentOS6.5-01.qcow2'/> <targetdev='vda'bus='virtio'/> <addresstype='pci'domain='0x0000'bus='0x00'slot='0x05'function='0x0'/> </disk>
由于采用基于kvm的v2v迁移工具,v2v的迁移需要kvm的存储池的支持,需要对KVM虚拟环境进行改造,kvm存储池的配置请见kvm虚拟化学习笔记(十六)之kvm虚拟化存储池配置
(3).源虚拟机KVM存储池配置简要过程
[root@node1~]#mkdir-p/data/vmfs [root@node1~]#virshpool-define-asvmdisk--typedir--target/data/vmfs Poolvmdiskdefined [root@node1~]#virshpool-buildvmdisk Poolvmdiskbuilt [root@node1~]#virshpool-autostartvmdisk Poolvmdiskmarkedasautostarted [root@node1~]#virshpool-startvmdisk Poolvmdiskstarted [root@node1~]#
(4).将虚拟机磁盘文件移动到存储池中
[root@node1~]#mv/data/kvm/CentOS6.5-01.qcow2/data/kvm/CentOS6.5-01_add.qcow2/data/vmfs/
2.目标KVM虚拟主机node2
(1).查看源KVM虚拟主机上的虚拟机列表
[root@node2~]#virshlist--all IdNameState ---------------------------------------------------- [root@node2~]#
(2).目标虚拟机KVM存储池配置简要过程
[root@node2~]#mkdir-p/data/vmfs [root@node2~]#virshpool-define-asvmdisk--typedir--target/data/vmfs Poolvmdiskdefined [root@node2~]#virshpool-buildvmdisk Poolvmdiskbuilt [root@node2~]#virshpool-autostartvmdisk Poolvmdiskmarkedasautostarted [root@node2~]#virshpool-startvmdisk Poolvmdiskstarted [root@node2~]#
3.KVM到KVM之间的v2p迁移
说明:计划将源kvm主机中的CentOS6.5-01虚拟机迁移到目标虚拟机中,原理是直接拷贝虚拟机磁盘文件与配置文件到目标虚拟主机上。关键点就是源与目标虚拟主机必须采用存储池配置虚拟机磁盘。
(1).开始迁移
[root@node2~]#virt-v2v-icqemu+ssh://10.10.172.191/system-opvmdisk-bbr0CentOS6.5-01
(2)迁移完毕,查看虚拟机状态
[root@node2~]#virshlist--all IdNameState ---------------------------------------------------- -CentOS6.5-01shutoff [root@node2~]#cd/etc/libvirt/qemu [root@node2qemu]#ls networksCentOS6.5-01 [root@node2qemu]#
[root@node2 qemu]# ll -h /data/vmfs
total 2.2G
-rw-r--r-- 1 root root 384K Nov 22 17:06 CentOS6.5-01_add.qcow2
-rw-r--r-- 1 root root 2.2G Nov 28 09:53 CentOS6.5-01.qcow2
[root@node2 qemu]#
测试虚拟机控制台。
[root@node2qemu]#virshconsoleCentOS6.5-01
至此KVM到KVM之v2v迁移成功完成。v2v的迁移方式也是其它静态迁移方式的补充,也让kvm虚拟化适用范围扩大。