Qual é a diferença entre arquivos Virtualbox .SAV e .VDI?

7

Eu pensei que a VDI é uma imagem de disco virtual e aprendi que ela também é usada para instantâneos. Então eu abri a pasta snapshots e encontrei um monte de VDIs. Até aí tudo bem.

Então eu li em algum lugar que o SAV é usado para o estado atual. Isso é verdade? E se é verdade, então devemos ter apenas um arquivo SAV (uma vez que haverá apenas um estado atual para uma máquina virtual. Mas quando eu olhei na minha pasta de instantâneos eu encontrei 2 arquivos SAV (e 2 VDI). Isso é normal ou minha máquina está corrompida?

Então, qual é realmente a diferença entre o SAV e o VDI? Um instantâneo é representado por um de cada tipo?

Se for importante, estou usando a versão 4.3.20.

    
por user453441 14.02.2015 / 21:07

1 resposta

9

Você está correto ao pensar que um arquivo .vdi é um arquivo de imagem de disco virtual e que eles são usados por instantâneos.

Quando um instantâneo é criado, um novo arquivo .vdi é criado, no qual a diferença do instantâneo é armazenada. Isso é chamado de "armazenamento diferenciado".

Technically, a snapshot records an entire VM state, which includes all attached drives, however most people do also use the word as a synonym for "delta image", "difference image" or "child image" when discussing the role of a single VDI in a snapshot chain, other than the base VDI. Source


After a snapshot has been taken, VirtualBox creates differencing hard disk for each normal hard disk associated with the machine so that when a snapshot is restored, the contents of the virtual machine's virtual hard disks can be quickly reset by simply dropping the pre-existing differencing files. Source

Você pode imaginar como isso pode ser útil quando você precisa criar várias "ramificações" a partir de um instantâneo - cada VDI do instantâneo conterá apenas as diferenças adicionadas por esse instantâneo, e não nada que exista no VDI de base. Por exemplo, considere um disco base (instantâneo) com 50 GB de arquivos e vários instantâneos filhos, cada um adicionando 10 GB de dados exclusivos. Cada VDI filho será tão grande quanto o necessário para armazenar seus 10 GB de dados, em vez de incluir os 50 GB do disco base.

Se você abrir o Gerenciador de Mídia Virtual ( Arquivo Gerenciador de Mídia Virtual no Windows), poderá ver uma exibição em árvore dos seus discos rígidos virtuais em "Discos rígidos". " aba. Aqui você pode ver os discos e seus filhos. Clicar em um disco exibirá suas informações.

Por exemplo, tenho um disco cujas informações são exibidas:

Foo.vdi
Type: Normal
Location: C:\VirtualBox VMs\Foo\Foo.vdi
Storage details: Dynamically allocated storage
Attached to: Foo (Bar)

A informação do seu descendente mais distante é:

{bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb}.vdi
Type: Differencing
Location: C:\VirtualBox VMs\Foo\Snapshots\{bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb}.vdi
Storage details: Dynamically allocated differencing storage
Attached to: Foo

Neste exemplo, "Foo" é o nome da VM e "Bar" é o nome da primeira captura instantânea. "{bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb}" é o UUID do último disco .

O arquivo .vbox da VM contém um documento XML descrevendo a VM, incluindo suas capturas instantâneas. O nó VirtualBox contém um nó filho Machine , que pode conter Snapshot nós. O atributo stateFile neste nó especifica o arquivo .sav associado a este instantâneo, se houver.

The .sav file is essentially a memory dump, though other processor information (such as registers) is probably stored too. Source
Strangely, he also says that .sav files have nothing to do with snapshots, which is incorrect.


A .sav file contains always the complete state of the guest at a certain point in time. It does not contain any information stored on external devices like virtual disks. When a snapshot is created, a .sav file is created containing the VM state which is required to restore the guest state for that time and a new differential disk image is created for each virtual disk (which is not attached in some special mode to prevent that). From now on, guest disk write requests go to the differential image. When you restore a snapshot, the differential image is removed so all changes to the disk after the snapshot was created are lost. Source

Para responder diretamente às suas perguntas:

[...] SAV is used for the current state. Is this true?

Quando o estado da máquina é salvo, o estado atual nesse momento é salvo em um arquivo .sav .

[...] we should only have one SAV file (since there will only be one current state for a virtual machine

Claro, há apenas um estado atual , mas os arquivos .sav criados por um instantâneo contêm estados anteriores .

[...] I found 2 SAV (and 2 VDI) files. Is that normal [...] ?


Is a snapshot represented by one of each type?

Isso é normal. Estou assumindo que é possível ter vários instantâneos sem .sav arquivos se os instantâneos foram tirados enquanto a VM não estava em execução, pois não há estado de execução (volátil) a ser salvo. Se sua máquina estiver em execução quando você tirar uma foto instantânea, será criado um arquivo .sav .

So what is really the difference between SAV and VDI?

Um arquivo .vdi é um disco virtual, contendo armazenamento persistente. Um arquivo .sav contém um dump de informações de estado volátil, que permite retomar o estado de uma máquina. Juntos, eles facilitam a restauração completa de um estado de VM que foi criado por meio de um instantâneo.

Ambos podem ser usados independentemente um do outro. Os arquivos .sav também são usados quando você fecha uma VM e salva seu estado. Os arquivos .vdi também podem ser usados como armazenamento persistente fora do escopo da captura instantânea.

    
por 30.05.2015 / 17:28

Tags