Devo desfragmentar o disco rígido em execução em uma máquina virtual?

18

Eu sei que não faz sentido (na verdade, é uma má idéia) rodar o Defrag em um SSD. Que tal uma máquina virtual rodando em um SSD, eu deveria desfragmentar seu disco rígido, já que basicamente ele está acessando o disco rígido da mesma maneira?

    
por Kris Erickson 09.02.2012 / 18:50

8 respostas

13

Eu desfragmente meus VHDs, mas por razões de espaço, não de tempo:

Eu uso a opção alocada dinamicamente para VHDs, para que eles comecem pequenos e expandam conforme necessário. Mas como o VHD (não necessariamente os arquivos) se torna fragmentado, ele se expande para incluir todos os blocos alocados. Desfragmentar o VHD é o primeiro passo para compactá-lo novamente.

    
por 09.02.2012 / 21:13
3

Não há necessidade de desfragmentar um SSD. Um disco rígido regular precisa girar para encontrar (partes de) arquivos. Um SSD é comparável à RAM, todos os arquivos podem ser alcançados com o mesmo atraso.

Wikipedia afirma que "O desempenho de leitura não é alterado com base em onde os dados são armazenados em um SSD"

    
por 09.02.2012 / 19:46
2

Esta é apenas a minha opinião, eu não tenho resultados de testes para fazer o backup. Aqui está uma aproximação aproximada de como as coisas provavelmente acontecem:

SO real:

  1. O aplicativo solicita dados X (rápidos)
  2. o SO solicita o driver de disco para dados X (rápido)
  3. O disco físico busca dados X e os retorna ao sistema operacional ( lento se fragmentado )

Aqui seria a cadeia de comando equivalente em uma VM:

  1. o aplicativo da VM solicita dados X (rápidos)
  2. O VM OS solicita dados X (rápidos)
  3. O host da VM solicita que o SO real armazene os dados X no arquivo do disco virtual (rápido)
  4. O Real OS pede ao driver de disco para obter dados X (rápido)
  5. O disco físico busca dados X e os retorna ao sistema operacional ( lento se fragmentado ).

Como você pode ver, em ambos os casos a fragmentação só se torna um problema no estágio da operação onde o disco rígido físico tenta ler os dados, e isso acontece no SO real, fora do contexto da VM. Antes disso, tudo provavelmente acontece na memória.

Em conclusão, uma vez que sabemos que os SSDs não sofrem fragmentação no sistema operacional real, e que a questão da fragmentação em uma VM provavelmente ocorre apenas na última etapa física da operação, eu diria que desfragmentar sua virtual O sistema operacional ou o arquivo de disco virtual em seu sistema operacional principal não melhoraria o desempenho em um SSD, mas seria tão prejudicial / inútil quanto a desfragmentação do sistema operacional real.

Edit: E se isso estiver correto, é uma ótima razão para colocar uma VM em um SSD! Em um disco rígido, a fragmentação em qualquer estágio (sistema operacional convidado, arquivo de disco virtual, sistema operacional real) quebrará a linearidade e causará a fragmentação na etapa do disco físico.

    
por 09.02.2012 / 20:30
2

Se a sua máquina virtual está acessando dados que estão armazenados em HDD magnético tradicional ou SSD eletrônico, arquivo Windows NTFS & a fragmentação de espaço livre diminui a velocidade de acesso de aplicativos que solicitam dados. O arquivo NTFS e a fragmentação de espaço livre acontecem com muito mais freqüência do que você pode imaginar. Ele tem o potencial de acontecer assim que você instalar o sistema operacional. Isso pode acontecer quando você instala aplicativos ou atualizações do sistema, acessa a Internet, baixa e salva fotos, cria e-mails, documentos de escritório, etc. É uma ocorrência e comportamento normal do sistema de computador, mas tem um efeito negativo em mais de todo o desempenho do aplicativo e do sistema. À medida que a fragmentação acontece, o sistema de computação e o armazenamento subjacente estão realizando mais trabalho do que o necessário. Cada solicitação de E / S leva um tempo mensurável. Mesmo em ambientes SSD, não existe uma solicitação de E / S “instantânea”. Sempre que um aplicativo solicita a leitura ou gravação de dados e essa solicitação é dividida em solicitações adicionais de E / S, isso faz com que mais trabalho seja feito. Esse trabalho extra causa um atraso exatamente naquele exato momento.

As unidades de disco ficaram mais rápidas ao longo dos anos, mas também têm CPUs. Na verdade, a diferença entre a diferença de velocidade entre os discos rígidos e a CPU na verdade se ampliou. Isso significa que os aplicativos podem obter muitos ciclos de CPU, mas ainda estão morrendo de fome para obter os dados do armazenamento. Além disso, a quantidade de dados que está sendo armazenada aumentou drasticamente. Basta pensar em todas as fotos digitais tiradas e compartilhadas durante os feriados. Cada foto tem aproximadamente 1 MB de tamanho, agora eles estão excedendo 15 MB por foto e alguns vão além disso. Edição de vídeo e renderização e armazenamento de filmes digitais também se tornaram bastante populares e, como resultado, os aplicativos estão manipulando centenas de gigabytes de dados. Com tamanhos de cluster de disco típicos de 4k, um arquivo de tamanho de 15 MB poderia ser fragmentado em quase 4.000 extensões. Isso significa que mais de 4.000 solicitações de E / S de disco são necessárias para ler ou gravar o arquivo. Não importa o tipo de armazenamento, levará mais tempo para concluir a operação.

O posicionamento físico dos dados em um SSD não importa realmente em HDDs magnéticos regulares. Com um SSD não há latência rotacional ou tempo de busca para enfrentar. Muitos especialistas presumem que a fragmentação não é mais um problema, mas a velocidade de acesso aos dados do aplicativo não é apenas definida nesses termos. Toda e qualquer solicitação de E / S executada leva um tempo mensurável. Os SSDs são rápidos, mas não são instantâneos. O sistema de arquivos Windows NTFS não se comporta de maneira diferente porque o armazenamento subjacente é um SSD vs. HDD e, portanto, a fragmentação ainda ocorre. Reduzir as E / S desnecessárias, impedindo e erradicando a fragmentação, reduz o número de solicitações de E / S e, como resultado, acelera o tempo de resposta dos dados do aplicativo e melhora a vida útil geral do SSD. Em essência, isso gera operações de E / S mais sequenciais, que geralmente são mais rápidas e superam as gravações aleatórias.

Além disso, os SSDs exigem que os dados antigos sejam apagados antes que novos dados sejam gravados, em vez de apenas gravar as informações antigas como nos HDDs. Isso dobra o desgaste e pode causar grandes problemas com o desempenho de velocidade e a vida útil do SSD. A maioria dos fabricantes de SSD possui tecnologias de nivelamento de desgaste muito sofisticadas para ajudar nisso. A questão principal é a degradação da velocidade de gravação devido à fragmentação do espaço livre. Pequenos espaços livres espalhados pelo SSD fazem com que o sistema de arquivos NTFS grave um arquivo em partes fragmentadas nos pequenos espaços livres disponíveis. Isso tem o efeito de causar mais tráfego de E / S aleatório que é mais lento que operações sequenciais.

Eu tenho resultados de benchmark para confirmar isso. Se você quiser, poste um comentário, solicitando estes resultados, e eu ficaria feliz em compartilhá-los com você.

    
por 13.02.2012 / 17:56
2

Com relação à pergunta original de uma desfragmentação tradicional de um SSD, concordo que é uma má ideia, mas existem soluções específicas disponíveis que atendem às preocupações de movimentação de arquivos e vida útil do SSD.

Uma máquina virtual que executa o Windows como seu sistema operacional, a fragmentação ainda ocorrerá e o efeito combinado do tráfego de E / S extra reduzirá a velocidade e a eficiência não apenas dos sistemas guest, mas também do host. . Tanto a Microsoft quanto a VMware recomendam a necessidade de abordar a fragmentação no nível de convidado.

Veja por que…

  1. O aplicativo solicita dados X

  2. A solicitação é processada por NTFS.sys

  3. Os atributos do arquivo são examinados ($ MFT) e, se os dados não estiverem contidos em uma única extensão (fragmento), serão criadas solicitações de E / S adicionais para cada extensão / fragmento para atender à solicitação de dados original. / p>

  4. Cada uma dessas solicitações é enviada para o driver de armazenamento em disco.

  5. Quando os dados forem recuperados, eles serão repassados para o usuário / aplicativo.

Cada máquina virtual do Windows está enviando esse tipo de tráfego de E / S para o sistema host. Se a estrutura do sistema de arquivos estiver fragmentada no nível Convidado / Máquina virtual, isso se traduz em tráfego de E / S adicional e desnecessário que precisa ser manipulado pelo host e deve ser usado no armazenamento de back-end. Isso fica ainda mais complexo à medida que você adiciona mais e mais máquinas virtuais. Na verdade, você pode ter fragmentação dentro da fragmentação no nível do sistema de arquivos do host.

Se os dados estão armazenados em um SSD ou em um disco rígido tradicional, se você estiver executando o Windows, o sistema de arquivos NTFS ficará fragmentado e, como resultado, você nunca obterá a velocidade e a taxa de produção dos fabricantes devido ao arquivo NTFS e à fragmentação de espaço livre . Os efeitos podem ser medidos via PerfMon, observando o Comprimento Médio da Fila de Leitura de Disco, o Comprimento Médio da Fila de Gravação e, o mais importante, o IO / Sec. De Divisão.

    
por 14.02.2012 / 20:09
1

A partir do Windows Server 2008 e Windows Vista, tenha cuidado com a tarefa de desfragmentação programada padrão do Windows.

Pode ser desativado com: schtasks /change / tn “microsoft\windows\defrag\ScheduledDefrag” /disable

ou usando o PowerShell:

Get-ScheduledTask ScheduledDefrag | Disable-ScheduledTask

Extraído de: link

    
por 23.10.2015 / 17:07
0

Acabei de desfragmentar uma VM VMLite XPMode usando a desfragmentação do Windows hospedada em INTEL SSDSC2CW240A3 de 240 Gb.

Pré Desfragmentação do tamanho da VM no host - 7.83Gb (Espaço usado em C: na VM, 5.81Gb de 121Gb)

Pós-desfragmentação - 9.86Gb (Espaço usado em C: na VM, 5.80Gb de 121Gb)

Não é o resultado esperado e restaurei a versão anterior à desfragmentação.

    
por 19.08.2012 / 03:45
-1

Não, não realmente. Existem coisas como "Hyperfast" do Diskeeper, mas não tenho idéia de quão eficientes são essas tecnologias. (É talvez apenas um ripoff para que eles não caiam do mercado depois que o SSD se tornar mainstream.)

    
por 09.02.2012 / 19:04