我以为VDI是虚拟磁盘镜像,后来才知道它也是用来做快照的。于是我打开snapshots文件夹,发现一堆VDI。到现在为止还挺好。
然后我在某处读到 SAV 用于当前状态。这是真的?如果确实如此,那么我们应该只有一个 SAV 文件(因为虚拟机只有一个当前状态。但是当我查看我的快照文件夹时,我发现了 2 个 SAV(和 2 个 VDI)文件。这正常吗?还是我的机器损坏了?
那么 SAV 和 VDI 之间的真正区别是什么?快照是否由每种类型之一表示?
如果重要的话,我使用的是 4.3.20 版。
Spo*_*oky 12
您认为.vdi文件是虚拟磁盘映像文件并且它们被快照使用是正确的。
创建快照时,会创建一个新.vdi文件,其中存储与快照的差异。这称为“差异存储”。
从技术上讲,快照记录了整个 VM 状态,其中包括所有连接的驱动器,但是大多数人在讨论单个 VDI 的作用时也将这个词用作“增量映像”、“差异映像”或“子映像”的同义词在快照链中,而不是基本 VDI。 来源
拍摄快照后,VirtualBox 为与机器关联的每个普通硬盘创建差异硬盘,以便在恢复快照时,只需删除预先存在的差异即可快速重置虚拟机虚拟硬盘的内容文件。 来源
您可以想象,当您需要从一个快照创建多个“分支”时,这会多么有用——每个快照的 VDI 将仅包含该快照添加的差异,而不包含基础 VDI 中存在的任何内容。例如,考虑一个包含 50 GB 文件和多个子快照的基础磁盘(快照),每个子快照添加 10 GB 的唯一数据。每个子 VDI 的大小将仅与存储其 10 GB 数据所需的一样大,而不是包括基础磁盘中的 50 GB。
如果您打开虚拟媒体管理器(Windows 上的File? Virtual Media Manager),您可以在“硬盘”选项卡中查看虚拟硬盘的树状视图。在这里您可以看到磁盘及其子项。单击磁盘将显示其信息。
例如,我有一个磁盘,其信息显示:
Foo.vdi
类型:普通
位置:C:\VirtualBox VMs\Foo\ Foo.vdi
存储细节:动态分配的存储
附加到:Foo (Bar)
其最远后代的信息是:
{bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb}.vdi
类型:差异
位置:C:\VirtualBox VMs\Foo\ Snapshots\{bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb}.vdi
存储详细信息:动态分配的差异存储
附加到: 福
在本例中,“Foo”是虚拟机的名称,“Bar”是第一个快照的名称。“{bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb}”是最后一个磁盘的UUID 。
VM 的.vbox文件包含描述 VM 的 XML 文档,包括其快照。该VirtualBox节点包含一个Machine子节点,该子节点可以包含Snapshot节点。stateFile此节点上的属性指定.sav与此快照关联的文件(如果有)。
该
.sav文件本质上是一个内存转储,尽管其他处理器信息(例如寄存器)也可能被存储。 来源
奇怪的是,他还说.sav文件与快照无关,这是不正确的。
一个.sav文件总是包含在某个时间点来宾的完整状态。它不包含存储在虚拟磁盘类似的外部设备的任何信息。创建快照时,会创建一个.sav文件,其中包含恢复当时来宾状态所需的 VM 状态,并为每个虚拟磁盘创建一个新的差异磁盘映像(未在某些特殊模式下附加以防止这种情况发生) . 从现在开始,来宾磁盘写入请求将转到差异映像。还原快照时,会删除差异映像,因此创建快照后对磁盘所做的所有更改都将丢失。 来源
要直接回答您的问题:
[...] SAV 用于当前状态。这是真的?
保存机器状态时,将当时的当前状态保存在一个.sav文件中。
[...] 我们应该只有一个 SAV 文件(因为虚拟机只有一个当前状态
当然,只有一种当前状态,但.sav快照创建的文件包含以前的状态。
[...] 我找到了 2 个 SAV(和 2 个 VDI)文件。这正常吗[...]?
快照是否由每种类型之一表示?
这是正常的。我假设.sav如果在 VM 未运行时拍摄快照,则可能有多个没有文件的快照,因为没有要保存的执行(易失性)状态。如果您在拍摄快照时机器正在运行,.sav则会创建一个文件。
那么 SAV 和 VDI 之间的真正区别是什么?
甲.vdi文件是虚拟磁盘,包含永久存储器。一个.sav文件包含的不稳定状态信息转储,它可以让你恢复机器状态。它们共同促进了通过快照创建的 VM 状态的完全恢复。
两者都可以相互独立使用。.sav当您关闭 VM 并保存其状态时,也会使用文件。.vdi文件也可以用作快照范围之外的持久存储。
| 归档时间: |
|
| 查看次数: |
9377 次 |
| 最近记录: |