我想完全了解虚拟机快照如何工作。 虽然我已经研究了这个主题,但我似乎无法find快照如何在实际中工作的“高层次”概述。 我的问题是:
示例场景:我有一个运行具有Ubuntu guest虚拟机的KVM的Ubuntu 12.04主机。 虚拟机处于RAW格式。 我使用virsh命令快照它,
- 生成的文件(快照)是否可启动? 或者只是简单地改变需要基本映像的数据呢?
- 如何回滚到之前的状态?
- 是否有一个漫长的快照链会降低虚拟机的性能? 如果是这样,为什么?
- 如何pipe理/修剪快照?
- 快照是图像链的一部分,需要所有快照的可用性。
- 您可以启动快照,但您必须保留所有以前的图像
- 拥有快照链会降低性能。 高负载的服务器虚拟机根本不应该运行快照
- 要pipe理快照,只需尽量保持链条尽可能短/平。
man qemu-img的技术细节
- 拍摄快照时,会创build一个新的空白图像。 当你从图像中读取一个块时,你实际上会碰到一个指向链中前一个快照的指针(在链上这样下去,直到你碰到一块数据)。 当您写入快照时,指针被replace为一个真实的数据块,并且该块的快照图像变大。
为了更好的理解,从这里开始