9780j 发表于 2016-2-15 14:38:06

kvm虚拟机快照备份

kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。要使用镜像功能,磁盘格式必须为qcow2。下面开始kvm虚拟机快照备份的过程1,查看现有磁盘镜像格式与转换
(1)查看现有磁盘的格式

1
2
3
4
5
# qemu-img info hadoop3.img
image: hadoop3.img
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 877M




把raw格式转换成qcow2格式
(2)关闭需要转换磁盘的虚拟机

1
2
3
4
5
6
7
8
9
10
# virsh destroy hadoop3
Domain hadoop3 destroyed
# virsh list --all   
Id    Name                           State
----------------------------------------------------
1   win7                           running
6   hadoop2                        running
-   hadoop1                        shut off
-   hadoop3                        shut off
-   hadoop4                        shut off




(3)转换磁盘的格式

1
# qemu-img convert -f raw -O qcow2 hadoop3.img hadoop3.qcow2




-f 源镜像的格式
-o 目标镜像的格式
查看转换后的格式,已经转换成了qcow2, 这里是拷贝一份,并将格式转成qcow2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# qemu-img convert -f raw -O qcow2 hadoop3.img hadoop3.qcow2
# ll
total 14975352
-rwxr-xr-x 1 root root 10737418240 Feb4 14:38 hadoop1.img
-rwxr-xr-x 1 qemu qemu 10737418240 Feb4 16:51 hadoop2.img
-rwxr-xr-x 1 root root 10737418240 Feb4 16:48 hadoop3.img
-rw-r--r-- 1 root root   923926528 Feb4 16:51 hadoop3.qcow2
-rwxr-xr-x 1 root root 10737418240 Feb4 15:11 hadoop4.img
-rwxr-xr-x 1 qemu qemu8589934592 Feb2 15:03 win7.img
# qemu-img info hadoop3.qcow2
image: hadoop3.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 881M
cluster_size: 65536




2,修改虚拟机配置文件


1
# virsh edit hadoop3





<domain type='qemu'>
<name>hadoop3</name>
<uuid>586b3cae-943f-e283-d8e7-ed72b01bfa34</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='/images/test/hadoop3.qcow2'/>
      <target dev='hda' bus='ide'/>

3,对虚拟机进行快照管理
(1)对hadoop3虚拟机创建快照


1
2
# virsh snapshot-create hadoop3
Domain snapshot 1454577228 created




(2)查看虚拟机快照的版本

1
2
3
4
# virsh snapshot-list hadoop3
Name               Creation Time             State
------------------------------------------------------------
1454577228         2016-02-04 17:13:48 +0800 shutoff




(3)查看当前虚拟机镜像快照的版本

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# virsh snapshot-current hadoop3
<domainsnapshot>
<name>1454577442</name>
<state>shutoff</state>
<parent>
    <name>1454577228</name>
</parent>
<creationTime>1454577442</creationTime>
<memory snapshot='no'/>
<disks>
    <disk name='hda' snapshot='internal'/>
    <disk name='hdc' snapshot='no'/>
</disks>
<domain type='qemu'>
    <name>hadoop3</name>
    <uuid>586b3cae-943f-e283-d8e7-ed72b01bfa34</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='/images/test/hadoop3.qcow2'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
      </disk>
      <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
      </disk>
      <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x7'/>
      </controller>
      <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0' multifunction='on'/>
      </controller>
      <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x1'/>
      </controller>
      <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x2'/>
      </controller>
      <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
      </controller>
      <interface type='network'>
      <mac address='52:54:00:fe:f5:a3'/>
      <source network='default'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
      </interface>
      <serial type='pty'>
      <target port='0'/>
      </serial>
      <console type='pty'>
      <target type='serial' port='0'/>
      </console>
      <input type='mouse' bus='ps2'/>
      <graphics type='vnc' port='5913' autoport='no' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
      </graphics>
      <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
      </video>
      <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
      </memballoon>
    </devices>
</domain>
</domainsnapshot>




(4)查看当前虚拟机镜像文件,快照文件的路径在/var/lib/libvirt/qemu/snapshot/ 下

1
2
3
4
# ll /var/lib/libvirt/qemu/snapshot/hadoop3/
total 8
-rw------- 1 root root 3402 Feb4 17:17 1454577228.xml
-rw------- 1 root root 3453 Feb4 17:17 1454577442.xml





4,恢复虚拟机快照
(1)恢复虚拟机快照必须关闭虚拟机

1
2
3
4
5
6
7
8
# virsh list --all
Id    Name                           State
----------------------------------------------------
1   win7                           running
6   hadoop2                        running
-   hadoop1                        shut off
-   hadoop3                        shut off
-   hadoop4                        shut off




(2)确认恢复快照的时间,这里是恢复到1454577442

1
2
3
4
5
# virsh snapshot-list hadoop3      
Name               Creation Time             State
------------------------------------------------------------
1454577228         2016-02-04 17:13:48 +0800 shutoff
1454577442         2016-02-04 17:17:22 +0800 shutoff




(3)执行恢复,并确认恢复版本

1
2
# virsh snapshot-revert hadoop3 1454577442
# virsh snapshot-current hadoop3





5,删除虚拟机快照
(1)查看虚拟机快照

1
2
3
4
5
6
7
8
9
10
# qemu-img info hadoop3.qcow2
image: hadoop3.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 881M
cluster_size: 65536
Snapshot list:
ID      TAG               VM SIZE                DATE       VM CLOCK
1         1454577228                0 2016-02-04 17:13:48   00:00:00.000
2         1454577442                0 2016-02-04 17:17:22   00:00:00.000




(2)删除快照

1
2
3
4
5
6
7
8
9
10
11
# virsh snapshot-delete hadoop3 1454577228
Domain snapshot 1454577228 deleted
# qemu-img info hadoop3.qcow2            
image: hadoop3.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 881M
cluster_size: 65536
Snapshot list:
ID      TAG               VM SIZE                DATE       VM CLOCK
2         1454577442                0 2016-02-04 17:17:22   00:00:00.000





至此虚拟机快照从创建,查看,删除。如果有报错,再一一的进行拍错。

页: [1]
查看完整版本: kvm虚拟机快照备份