天天看点

使用qmeu-img管理虚拟机磁盘镜像(创建虚拟机,虚拟机快照)

 一台虚拟机的核心就是一个磁盘镜像,这个镜像可以理解成虚拟机的磁盘,里面有虚拟机的操作系统和驱动等重要文件。本文主要介绍创建虚拟机的一般过程。

要在一台host上跑起一个虚拟机一般需要两个步骤:

第一步:创建虚拟机镜像

qmeu-img创建的镜像是一个稀疏文件,也就是说刚创建出来的文件并没有8G,它会随着数据的增多慢慢增加,直到8G

第二步:启动虚拟机

运行结果: 因为镜像里面没有任何内容,所以提示找不到可引导设备。

上节介绍了使用qemu-img创建镜像,这一节将会介绍qemu-img在镜像管理上的强大功能。

qemu-img有很多命令,包括下面常用的,当然qemu-img -h你懂得。

<dl></dl>

<dt><code>info</code></dt>

<dd></dd>

查看镜像的信息

<dt><code>create</code></dt>

创建镜像

<dt><code>check</code></dt>

检查镜像

<dt><code>convert</code></dt>

转化镜像的格式,(raw,qcow ……)

<dt><code>snapshot</code></dt>

管理镜像的快照

<dt><code>rebase</code></dt>

在已有的镜像的基础上创建新的镜像

<dt><code>resize</code></dt>

增加或减小镜像大小

<dt></dt>

 举例:

虽然ls中看到文件的大小是4G,但是实际上磁盘大小是0。这就是稀疏文件

将一个镜像文件转化为另外一种格式,qemu-img支持的格式可以看qemu-img -h最后一行。

转化命令:

-c:采用压缩,只有qcow和qcow2才支持

-f:源镜像的格式,它会自动检测,所以省略之

-O 目标镜像的格式

-o 其他选先

fname:源文件

out_fname:转化后的文件

看例子:

如果想看要转化的格式支持的-o选项有哪些,可以在命令末尾加上 -o ?

注意:只有raw格式的镜像才可以改变大小

查看快照

注意:只有qcow2才支持快照

打快照

举例:

从快照恢复:

然后从kvm启动这个虚拟机,会发现虚拟机又在打快照时的状态了

删除快照:

    当创建的虚拟机越来越多,并且你发现好多虚拟机都是同一个操作系统,它们的区别就是安装的软件不大一样,那么你肯定会希望把他们公共的部分提取出来,只保存那些与公共部分不同的东西,这样镜像大小下去了,空间变多了,管理也方便了。派生镜像就是用来干这事的!

首先看一个原始镜像

现在我们新建一个镜像,但是派生自它

 ^_^,这个镜像才136K,够省了吧。DRY永远的真理啊!

现在我们在vm3_5.qcow2上打了很多安全补丁,然后发现我又想在vm3_5.qcow2上派生新的虚拟机,o(∩∩)o...哈哈,这下怎么办呢?

这个转化将会将vm3_5和base合并,生成新的vm3_base2.raw,然后你就可以继续无穷无尽的派生之旅了!