Um arquivo de máquina virtual de tamanho fixo (vmdk, etc.) se torna frageded?

5

Lembre-se de algo da classe SO sobre fragmentação e queria saber se alguém sabe ao certo se um arquivo de VM pode se tornar fragmentado se você informar qual tamanho deve ser o disco rígido desde o início.

Eu não estou perguntando se os arquivos na VM podem se tornar fragmentados, se eles são realmente uma máquina virtual, então qualquer coisa que pode acontecer com um disco rígido físico pode acontecer com um disco rígido virtual.

O que estou perguntando é se, quando as máquinas virtuais alteram o estado de uma determinada sessão, o próprio arquivo enorme fica fragmentado. Eu imagino que um arquivo de máquina virtual fragmentado pode ser um grande problema, porque você pode estar alcançando vários pratos para dados que um disco rígido regular manteria ao lado um do outro.

Por exemplo, se eu tiver 30 gigabytes livres e criar um arquivo de VM de 20 gigabytes (tamanho fixo), pode haver uma boa chance de que o arquivo não esteja ocupando espaço contíguo no disco rígido. Em um mundo perfeito, a desfragmentação pode consertar isso.

Mas digamos que eu tenha 150 gig's de graça, eu adiciono uma VM de 20 gig (tamanho fixo), então eu baixo todos os Star Trek The Next Generation, deixando-me com 5 gigabytes de espaço livre. Eu abro e fecho minha máquina virtual 900 vezes. Tenho fragmentação na minha máquina virtual ou ela ainda ocupa o mesmo pedaço contíguo?

    
por Peter Turner 23.11.2009 / 18:46

5 respostas

4

Se você pré-alocar todo o espaço, em vez de ter um volume crescente conforme necessário, então não deve haver nenhuma fragmentação.

Eu não sei ao certo, mas acho que seria sensato pré-alocar todo o espaço e, em seguida, desfragmentar o disco, só para ter certeza.

    
por 23.11.2009 / 18:54
4

O SO host trata o arquivo *.vmdk como qualquer outro arquivo grande - desde que seja criado em um espaço contíguo e não mude de tamanho, ele permanecerá assim. (Eu estou supondo que não há compressão, criptografia, velociraptors ou outros fatores incomuns)

Contanto que o arquivo não mude de tamanho, o SO não tem motivos para mover setores no disco. A situação é a mesma com um arquivo de paginação de tamanho fixo.

Sobre o recurso "snapshots" do VMware: Cada snapshot é armazenado em um arquivo diferente. Sua imagem principal pode ser chamada de blah-flat.vmdk e, em seguida, seus instantâneos seriam chamados de blah-00000001.vmdk , blah-0000002.vmdk , etc. Seu arquivo simples nunca mudará de tamanho, mas os arquivos de instantâneos podem ficar fragmentados. / p>

Por fim, o desfragmentador do Windows (IIRC) lista os arquivos que não desfragmentaram - essa seria a fonte de informações mais autoritária.

    
por 02.12.2009 / 20:32
2

Um disco rígido da VM pode ser tratado da mesma forma que um disco rígido normal, incluindo fragmentações.

Apenas alguns dias atrás, eu uso ferramentas de recuperação para recuperar um arquivo de um disco rígido crescente da VM, por isso, mesmo em tamanho fixo, ele não substitui os setores rapidamente.

    
por 23.11.2009 / 18:57
1

Há duas camadas de fragmentação a serem consideradas (se o disco de vm estiver armazenado como um arquivo na máquina host), a fragmentação causada pelo sistema de arquivos na máquina host e a fragmentação no sistema de arquivos guests.

Mas, supondo que seu disco vm pré-alocado esteja perfeitamente desfragmentado, a máquina virtual não terá motivo para recriar / reorganizar o disco vm e reutilizará o que existe. Portanto, a máquina virtual em si não tem motivo para causar fragmentação no sistema de arquivos do host.

Mas, dependendo do sistema de arquivos do host, não há garantia de que ele será sempre desfragmentado; se o sistema de arquivos decidir que precisa organizar alguns arquivos, ele poderá fazê-lo (se houver sistemas de arquivos que façam isso ou não, não faço ideia, considere esta teoria ). Eu não sou um especialista em sistemas de arquivos, mas a menos que haja uma razão (não consigo ver um?) Para fazê-lo, duvido que seria simplesmente fragmentar arquivos aleatoriamente por diversão. Então, na maioria dos casos, ele permanecerá bem desfraldado.

Mas o sistema de arquivos guest, é claro, ainda se fragmentará como sempre (talvez não muito, apenas abrindo / fechando 900 vezes).

E se o sistema de arquivos host fragmentar o arquivo vm-disk, o sistema de arquivos guest interno pode parecer totalmente não fragmentado quando, na verdade, é uma bagunça total, o convidado não terá consciência disso.

    
por 02.12.2009 / 20:08
0

Discos rígidos virtuais são iguais aos discos rígidos comuns, não importa que estejam armazenados em um contêiner de arquivos e não em uma unidade física. Se você estiver executando o Windows na VM, é o mesmo que executar janelas no seu PC. O SO ainda age da mesma forma e a unidade tem a mesma probabilidade de se tornar fragmentada.

    
por 23.11.2009 / 19:56