虚拟机快照工作原理的详细解释

虚拟机快照工作原理的详细解释

我想全面了解虚拟机快照的工作原理。虽然我已经研究过这个主题,但我似乎找不到关于快照实际工作原理的“高级”概述。我的问题是:

示例场景:我有一台运行 KVM 的 Ubuntu 12.04 主机,其中有一个 Ubuntu 客户机。虚拟机为 RAW 格式。我使用以下virsh命令对其进行快照:

  1. 生成的文件(快照)是否可以启动?或者仅仅是需要基础映像才可使用的更改数据?
  2. 如何恢复到之前的状态?
  3. 较长的快照链是否会降低虚拟机的性能?如果会,原因是什么?
  4. 如何管理/修剪快照?

答案1

  • 快照是图像链的一部分,并且要求所有快照都可用。
  • 你可以从快照启动,但你也必须保留所有先前的映像
  • 快照链确实会降低性能。高负载的服务器虚拟机根本不应该使用快照运行
  • 要管理快照,你只需尽量保持快照链尽可能短/扁平即可。man qemu-img有关技术细节
  • 当您拍摄快照时,会创建一个新的空图像。当您从图像中读取一个块时,您实际上会命中链中上一个快照的指针(依此类推,直到命中一个数据块)。当您写入快照时,指针会被替换为实际数据块,并且快照图像会因该块而变大。

为了更好地理解,开始这里

相关内容