KVM虚拟化笔记(九)------kvm虚拟机快照备份

简介:

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

1,查看现有磁盘镜像格式与转换 

  (1)查看现有磁盘的格式

1
2
3
4
5
[root@KVM  test ] # 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
[root@KVM  test ] # virsh destroy hadoop3
Domain hadoop3 destroyed
[root@KVM  test ] # virsh list --all     
  Id    Name                           State
----------------------------------------------------
  1     win7                           running
  6     hadoop2                        running
  -     hadoop1                        shut off
  -     hadoop3                        shut off
  -     hadoop4                        shut off

  (3)转换磁盘的格式

1
[root@KVM  test ] # 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
[root@KVM  test ] # qemu-img convert -f raw -O qcow2 hadoop3.img hadoop3.qcow2
[root@KVM  test ] # ll
total 14975352
-rwxr-xr-x 1 root root 10737418240 Feb  4 14:38 hadoop1.img
-rwxr-xr-x 1 qemu qemu 10737418240 Feb  4 16:51 hadoop2.img
-rwxr-xr-x 1 root root 10737418240 Feb  4 16:48 hadoop3.img
-rw-r--r-- 1 root root   923926528 Feb  4 16:51 hadoop3.qcow2
-rwxr-xr-x 1 root root 10737418240 Feb  4 15:11 hadoop4.img
-rwxr-xr-x 1 qemu qemu  8589934592 Feb  2 15:03 win7.img
[root@KVM  test ] # qemu-img info hadoop3.qcow2 
image: hadoop3.qcow2
file  format : qcow2
virtual size: 10G (10737418240 bytes)
disk size: 881M
cluster_size: 65536

2,修改虚拟机配置文件

1
[root@KVM qemu] # 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'/>

wKioL1azE4TAsI9XAADVfYGxlg8379.png

3,对虚拟机进行快照管理

 (1)对hadoop3虚拟机创建快照

1
2
[root@KVM qemu] # virsh snapshot-create hadoop3
Domain snapshot 1454577228 created

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

1
2
3
4
[root@KVM qemu] # 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
[root@KVM qemu] # 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
[root@KVM qemu] # ll /var/lib/libvirt/qemu/snapshot/hadoop3/
total 8
-rw------- 1 root root 3402 Feb  4 17:17 1454577228.xml
-rw------- 1 root root 3453 Feb  4 17:17 1454577442.xml


4,恢复虚拟机快照

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

1
2
3
4
5
6
7
8
[root@KVM qemu] # 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
[root@KVM qemu] # 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
[root@KVM qemu] # virsh snapshot-revert hadoop3 1454577442 
[root@KVM qemu] # virsh snapshot-current hadoop3

wKioL1azHULSJIq9AAC2ZR0eWkg549.png

5,删除虚拟机快照

 (1)查看虚拟机快照

1
2
3
4
5
6
7
8
9
10
[root@KVM  test ] # 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
[root@KVM  test ] # virsh snapshot-delete hadoop3 1454577228
Domain snapshot 1454577228 deleted
[root@KVM  test ] # 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


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



本文转自 lqbyz 51CTO博客,原文链接:http://blog.51cto.com/liqingbiao/1741125

相关文章
|
2月前
|
Linux KVM 数据库
服务器数据恢复—服务器误删除KVM虚拟机数据恢复案例
服务器数据恢复环境: 一台服务器安装Linux操作系统+EXT4文件系统。服务器上运行数台KVM虚拟机,每台虚拟机包含一个qcow2格式的磁盘文件和一个raw格式的磁盘文件。 服务器故障: 工作人员操作失误删除了服务器上的3台KVM虚拟机,虚拟机中运行数据库,需恢复误删除虚拟机中raw格式的磁盘文件。
服务器数据恢复—服务器误删除KVM虚拟机数据恢复案例
|
20天前
|
Linux
部署09--虚拟机快照,我们无法避免损坏Linux操作系统 ,如果重新装一下就太过麻烦,推荐在关机下制作快照,关机制作效率好,机房要靠近地址,动不动崩溃
部署09--虚拟机快照,我们无法避免损坏Linux操作系统 ,如果重新装一下就太过麻烦,推荐在关机下制作快照,关机制作效率好,机房要靠近地址,动不动崩溃
|
2月前
|
弹性计算 Shell KVM
快速克隆KVM 虚拟机
【4月更文挑战第29天】
35 3
|
2月前
|
弹性计算 Shell KVM
|
2月前
|
运维 IDE Linux
KVM详解(九)——CentOS6虚拟机关机失败问题解决
KVM详解(九)——CentOS6虚拟机关机失败问题解决
78 5
|
2月前
|
存储 SQL 数据库
虚拟化数据恢复—ESXI虚拟机误还原快照的数据恢复案例
虚拟化技术原理是将硬件虚拟化给不同的虚拟机使用,利用虚拟化技术可以在一台物理机上安装多台虚拟机。误操作或者物理机器出现故障都会导致虚拟机不可用,虚拟机中的数据丢失。 虚拟化数据恢复环境: 有一台虚拟机是由物理机迁移到ESXI上面的,迁移完成后为该虚拟机做了一个快照。虚拟机上运行了一个SQL Server数据库,记录了5年左右的数据。 该ESXI上共有二十几台虚拟机,EXSI连接一台某品牌EVA存储,所有的虚拟机(包括故障虚拟机)都存放在该EVA存储上。
|
2月前
|
弹性计算 Shell KVM
查看KVM 虚拟机中的网卡信息
【4月更文挑战第29天】
27 0
|
2月前
|
存储 Linux KVM
虚拟化技术之KVM安装与使用
虚拟化技术之KVM安装与使用
|
Web App开发 关系型数据库 网络安全
convirt2.5在虚拟机上安装笔记
&lt;span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&gt;convirt2.5在虚拟机上安装笔记&lt;/span&gt; 简介:ConVirt开源是业内领先的Xen/KVM开源管理产品, 使企业能够以集中的方式管理其虚拟环境。
1826 0
|
27天前
|
Unix Linux 虚拟化
虚拟机VMware知识积累
虚拟机VMware知识积累