前言
- 之前我们学习了安装虚拟机,以及如何使用脚本全自动安装虚拟机。
楼主以前玩过VMware,大家都懂,其实就是当时在Windows上装的一个虚拟机软件,用来在Windows上建立Linux虚拟机环境,当时因为没有系统的学过Linux,所以经常出错,删根什么的到没有,就是经常虚拟机不按我预想出牌,于是,我一怒就删除虚拟机,重装一个,当然,这样的过程很痛苦,有很费时间,所以效率很低。当时一个学长看我苦恼,询问情况后,说,傻瓜,你在改配置或者做实验前点击保存一个当前虚拟机的快照按钮就行了,不行了下次从这个快照再次进入即可。楼主实验了几次果然好用!那么我们今天讲的就是关于Linux虚拟机的快照,作用跟VMware几乎一样的。
什么是快照?
- 百度百科:磁盘“快照”是虚拟机磁盘文件(VMDK)在某个点及时的复本。系统崩溃或系统异常,你可以通过使用恢复到快照来保持磁盘文件系统和系统存储。当升级应用和服务器及给它们打补丁的时候,快照是救世主。VMware快照是VMware Workstation里的一个特色功能。
- 简而言之:就是类似于照相中照片一样,我们对照片进行涂改(写入数据),如果发现出错,重新再拍一张就行,而不直接对本人进行操作(虚拟机本身),就不会怕我之前的问题,动不动重装虚拟机!就可以更方便的进行实验了。也许你会说,虚拟机不是不怕出错吗?但是快照明显恢复更快啊,更省事省力啊。
如何创建虚拟机快照?
- 大体上分为三步:
- (1)找到想要进行快照的虚拟机:
virt-manager ##打开虚拟机管理界面,选中一个虚拟机
cd /var/lib/libvirt/images/ ##进入虚拟机镜像的路径
- (2)创建虚拟机快照文件
qemu-img create -f qcow2 -b /var/lib/libvirt/images/westos.qcow2 /var/lib/libvirt/images/node1.qcow2
##虚拟机快照创建命令 -f 表示快照格式(fmt) -b 要备份的虚拟机镜像文件(母盘) 虚拟机快照文件
注意:出现问题——命令操作之后,也产生了新的快照文件,这时需要手动import此快照???没错,这时候需要你去手动添加你刚刚拍的快照文件!
打开虚拟机管理工具:
- (3)导入快照文件
图
如何使用脚本自动化创建并且自动安装虚拟机快照?
- 我们发现,还是要手动安装虚拟机快照的,很麻烦的。那么,上一章中我们有使用脚本自动化安装虚拟机,有没有很酷,那么我们现在也用脚本进行创建虚拟机快照!
- 我们分析下,先要创建快照,如何才是安装,那么我们就需要两个命令来进行,以此为思路展开!
vim snapshot.sh
#!/bin/bash
qemu-img create \ ##创建虚拟机快照
-f qcow2 \ ##格式
-b /var/lib/libvirt/images/$1.qcow2 /var/lib/libvirt/images/$2.qcow2 &>/dev/null
##母盘 新的快照文件$2 所有输出都不要 (一般不建议,因为可以看是否成功,和错误信息)
virt-install \
--import \ ##因为安装是要导入刚刚创建的快照文件的
--name $2 \ ##注意!是新的快照的名字
--ram 1024 \
--vcpu 1 \
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \ ##注意,这里是新的快照产生位置,不用写size,因为默认跟随母盘中的容量
--network bridge=br0,model=virtio &>/dev/null & ##(一般不建议屏蔽输出,万一出错了,可以看报错信息)
图片:
- 有没有很酷!以后还是要好好学脚本,包括Python,shell,可以简化我们很多工作量,何乐而不为呢?(PS:尤其像我这样打字慢又懒得,手动狗头)