imagem de disco virtual - arquivo ou partição

6

Estou vendo as diferenças entre usar um arquivo versus uma partição para armazenar uma imagem de disco virtual no uso da VM. O conhecimento comum é que as imagens baseadas em partição são mais rápidas do que as imagens baseadas em arquivos devido a uma redução na sobrecarga. Faz sentido, mas nunca vi números reais.

Os meus próprios testes confirmam um resultado diferente. Quando faço benchmark de um disco virtual direto para a partição, formate a mesma partição com o ext4, crie uma imagem de disco virtual armazenada nesse sistema de arquivos ext4 e, em seguida, faça um benchmark , não vejo aceleração alguma para o disco virtual direto para partição. Em vez disso, em alguns sistemas, a imagem baseada em arquivo é ainda mais rápida (possivelmente devido ao armazenamento em cache do sistema operacional host ou algo parecido). Este teste foi repetido muitas vezes em muitos sistemas, com resultados bastante consistentes.

Então, talvez jogando fora a justificativa de desempenho, ainda é considerado melhor para usar uma partição em vez de uma imagem de disco virtual? Existe alguma outra razão pela qual o acesso direto à partição é melhor que os arquivos de imagem?

Ou talvez haja algum motivo para seguir o caminho inverso? Talvez uma vantagem em um dos formatos de arquivo de disco virtual que você não obtém com imagens de partição brutas?

    
por tylerl 13.11.2012 / 07:54

1 resposta

4

O que faz diferença no desempenho é remover camadas de virtualização, usando uma partição que você remove uma camada (embora pequena) e, portanto, um ganho de desempenho é esperado. No entanto, se você estiver compartilhando o disco entre outras VM, o ganho de desempenho poderá ser nulo.

O ganho de desempenho aqui é tão pequeno que altamente depende da sua configuração de hardware (leia o controlador de disco e o layout RAID). Meu conhecimento comum diz que isso só faz sentido se o dispositivo (disco) não for compartilhado entre mais de uma VM, e a VM tiver acesso direto a ele. Outra opção é usar um controlador de disco em uma configuração passagem (seu hardware e sistema operacional convidado devem ter suporte para ele), dessa forma você remove duas camadas de virtualização e, portanto, o ganho de desempenho deve ser maior aparente.

    
por 13.11.2012 / 08:51