今天继续给大家介绍Linux运维相关知识,本文主要内容是KVM的快照。
一、KVM快照简介
KVM支持对虚拟机创建快照,但是前提是该虚拟机镜像不可以是raw格式,而应该是qcow2格式。但是,如果使用LVM,则可以对raw格式进行快照。这确实是一个很好的解决方案,但是其实现确实依靠LVM自身的快照功能实现的,而不是依靠KVM。有关LVM原理、作用以及实操请参考文章:LVM原理详解及实战。
KVM的虚拟机在创建快照后,就相当于对该虚拟机定位了一个状态,将来我们可以将该虚拟机恢复到该状态。下面,我们就来介绍一些KVM的快照创建、恢复和删除相关操作。
二、KVM快照创建
在KVM快照创建前,我们先保证虚拟机镜像为qcow2格式,如下所示:
KVM的快照创建命令格式如下:
virsh snapshot-create 【虚拟机名称】
1
例如,我们要给虚拟机centos7-1.qcow2创建快照,则可以执行命令:
virsh snapshot-create centos7-1.qcow2
1
KVM虚拟机快照查看命令格式如下:
virsh snapshot-list 【虚拟机名称】
1
或者是:
qemu-img info 【虚拟机名称】
1
要查看我们创建的快照,可以执行命令:
virsh snapshot-list centos7-1.qcow2
1
上述命令执行结果如下:
可以看出,我们成功的为KVM虚拟机创建了快照。但是,在这种创建方式中,快照的名称由KVM随机指定分配。如果我们想自己指定虚拟机的快照名称,则可以执行命令:
virsh snapshot-create-as 【虚拟机名】 【快照名】
1
命令示例如下:
virsh snapshot-create-as centos7-1.qcow2 snapshot-2
1
上述命令可以为centos7-1.qcow2创建名为snapshot-2的快照,该命令执行结果如下:
注意:
在使用qemu-img命令时,我们可以查看快照的大小。在上图中,我们可以发现快照大小为0,这是由快照的创建原理所决定的。当快照创建后,KVM虚拟机会将当前的系统磁盘所固定,对磁盘新的修改会避免使用该空间,因此如果我们创建快照后,并没有对系统进行更改,快照的大小就为0。
当KVM虚拟机有多个快照时,我们可以执行命令:
virsh snapshot-current 【虚拟机名称】
1
来查看KVM虚拟机当前使用的快照,查看该虚拟机当前使用的快照命令如下:
virsh snapshot-current centos7-1.qcow2
1
该命令执行结果如下:
可以看出,在当前该虚拟机的快照为snapshot-2。
注意:
KVM支持在开机状态下对虚拟机做快照,这样的快照会记录下当前系统内存的数据,当下次启动时会将该数据取出,并恢复为开机状态。
但是,由于要将内存中的数据写入磁盘,因此在开机状态下创建快照时要花费较长的时间。
三、KVM快照恢复
接下来,我们来介绍一下KVM的快照恢复。
KVM快照恢复命令格式如下:
virsh snapshot-revert 【虚拟机名】 【快照名】
1
例如,执行命令:
virsh snapshot-revert cetos7-1.qcow2 1649751390
1
可以将centos7-1.qcow2虚拟机恢复为1649751390的快照状态。该命令执行结果如下:
四、KVM快照删除
最后,我们来讲解一下KVM的快照删除。
KVM快照删除命令格式如下:
virsh snapshot-delet 【虚拟机名】 【快照名】
1
例如,如果我们要删除虚拟机centos7-1的1649751390的快照,可以执行命令:
virsh snapshot-delete centos7-1.qcow2 1649751390
1
该命令执行结果如下:
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_40228200/article/details/124126840