Linux中创建虚拟机快照

什么是虚拟机快照?

  • 我们在真机桌面的desktop和server其实并不是真实的虚拟机,而是由虚拟机得到的快照。
  • 快照相当于给人拍照,我们看(读)的是真实的人(虚拟机),而p图p的是拍的照片(写的时候是给快照中写。)reset重置的过程相当于删掉照片(快照),再照一张。
  • 由一个虚拟机可以得到多个快照,虚拟机称为母盘,默认情况下生成的快照和虚拟机一模一样,如果母盘被改或被删除,则生成的快照不可用。

快照有什么作用?

为了解决我们在虚拟机中误删重要文件而导致虚拟机崩溃的问题,我们可以利用虚拟机中生成快照,平时操作快照虚拟机,当操作不当时,只需删除快照虚拟机即可。

生成快照的两种方式

首先,我的原始虚拟机even两个重要文件的路径如下:
Linux中创建虚拟机快照_第1张图片

  • 1.命令加手动
[root@foundation1 ~]# qemu-img create -f qcow2 -b /var/lib/libvirt/images/even.qcow2 /var/lib/libvirt/images/kuaizhao.qcow2

其中,参数-f qcow2表示虚拟机的硬盘类型为qcow2,-b /var/lib/libvirt/images/even.qcow2表示要快照的虚拟机是此目录下的even,-b表示备份(backup)。最后的路径为新生成快照的路径。
下图中,快照文件kuaizhao.qcow2已经生成。
Linux中创建虚拟机快照_第2张图片
接下来我们在虚拟机管理界面添加快照虚拟机。
Linux中创建虚拟机快照_第3张图片
在本地选择刚才创建的快照文件。
Linux中创建虚拟机快照_第4张图片
内存大小和cpu核数
Linux中创建虚拟机快照_第5张图片
填写快照虚拟机的名字
Linux中创建虚拟机快照_第6张图片
快照虚拟机kuaizhao就创建好了!
Linux中创建虚拟机快照_第7张图片

  • 2.编写脚本生成快照虚拟机
    我们在/mnt下写一个脚本,写入以下内容。
[root@foundation1 mnt]# vim vm_snap.sh    //脚本编写命令

[root@foundation1 mnt]# sh vm_snap.sh even hahaha   //脚本执行语句

Linux中创建虚拟机快照_第8张图片Linux中创建虚拟机快照_第9张图片

注意:1.$1是脚本后跟的第一串字符,$2是脚本后跟的第二串字符。
2.要想没有上面的输出,以及添加上判定条件,脚本可以升级为以下这版:
Linux中创建虚拟机快照_第10张图片
当输入不符合要求时,会报错提示:
在这里插入图片描述

查看快照虚拟机的信息

du -sh /var/lib/libvirt/images/kuaizhao.qcow2     //查看快照虚拟机的大小
file /var/lib/libvirt/images/kuaizhao.qcow2         

Linux中创建虚拟机快照_第11张图片

virsh undefine 虚拟机名称   //删除虚拟机
rm -fr /var/lib/libvirt/images/虚拟机名称.qcow2   //删除硬盘信息

Linux中创建虚拟机快照_第12张图片Linux中创建虚拟机快照_第13张图片

你可能感兴趣的:(Linux)