linux中虚拟机的快照

####1.安装###

创建一个虚拟机的过程,类似于你买一个新的电脑的过程,然后再去装系统

先选择网络安装,继续填写内存和cpu的核数,然后进入到硬件内存和虚拟机名称的修改

完成以后运行虚拟机发现没有服务


linux中虚拟机的快照

没有服务是因为你没有给创建的虚拟机装系统

在用光盘安装虚拟机的过程中要先在所创建的虚拟机(刚买回来的电脑并没有系统)添加光盘;

因为在虚拟机中默认从虚拟机的硬件启动所以要添加光盘在boot options中调到第一位默认从光盘启动

在光盘启动要添加你要装的服务才能运行,所以要把下载到桌面的镜像塞到光盘里


linux中虚拟机的快照

在安装过程中默认选项停留在第二行,也就是先检测你光盘的完整性,再安装。此处我直接用第一选项直接安装

选择你安装过程中所用的语言,直接默认英语继续安装


linux中虚拟机的快照

修改到你所在的时区可以自动点击选择,也可以输入


键盘默认,然后选择安装软件的种类

选择最后一个安装,如果第一个的话比较简洁很多命令实行不了

安装最后一个显示图形



linux中虚拟机的快照

选择安装的分区

左边是自动分区,右边是自定义分区;

选择自定义分区

添加/boot 200M

swap 500m

/ 不填写容量,表示剩余的部分都给根


linux中虚拟机的快照

创建虚拟机的这些步骤实际上我们可以通过创建脚本,把步骤操作写在脚本当中;

给所创建脚本运行权限;运行,即可创建虚拟机

 脚本命令如下

#!/bin/bash##命令运行环境的指定

virt-install \##安装虚拟机

--name $1 \##虚拟机名称指定,$1表示脚本后的第一串字符

--ram 1000 \##内存

--file /var/lib/libvirt/images/$1.img \##硬盘文件

--file-size 8 \##硬盘文件大小

--cdrom /var/ftp/pub/iso/rhel-server-7.1-x86_64-dvd.iso & 

--vcpus 1 &  ##cpu核数以及把命令放在后台执行

linux中虚拟机的快照

virt-manager##开启图形管理工具

virt-viewer vmname##显示虚拟机,vmname表示虚拟机名称

virsh list##列出正在运行的vm

virsh list --all##列出所有vm

virsh start vmname##运行指定vm

virsh shutdown vmname##正常关闭指定vm

virsh destroy vmname##强行结束指定vm

virsh create vmname.xml##临时恢复指定vm,vmname表示前端管理文件

virsh define vmname.xml##永久恢复vm

virsh undefine  vmname##删除vm的前端管理,不会删除存储



linux中虚拟机的快照

虚拟机实际上有两个主要的文件,一个是前端管理文件,一个是硬件的管理文件;

前端管理文件可通过硬件管理文件恢复,如果把硬件管理文件删除则不能恢复

前端管理文件是xml结尾的文件,硬件管理文件是以qcow2为结尾的文件


linux中虚拟机的快照


####3.虚拟机快照####

实际上安装虚拟机可以通过快照的方式把母本虚拟机中的硬盘文件再复制一份

这样创建的虚拟机和姆本完全一致并且快捷

qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2

 在真机中所执行的命令也像创建虚拟机一样,我们可以通过创建一个脚本;

然后执行脚本就可以快照出一个虚拟机,因为快照都是根据姆本的来的;

所以要确保母本的安全性和存在性,我们就把母本改名字隐藏起来。

快照脚本 

#!/bin/bash

qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_storage.qcow2  /var/lib/libvirt/images/$2.qcow2 &> /dev/null

virt-install \

--name $1 \

--ram 1024\

--file  /var/lib/libvirt/images/$1.qcow2 \

--file-size 8 \

--import &>

如果虚拟机坏掉了也可以用同样的方式创建脚本,执行重置虚拟机

虚拟机的重置脚本

linux中虚拟机的快照