-
kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。
要使用镜像功能,磁盘格式必须为qcow2。下面开始kvm虚拟机快照备份的过程。本文出自:http://koumm.blog.51cto.com
进一步的学习参考:kvm+libvirt虚拟机快照浅析 http://itxx.sinaapp.com/blog/content/130
1. 查看现有磁盘镜像格式与转换
(1) 查看磁盘格式
# qemu-img info test01.img
raw格式需要转换成qcow2
(2) 关闭虚拟机并转换磁盘
# virsh shutdown oeltest01
(3) 转换磁盘格式
# qemu-img convert -f raw -O qcow2 test01.img test01.qcow2
-f 源镜像的格式
-O 目标镜像的格式查看转换后的格式,已经转换成了qcow2, 这里是拷贝一份,并将格式转成qcow2
# qemu-img info test01.qcow2
2. 修改虚拟机配置文件
修改磁盘格式,与新qcow2格式的磁盘。
3. 对虚拟机进行快照管理
(1) 对oeltest01虚拟机创建快照
也可以virsh snapshot-create as oeltest01 snap1 创建后个快照别名。
(2) 查看虚拟机镜像快照的版本
(3) 查看当前虚拟机镜像快照的版本
可以看到为当前最新的快照版本。
[root@node1 data]#
[root@node1 data]# virsh snapshot-current oeltest01
01.
<
domainsnapshot
>
02.
<
name
>1378579737</
name
>
03.
<
state
>shutoff</
state
>
04.
<
creationTime
>1378579737</
creationTime
>
05.
<
memory
snapshot
=
'no'
/>
06.
<
disks
>
07.
<
disk
name
=
'hda'
snapshot
=
'internal'
/>
08.
<
disk
name
=
'hdc'
snapshot
=
'no'
/>
09.
</
disks
>
10.
<
domain
type
=
'kvm'
>
11.
<
name
>oeltest01</
name
>
12.
<
uuid
>8f2bb4a7-c7ed-32aa-3676-9fb05923269d</
uuid
>
13.
<
memory
unit
=
'KiB'
>524288</
memory
>
14.
<
currentMemory
unit
=
'KiB'
>524288</
currentMemory
>
15.
<
vcpu
placement
=
'static'
>1</
vcpu
>
16.
<
os
>
17.
<
type
arch
=
'x86_64'
machine
=
'rhel6.4.0'
>hvm</
type
>
18.
<
boot
dev
=
'hd'
/>
19.
</
os
>
20.
<
features
>
21.
<
acpi
/>
22.
<
apic
/>
23.
<
pae
/>
24.
</
features
>
25.
<
clock
offset
=
'localtime'
/>
26.
<
on_poweroff
>destroy</
on_poweroff
>
27.
<
on_reboot
>restart</
on_reboot
>
28.
<
on_crash
>restart</
on_crash
>
29.
<
devices
>
30.
<
emulator
>/usr/libexec/qemu-kvm</
emulator
>
31.
<
disk
type
=
'file'
device
=
'disk'
>
32.
<
driver
name
=
'qemu'
type
=
'qcow2'
cache
=
'none'
/>
33.
<
source
file
=
'/data/test01.qcow2'
/>
34.
<
target
dev
=
'hda'
bus
=
'ide'
/>
35.
<
address
type
=
'drive'
controller
=
'0'
bus
=
'0'
target
=
'0'
unit
=
'0'
/>
36.
</
disk
>
37.
<
disk
type
=
'block'
device
=
'cdrom'
>
38.
<
driver
name
=
'qemu'
type
=
'raw'
/>
39.
<
target
dev
=
'hdc'
bus
=
'ide'
/>
40.
<
readonly
/>
41.
<
address
type
=
'drive'
controller
=
'0'
bus
=
'1'
target
=
'0'
unit
=
'0'
/>
42.
</
disk
>
43.
<
controller
type
=
'ide'
index
=
'0'
>
44.
<
address
type
=
'pci'
domain
=
'0x0000'
bus
=
'0x00'
slot
=
'0x01'
function
=
'0x1'
/>
45.
</
controller
>
46.
<
controller
type
=
'usb'
index
=
'0'
/>
47.
<
interface
type
=
'bridge'
>
48.
<
mac
address
=
'52:54:00:82:39:01'
/>
49.
<
source
bridge
=
'br0'
/>
50.
<
model
type
=
'virtio'
/>
51.
<
address
type
=
'pci'
domain
=
'0x0000'
bus
=
'0x00'
slot
=
'0x03'
function
=
'0x0'
/>
52.
</
interface
>
53.
<
serial
type
=
'pty'
>
54.
<
target
port
=
'0'
/>
55.
</
serial
>
56.
<
console
type
=
'pty'
>
57.
<
target
type
=
'serial'
port
=
'0'
/>
58.
</
console
>
59.
<
input
type
=
'tablet'
bus
=
'usb'
/>
60.
<
input
type
=
'mouse'
bus
=
'ps2'
/>
61.
<
graphics
type
=
'vnc'
port
=
'5910'
autoport
=
'no'
listen
=
'0.0.0.0'
>
62.
<
listen
type
=
'address'
address
=
'0.0.0.0'
/>
63.
</
graphics
>
64.
<
video
>
65.
<
model
type
=
'cirrus'
vram
=
'9216'
heads
=
'1'
/>
66.
<
address
type
=
'pci'
domain
=
'0x0000'
bus
=
'0x00'
slot
=
'0x02'
function
=
'0x0'
/>
67.
</
video
>
68.
<
memballoon
model
=
'virtio'
>
69.
<
address
type
=
'pci'
domain
=
'0x0000'
bus
=
'0x00'
slot
=
'0x04'
function
=
'0x0'
/>
70.
</
memballoon
>
71.
</
devices
>
72.
</
domain
>
73.
</
domainsnapshot
>
[root@node1 data]#
(4) 查看当前虚拟机镜像文件
又创建了一个,快照的版本也记录在镜像文件中了。
快照配置文件在/var/lib/libvirt/qemu/snapshot/虚拟机名称/下
4. 恢复虚拟机快照
(1) 恢复虚拟机快照必须关闭虚拟机。
确认虚拟机是关机状态
(2) 确认需要恢复的快照时间,这里恢复到1378579737
(3) 执行恢复,并确认恢复版本
5. 删除虚拟机快照
(1) 查看虚拟机快照
# qemu-img info test01.qcow2
这里删除第一个快照1378579737
(2) 删除快照
到此kvm虚拟机快照测试完毕。kvm虚拟化学习笔记进行到这里了,感觉到kvm虚拟化的内容真的很多。水是越来越深了。
-