4-快照与克隆

KVM.jpg

快照

快照根据存储方式的不同可以分为内部快照外部快照
快照也有对应的配置文件,快找配置文件存放在 /var/lib/libvirt/qemu/snapshot/

内部快照

内部快照:内部快照只支持qcow2格式的虚拟机镜像,把快照及后续变动都保存在原来的qcow2文件内。
内部快照可以在虚拟机开机状态下创建,但创建过程中会处于paused状态。

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
# 为CLI_create-centos7.0创建名为test1的快照
~]# virsh snapshot-create-as CLI_create-centos7.0 test1
Domain snapshot test1 created
# virsh snapshot-create-as CLI_create-centos7.0 test1 --description <string> 创建快照时为快照添加描述信息,但需要使用snapshot-current才能查看描述信息

#查看此虚拟机的快照列表,注意此处的stat为保存该快照时虚拟机的状态,即快照中的系统是否为运行状态
~]# virsh snapshot-list CLI_create-centos7.0
Name Creation Time State
------------------------------------------------------------
test1 2022-09-08 01:38:05 -0400 running

#查看当前快照配置信息,可以从该配置信息开头确认当前虚拟机是处于什么快照
~]# virsh snapshot-current CLI_create-centos7.0
<domainsnapshot>
<name>test1</name>
<state>running</state>
<creationTime>1662615485</creationTime>

# 查看指定快照信息
~]# virsh snapshot-info CLI_create-centos7.0 test1
Name: test1
Domain: CLI_create-centos7.0
Current: yes
State: running
Location: internal
Parent: -
Children: 0
Descendants: 0
Metadata: yes

# 查看指定快照配置信息
~]# virsh snapshot-dumpxml CLI_create-centos7.0 test1

# 为CLI_create-centos7.0创建名为test2的快照
~]# virsh snapshot-create-as CLI_create-centos7.0 test2
Domain snapshot test2 created

# 查看快照列表
~]# virsh snapshot-list CLI_create-centos7.0
Name Creation Time State
------------------------------------------------------------
test1 2022-09-08 01:38:05 -0400 running
test2 2022-09-08 02:53:02 -0400 shutoff

# 查看指定快照的父快照
~]# virsh snapshot-parent CLI_create-centos7.0 test2
test1

# 查看快照列表关系树
~]# virsh snapshot-list CLI_create-centos7.0 --tree
test1
|
+- test2

# 恢复test1快照
~]# virsh snapshot-revert CLI_create-centos7.0 test1

# 删除test2快照,添加–children将其子裔快照一并删除,–children-only只删除子裔快照
~]# virsh snapshot-delete CLI_create-centos7.0 test2
Domain snapshot test2 deleted

注意点

  1. 不要使用virsh snapshot-edit修改快照名
  2. 当一个虚拟机使用多个qcow2文件时,在创建快照时需要加上–atomic参数以确保快照操作的原子性,防止磁盘快照只有部分成功

外部快照(暂时先了解)

外部快照:在创建时,快照被保存在单独一个文件中,创建快照时间点之后的数据被记录到一个新的qcow2文件中,原镜像文件成为新的qcow2文件的backing file(只读),在创建多个快照后,这些文件将形成一个链——backing chain。外部快照同时支持raw和qcow2格式的虚拟机镜像。

克隆

被克隆的虚拟机不能是运行状态,在克隆前需要先将其暂停或者停止

1
~]# virt-clone --auto-clone -o CLI_create-centos7.0 -n test