创建虚拟机快照
虚拟机的出现帮助用户省去了很多的麻烦。在不小心删掉一些不该删掉的东西之后导致系统直接崩溃的时候,可以将虚拟机删掉,重新创建一个虚拟机继续使用就可以了。如何创建虚拟机,请参考《Linux基础_安装虚拟机》这篇博客。但是安装虚拟机也是需要一些复杂的过程,等待一段时间才能安装好,并且在删掉虚拟机之后所有的操作都会消失。为了应对这些情况,我给大家介绍一种可以更加简便的方式去创建虚拟机——虚拟机快照。
虚拟机创建快照可以形象的比喻为给虚拟机拍照片,然后对虚拟机的照片进行更改,一旦出现问题,只要将照片删掉,重新拍张照片。创建快照的过程不需要等待,非常快速高效。一些重复的配置,只要在母镜像上配置完成,后面所有的快照都会继承母镜像的配置。本篇文章就详细介绍了如何创建虚拟机快照。
要创建快照,就必须有一个模板,就好像人拍照一样,必须有一个被拍的对象。我的模板是我创建的一个虚拟机rhel7.1。当虚拟机创建完成之后都会产生两个文件,一个是/etc/libvirt/
目录下的前端文件,一个是/var/lib/libvirt/images/
目录下的磁盘文件。如下图rhel7.1.qcow2就是rhel7.1主机的磁盘文件:
就用rhel7.1.qcow2文件创建快照,命令如下
[root@foundation60 mnt]# cd /var/lib/libvirt/images/
[root@foundation60 images]# qemu-img create -f qcow2 -b rhel7.1.qcow2 node1
#以rhel7.1虚拟机为模板创建一个node1的快照
-f #指定格式
-b #指定模板
创建完之后就会在该目录下生成一个node1的快照文件,下来就要将要使用该快照文件创建虚拟机,执行以下命令打开虚拟机管理软件:
[root@foundation60 mnt]# virt-manager
点击左上角的带星星的小电脑的图标,出现以下界面:
选择Import existing disk images使用快照创建虚拟机,点击Forward继续:
点击Browse选择一开始创建的快照文件,然后如下选择:
点击Forward继续选择内存大小,cpu个数。更改主机名:
node1就是我新创建的主机名。选择完成之后虚拟机就创建完成了。node1就是以rhel7.1主机创建的虚拟机:
如果node1主机出现问题时,只要将/var/lib/libvirt/images/node1
文件删除,再重新创建一个快照文件就可以了:
以上这些选项可以通过脚本实现,编写一个文件,文件内容如下:
[root@foundation60 mnt]# vim vm_snapshoot.sh
#!/bin/bash #创建快照的命令,因为命令过长用`/`进行分行
qemu-img create \
-f qcow2 \
-b /var/lib/libvirt/images/$1.qcow2 \
/var/lib/libvirt/images/$2.qcow2
virt-install \ #使用快照文件安装虚拟机模块
--name $2 \ #指定虚拟机名字
--ram 1024 \ #指定内存大小为1G
--vcpu 1 \ #指定cpu个数
--network source=br0,model=virtio \ #指定网卡及其格式
--disk /var/lib/libvirt/images/$2.qcow2 \ #指定创建的快照文件
--import #导入
$1 #在执行命令后的第一个字符串
$2 #在执行该脚本后的第二个字符串
执行该脚本
[root@foundation60 mnt]# sh vm_snapshoot.sh rhel7.1 test
表示以rhel7.1为模板创建test虚拟机
使用脚本方式创建虚拟机比图形创建方便的多,更适合创建多台虚拟机。