And*_*tov 54 performance virtualbox virtualization snapshot
我有 vdi 从中获取了相当多的快照 - 例如,50 或 70 个快照。我想要一个具有当前状态的普通 vdi。这些快照占用太多磁盘空间,不需要作为快照。
我知道如果我打电话
VBoxManage clonehd thedisk.vdi thedisk-full.vdi
(50-70 times) VBoxManage clonehd {uuid-of-snapshot}.vdi thedisk-full.vdi --existing
Run Code Online (Sandbox Code Playgroud)
我会得到我想要的。但这需要很长时间(考虑到我的硬件和 16G 初始磁盘大小,超过 5 小时)。
而且,当然,我尝试过VBoxManage snapshot delete,但很奇怪:在停止的机器上不起作用,在正在运行的机器上可能会失败,一旦失败,所有后续调用都会失败。
有没有办法从多个快照中制作普通的 vdi - 更快?
$ VBoxManage --version
3.2.14r75509
Run Code Online (Sandbox Code Playgroud)
(在ServerFault上问过,但决定这个地方更适合这个问题)
And*_*tov 58
找到了解决办法。它就像我在这里写的命令的最后一步一样简单。IE
VBoxManage clonehd fullpath/{uuid-of-last-snapshot}.vdi thedisk-full.vdi
Run Code Online (Sandbox Code Playgroud)
所以我应该只克隆最后一个快照,而不是链中的每个快照。而且它的速度要快数千%。
uuid 可以从 VBoxManage list hdds | grep VmName | tail
在 GUI(在 Windows 上)中,选择 VM,从右上角选择Snapshots,右键单击您想要的快照,选择Clone...,然后在对话框中选择Full Clone。
小智 25
这是一种技术(在 VirtualBox 4.3.4 上测试),它使用“克隆”命令将所有快照合并并压缩到包含单个 VDI 文件的新 VM:
重命名 VM,以便您可以为克隆的 VM 重用其当前名称(您可以从“常规”设置的“基本”选项卡更改 VM 名称)。
右键单击 VM 并运行“克隆...”命令:
删除旧 VM(右键单击 VM 并运行“删除...”命令)。