Questão Que imagem de disco devo usar com o VirtualBox, VDI, VMDK, VHD ou HDD?


As versões mais recentes do VirtualBox suportam vários formatos para discos virtuais, mas eles se esqueceram de fornecer uma comparação entre eles.

  • VDI
  • VMDK
  • VHD
  • HDD

Agora, estou interessado em uma recomendação ou comparação que considere o seguinte:

  • ser capaz de usar o dimensionamento dinâmico
  • ser capaz de ter instantâneos
  • ser capaz de mover minha máquina virtual para outro sistema operacional ou até mesmo outra solução de virtualização livre com o mínimo de esforço (provavelmente algo que rodaria bem no Ubuntu).
  • desempenho

249


origem


Executar caixa Virtual e clique no ícone de ajuda> Conteúdo, há uma explicação justa lá em "Armazenamento Virtual" - Moab
Em relação à migração para "outra solução de virtualização gratuita ... que rodaria bem no Ubuntu", tenho certeza que o VirtualBox está disponível para Linux. - Iszi
Em termos de desempenho, acho que o melhor é criar discos fixos se você tiver espaço. Caso contrário, é muito estressante no sistema operacional ao usar a máquina virtual em vez de uma vez no momento da criação. - Alexis Wilke
Outra coisa a considerar é redimensionar a imagem quando você precisar - o VBoxManage não pode redimensionar VMDK's, então você teria que clonar primeiro na VDI, depois redimensionar, e então voltar para VMDK + fudge up the UUID. Por esse motivo, a VDI parece a melhor escolha para mim. - Mike Demenok


Respostas:


VirtualBox tem suporte total para VDI, VMDKe VHD e suporte para Parallels versão 2 (HDD) (versões não mais recentes).

Respondendo suas considerações

  • ser capaz de usar o dimensionamento dinâmico

VDI, VMDKe VHD todos suportam dimensionamento alocado dinamicamente. O VMDK possui um recurso adicional de dividir o arquivo de armazenamento em arquivos com menos de 2 GB cada, o que é útil se o sistema de arquivos tiver um limite pequeno de tamanho de arquivo.

  • ser capaz de ter instantâneos

Todos os quatro formatos suporta instantâneos no VirtualBox.

  • ser capaz de mover minha máquina virtual para outro sistema operacional ou até mesmo outra solução de virtualização livre com o mínimo de esforço (provavelmente algo que rodaria bem no Ubuntu).

VDI é o formato nativo do VirtualBox. Eu não procurei por nenhum outro software que suporte este formato.

O VMDK é desenvolvido por e para VMWare, mas o Sun xVM, o QEMU, o VirtualBox, o SUSE Studio e o .NET DiscUtils também o suportam. (Este formato pode ser o mais adequado para você, porque você quer um software de virtualização que funcione bem no Ubuntu.)

VHD é o formato nativo do Microsoft Virtual PC. Esse é um formato popular entre os produtos da Microsoft.

Eu não sei nada sobre o HDD. A julgar por olhar esse site, Parallels é um produto Mac OS X e provavelmente não é adequado para você, especialmente considerando que o VirtualBox suporta apenas uma versão antiga do formato HDD.

  • desempenho

O formato não deve afetar o desempenho ou, pelo menos, os impactos no desempenho são insignificantes.

Os fatores que influenciam o desempenho são:

  • limitações do seu dispositivo físico (muito mais perceptível em uma unidade de disco rígido do que Disco de Estado Sólido... Por quê?)
  • Expandir uma unidade de disco virtual alocada dinamicamente (as operações de gravação são mais lentas à medida que o disco virtual se expande, mas, quando ele é grande o suficiente, a expansão deve acontecer menos)
  • tecnologia de virtualização (hardware vs. software; a virtualização de hardware ajuda o VirtualBox e melhora a velocidade dos sistemas operacionais virtuais)
  • o fato de você estar executando um sistema operacional virtual. O desempenho é sempre mais lento do que executar um sistema operacional no host devido ao processo de virtualização.

178



Eu adicionarei que o VMDK parece oferecer a panacéia que eu tenho procurado em termos de backups incrementais: eu não ter para fazer backup de um enorme VDI de monolitro para uma mudança de bit único no convidado. - msanford
Eu acho que há algumas considerações em falta sobre o disco rígido host bruto, que é o convidado virtual usando um disco rígido "físico" (ou dispositivo RAID), como visto a partir do host. Isso permitiria melhores desempenhos do que usar um drive simulado em um sistema de arquivos. - Enzo
@Enzo: Eu uso o VMDK em um dispositivo de bloco bruto agora. O grande problema é que o VirtualBox precisa ser executado como root. Além disso, os instantâneos não são suportados em discos brutos, mas eu tenho um sistema de instantâneos de terceiros (ZFS). O VMDK em um disco bruto também é muito menos portátil. Quanto ao desempenho, não tenho nenhum benchmark sólido, mas também não tenho reclamações. - Deltik
O VHD pode ser montado como uma unidade no Gerenciamento de Disco do Windows, que não parece tão simples com o VDI: superuser.com/q/342334/13889 - endolith
@msanford você poderia explicar como o VMDK evita fazer backup do arquivo enorme - o rsync consegue melhor descobrir as diferenças? o arquivo VMDK também parece mudar a cada mudança. - Ben Creasy


Eu sempre uso VDI, como é o formato nativo do VirtualBox; no entanto, usar um VMDK (formato VMWare) aumentará a compatibilidade com outro software de máquina virtual.

O VirtualBox rodará bem no Ubuntu, então se o objetivo for a interoperabilidade do Windows / Ubuntu, a VDI seria uma escolha perfeitamente válida.

Ambos os formatos atenderão aos seus requisitos.

Quanto aos outros dois, o VHD é um formato desenvolvido pela Microsoft, e o HDD é um formato desenvolvido pela Apple; ambos são licenciados por proprietários, portanto, limite o suporte a várias plataformas; Eu não os recomendaria.


33





Mpack, explica uma diferença de desempenho chave entre VHD e VDI aqui:

Tendo estudado recentemente o formato VHD, eu esperaria que houvesse pelo menos uma pequena diferença em VDIs, mais perceptível quando você está comparando com o like, ou seja, um VHD otimizado vs VHD otimizado. A razão é que o formato dinâmico de VHD tem esses setores de "bitmap" espalhados pelo disco. Toda vez que você modifica um setor dentro de um bloco, esses blocos de bitmap podem precisar ser atualizados e escritos também, envolvendo buscas, leituras e gravações extras. Esses setores de bitmap também precisam ser ignorados ao ler clusters consecutivos de uma imagem de unidade - mais pesquisas. O formato VDI não tem essas sobrecargas, especialmente se o VDI foi otimizado (blocos no disco virtual classificados na ordem LBA).

Todos os meus comentários se aplicam ao formato VHD dinâmico versus VDI dinâmico. Testes de desempenho em discos virtuais de tamanho fixo são inúteis, já que ambos os formatos são os mesmos (apenas uma imagem simples de um disco), eles têm cabeçalhos diferentes.

https://forums.virtualbox.org/viewtopic.php?f=1&t=22688


14





Não sei se usar o vmdk permitiria executar de forma transparente uma máquina virtual criada no VirtualBox no VMware ou não. Pode ser. No entanto, uma opção mais universal pode ser usar a função VirtualBox File / Export para criar um arquivo .ova do "Open Virtualization Appliance" que pode ser importado para o VMware. Com essa abordagem, você pode migrar para qualquer sistema de virtualização que suporte o .ova sem importar qual formato de imagem de disco você usa no VirtualBox.

Se você precisar exportar da mesma VM em intervalos regulares, por exemplo, todos os dias, isso poderia ser uma dor. Mas se você passar para uma tecnologia diferente ocasionalmente, tudo bem.

Se você já tiver um arquivo .vdi, poderá testar se isso funciona sem precisar criar uma nova máquina virtual. Exporte-o para um .ova e tente importar com o vmware.


5





Os arquivos de imagem de disco residem no sistema host e são vistos pelos sistemas convidados como discos rígidos de determinada geometria. Quando um sistema operacional convidado lê ou grava em um disco rígido, o VirtualBox redireciona a solicitação para o arquivo de imagem.

Como um disco físico, um disco virtual tem um tamanho (capacidade), que deve ser especificado quando o arquivo de imagem é criado. Ao contrário de um disco físico, o VirtualBox permite que você expanda um arquivo de imagem após a criação, mesmo que já tenha dados; O VirtualBox suporta quatro variantes de arquivos de imagem de disco:

VDI: Normalmente, o VirtualBox usa seu próprio formato de contêiner para discos rígidos convidados - arquivos de Imagem de Disco Virtual (VDI). Em particular, esse formato será usado quando você criar uma nova máquina virtual com um novo disco.

VMDK: O VirtualBox também oferece suporte total ao formato de contêiner VMDK popular e aberto que é usado por muitos outros produtos de virtualização, em particular, pelo VMware. [25]

VHD: o VirtualBox também oferece suporte total ao formato VHD usado pela Microsoft.

Arquivos de imagem da versão 2 do Parallels (formato HDD) também são suportados. [26] Por falta de documentação do formato, os formatos mais recentes (3 e 4) não são suportados. No entanto, você pode converter esses arquivos de imagem para o formato da versão 2 usando as ferramentas fornecidas pelo Parallels.


5



Esta resposta vem do capítulo 5 do manual do VirtualBox. ligação - JerryOL


Uma boa razão para eu usar o vmdk é que o Virtualbox (pelo menos até a v4.1) usando o formato VDI tem a tendência, ao longo do tempo, de preencher todo o espaço em disco alocado, embora o uso do disco virtual interno ainda seja muito menor. Com o Virtualbox usando discos vmdk, isso parece ser um problema menor.

Mas estou falando de anos de atividade. Isso pode não ser um problema que muitas pessoas enfrentam.


4



Está mais relacionado à fragmentação do sistema de arquivos convidado do que ao próprio formato. - Enzo


Depende de como você planeja usar o disco virtual também. Nem toda VM quer uma única partição em um único disco.

VDI parece ter mais opções (quando usado com o VirtualBox), mas assim que você tira o VirtualBox da imagem, o suporte para VDI se torna um pouco instável (a partir do final de 2014).

Por exemplo, minhas soluções precisam ter suporte máximo em várias plataformas. Montar um VDI (como um dispositivo de loopback) no linux ou no Windows 7 é mais difícil e mais complicado do que o esperado. Quase como o VDI tem muitos recursos, tornando difícil fazer utilitários que estejam em conformidade e que possam operar nele.

VMDK é apenas menos IMHO indolor quando você quer que ele trabalhe com qualquer VM em qualquer estação de trabalho, quando você deseja cloná-lo 3 vezes para outros sistemas na rede ao mesmo tempo, e quando você quiser forçá-lo aberto sem iniciar uma VM instância.

Embora eu use o VirtualBox 90% do tempo, as poucas vezes em que meus discos se tornam inacessíveis em determinados fluxos de trabalho me levaram a favorecer o VMDK para sistemas de arquivos conectáveis ​​/ compartilhados.


3





Parece que usando VDI torna possível cortar o arquivo de disco para o seu tamanho real Suporte ao comando TRIM do VirtualBox e do SSD


3



Embora preciso, é um pouco sem brilho para uma pergunta que pergunta sobre as diferenças gerais entre esses formatos, não acha? - Seth
@Seth A visão geral geral foi fornecida por respostas anteriores e eu não tenho representante suficiente para apenas comentar, mas ainda é importante mencionar esse fato - OwnageIsMagic
Apenas como sugestão, adicione-o para dar mais contexto. Por exemplo. "Enquanto esta resposta fornece uma boa visão geral, você também deve considerar a vantagem de ... ". Assim, mesmo se ler sozinho a sua resposta tem uma relação com um mais geral. - Seth
@Seth existe edit botão sob minha pergunta para você: D - OwnageIsMagic
É uma sugestão para você sobre como melhorar o post. A decisão é sua sempre que você quiser, pois é apenas a minha opinião. Mais ou menos reescrever um em uma edição é um estilo bastante ruim - novamente apenas minha opinião. ;) - Seth


A VDI é muito mais fácil de compactar se a VM ficar muito grande.


1