1.源KVM虚拟主机node1
(1).查看源KVM虚拟主机上的虚拟机列表,本文计划将CentOS6.5-01虚拟机迁移到其它KVM虚拟主机中。
1
2
3
4
5
6
7
|
[root@node1 ~]
# virsh list --all
Id Name State
----------------------------------------------------
- CentOS6.5-01 shut off
- Ser08R2-01 shut off
[root@node1 ~]
#
|
(2).查看CentOS6.5-01虚拟机磁盘文件位置/data/kvm/CentOS6.5-01.qcow2。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
[root@node1 ~]
# virsh dumpxml CentOS6.5-01
<domain
type
=
'kvm'
>
<name>CentOS6.5-01<
/name
>
<uuid>7d48f7b5-2fbf-91a9-2c3f-e52ba6079c8e<
/uuid
>
<memory unit=
'KiB'
>1048576<
/memory
>
<currentMemory unit=
'KiB'
>1048576<
/currentMemory
>
<vcpu placement=
'static'
>1<
/vcpu
>
<os>
<
type
arch=
'x86_64'
machine=
'rhel6.6.0'
>hvm<
/type
>
<boot dev=
'hd'
/>
<
/os
>
<features>
<acpi/>
<apic/>
<pae/>
<
/features
>
<clock offset=
'localtime'
/>
<on_poweroff>destroy<
/on_poweroff
>
<on_reboot>restart<
/on_reboot
>
<on_crash>restart<
/on_crash
>
<devices>
<emulator>
/usr/libexec/qemu-kvm
<
/emulator
>
<disk
type
=
'file'
device=
'disk'
>
<driver name=
'qemu'
type
=
'qcow2'
cache=
'none'
/>
<
source
file
=
'/data/kvm/CentOS6.5-01.qcow2'
/>
<target dev=
'vda'
bus=
'virtio'
/>
<address
type
=
'pci'
domain=
'0x0000'
bus=
'0x00'
slot=
'0x05'
function
=
'0x0'
/>
<
/disk
>
|
由于采用基于kvm的v2v迁移工具,v2v的迁移需要kvm的存储池的支持,需要对KVM虚拟环境进行改造,kvm存储池的配置请见kvm虚拟化学习笔记(十六)之kvm虚拟化存储池配置
(3).源虚拟机KVM存储池配置简要过程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@node1 ~]
# mkdir -p /data/vmfs
[root@node1 ~]
# virsh pool-define-as vmdisk --type dir --target /data/vmfs
Pool vmdisk defined
[root@node1 ~]
# virsh pool-build vmdisk
Pool vmdisk built
[root@node1 ~]
# virsh pool-autostart vmdisk
Pool vmdisk marked as autostarted
[root@node1 ~]
# virsh pool-start vmdisk
Pool vmdisk started
[root@node1 ~]
#
|
(4).将虚拟机磁盘文件移动到存储池中
1
|
[root@node1 ~]
# mv /data/kvm/CentOS6.5-01.qcow2 /data/kvm/CentOS6.5-01_add.qcow2 /data/vmfs/
|
2.目标KVM虚拟主机node2
(1).查看源KVM虚拟主机上的虚拟机列表
1
2
3
4
5
|
[root@node2 ~]
# virsh list --all
Id Name State
----------------------------------------------------
[root@node2 ~]
#
|
(2).目标虚拟机KVM存储池配置简要过程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@node2 ~]
# mkdir -p /data/vmfs
[root@node2 ~]
# virsh pool-define-as vmdisk --type dir --target /data/vmfs
Pool vmdisk defined
[root@node2 ~]
# virsh pool-build vmdisk
Pool vmdisk built
[root@node2 ~]
# virsh pool-autostart vmdisk
Pool vmdisk marked as autostarted
[root@node2 ~]
# virsh pool-start vmdisk
Pool vmdisk started
[root@node2 ~]
#
|
3.KVM到KVM之间的v2p迁移
说明:计划将源kvm主机中的CentOS6.5-01虚拟机迁移到目标虚拟机中,原理是直接拷贝虚拟机磁盘文件与配置文件到目标虚拟主机上。关键点就是源与目标虚拟主机必须采用存储池配置虚拟机磁盘。
(1).开始迁移
1
|
[root@node2 ~]
# virt-v2v -ic qemu+ssh://10.10.172.191/system -op vmdisk -b br0 CentOS6.5-01
|
(2)迁移完毕,查看虚拟机状态
1
2
3
4
5
6
7
8
9
|
[root@node2 ~]
# virsh list --all
Id Name State
----------------------------------------------------
- CentOS6.5-01 shut off
[root@node2 ~]
# cd /etc/libvirt/qemu
[root@node2 qemu]
# ls
networks CentOS6.5-01
[root@node2 qemu]
#
|
自动在存储池中拷贝了虚拟机磁盘文件。
[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]#
测试虚拟机控制台。
1
|
[root@node2 qemu]
# virsh console CentOS6.5-01
|
至此KVM到KVM之v2v迁移成功完成。v2v的迁移方式也是其它静态迁移方式的补充,也让kvm虚拟化适用范围扩大。
本文转自 dengaosky 51CTO博客,原文链接:http://blog.51cto.com/dengaosky/2044974,如需转载请自行联系原作者