Evitando a fragmentação extrema de imagens de sistema compactadas em NTFS

8

Explicação do problema

Estou armazenando imagens de disco do Windows criadas com o wbadmin na unidade NTFS e descobri que a compactação com compactação NTFS oferece conservação de espaço de 1,5-2 ×, ainda oferecendo total disponibilidade para restauração.

Mas no processo de compactação, o arquivo fica incrivelmente fragmentado, geralmente acima de 100.000 fragmentos para a imagem de disco do sistema.

Com essa fragmentação, a desfragmentação demora muito tempo (várias horas por imagem). Alguns desfragmentadores ainda não conseguem lidar com isso, eles simplesmente pulam o arquivo ou travam.

A origem do problema é, penso eu, que o arquivo é compactado por fragmentos que são salvos separadamente.

A questão

Existe uma maneira boa (rápida) de obter o arquivo de imagem desfragmentado e mantê-lo compactado (ou compactá-lo sem causar extrema fragmentação)? Pode ser algum utilitário para desfragmentar rapidamente o arquivo para o espaço livre contínuo ou algum utilitário (ou método) para criar um arquivo compactado não fragmentado a partir de um não comprimido existente?

Comentáriosbaseadosemcomentários/respostas:

  1. Ferramentasdecompactaçãoexternas(paraokerneldoWindows)nãosãoumaopçãonomeucaso.Elesnãopodemdescompactararquivoson-the-fly(paradescompactararquivode10Gbeuprecisode10Gbgrátis,quenemsempreestáàmão;também,levamuitotempo);elesnãosãoacessíveisquandoosistemaéinicializadoapartirdoDVDpararecuperação(éexatamentequandoeuprecisodaimagemdisponível).Porfavor,paredeoferecê-losamenosqueelescriemarquivoscompactadostransaprentementeemntfs,comocompact.exe.
  2. AcompactaçãoNTFSnãoétãoruimparaimagensdosistema.Ébom,excetopelafragmentação.EadescompactaçãonãodemandamuitotempodeCPU,reduzindoaindaogargalodeE/S,oqueaumentaodesempenhoemcasosapropriados(arquivocompactadonãofragmentadocomproporçãosignificativa).
  3. Osutilitáriosdedesfragmentaçãodesfragmentamarquivossemqualquerconsideraçãoseestiveremcompactados.Oúnicoproblemaéonúmerodefragmentos,oquecausaumafalhadedesfragmentação,nãoimportandoseoarquivofragmentadoestácompactadoounão.Seonúmerodefragmentosnãoforalto(cercade10000jáestáok),oarquivocompactadoserádesfragmentadoepermanecerácompactadoeintacto.
  4. AtaxadecompactaçãoNTFSpodeserboa,dependendodosarquivos.Asimagensdosistemasãogeralmentecompactadasparanomáximo70%dotamanhooriginal.

    Pardescreenshotsparaaquelesquenãoacreditam,masofc,vocêpodefazerseusprópriostestes.

  5. Na verdade, eu fiz restaurações de imagens compactadas com NTFS, fragmentadas e não fragmentadas, funciona, por favor, confie em mim ou apenas verifique você mesmo. rem: como eu encontrei em torno de um ano atrás, ele não funciona no Windows 8.1. Até agora funciona no Windows 7, 8 e 10.

Resposta esperada:

um método de trabalho ou um programa para o Windows:

  1. comprima o arquivo (com a compactação NTFS e mantenha-o acessível ao Windows Recovery) sem criar muitos fragmentos (talvez em outra partição ou faça uma cópia compactada; ele deve ser pelo menos 3x mais rápido no HDD que compact + defrag ),

    ou

  2. para rapidamente (pelo menos 3x mais rápido que a desfragmentação do Windows no HDD) desfragmentar arquivos fragmentados, como um contendo 100K + fragmentos (ele deve permanecer compactado após a desfragmentação).

por LogicDaemon 26.12.2013 / 13:24

4 respostas

4

Evitando a fragmentação

O segredo é não escrever arquivos descompactados no disco para começar.

De fato, depois de compactar um arquivo grande já existente, ele ficará terrivelmente fragmentado devido à natureza do algoritmo de compactação no local do NTFS.

Em vez disso, você pode evitar completamente essa desvantagem fazendo o OS compactar o conteúdo de um arquivo rapidamente, antes de gravá-lo no disco. Desta forma, os arquivos compactados serão gravados no disco como qualquer arquivo normal - sem intervalos não intencionais. Para este efeito, você precisa criar uma pasta compactada. (Da mesma forma que você marca os arquivos a serem compactados, você pode marcar as pastas a serem compactadas.) Depois disso, todos os arquivos gravados nessa pasta serão compactados imediatamente (ou seja, gravados como fluxos de blocos compactados). Os arquivos compactados dessa forma ainda podem ficar fragmentados, mas estarão muito longe da confusão criada pela compactação NTFS no local.

Exemplo

NTFS comprimiu 232 Imagem do sistema Mb para 125 Mb:

  • Compressão no local criada com incríveis 2680 fragmentos!
  • Compressão imediata criada 19 fragmentos.

Desfragmentação

É verdade que arquivos compactados NTFS podem representar um problema para algumas ferramentas de desfragmentação. Por exemplo, uma ferramenta que eu uso normalmente não pode lidar com eles de forma eficiente - ela diminui a velocidade para um rastreamento. Não se preocupe, o antigo confiável Contig da Sysinternals faz o trabalho de desfragmentando arquivos compactados NTFS de forma rápida e sem esforço!

    
por 29.04.2017 / 03:46
2

Lendo o artigo na Wikipedia sobre compactação NTFS :

Files are compressed in 16-cluster chunks. With 4 kB clusters, files are compressed in 64 kB chunks. If the compression reduces 64 kB of data to 60 kB or less, NTFS treats the unneeded 4 kB pages like empty sparse file clusters—they are not written.

This allows for reasonable random-access times - the OS just has to follow the chain of fragments.

However, large compressible files become highly fragmented since every chunk < 64KB becomes a fragment.

Primeiras coisas primeiro. O WBAdmin é, em essência, um utilitário de backup que permite restaurar um sistema completo. Portanto, espera-se que o arquivo de saída seja grande (> 4 Gb). Como mostrado pela citação, arquivos grandes se tornam rapidamente fragmentados. Isso se deve à maneira como o NTFS compacta: não por arquivos, mas por setores.

Uma boa analogia é a de um bolo ser dividido em várias caixas, algumas das quais não estão vazias. Este é o arquivo inicial. A parte de compressão aperta os pedaços de bolo, deixando um espaço nas caixas. Como os pedaços de bolo não estão juntos, por causa do espaço criado, as peças que compõem o bolo se tornam fragmentadas.

Ainda estou cético sobre o NTFS que oferece esse tipo de taxa de compactação. De acordo com um teste feito por MaximumCompression em vários arquivos, o NTFS obtém a pontuação mais baixa na taxa de compactação, um mísero 40% . Pela experiência pessoal, posso dizer que é muito mais baixo do que isso, de fato tão baixo que nunca me preocupei em usá-lo nem vi seus efeitos.

A melhor maneira de evitar a fragmentação é parar de depender do NTFS. A maioria dos desfragmentadores não expandirá nem moverá os arquivos compactados. Se de alguma forma o fizessem, o NTFS não conseguiria expandir os arquivos, ou se pudesse, como o processo de desfragmentação preencheria o espaço restante da compactação (o 4kB), a expansão fragmentaria os arquivos, já que o arquivo não ser escrito nos clusters antes contíguos.

Dito isto, e se você não precisa ler o arquivo constantemente, use alguns dos formatos recomendados no link acima. 7z e rar são bastante eficientes (isto é, comprimem com altas taxas em um tempo decente). Se você se preocupa com espaço e não com o tempo, escolha um algoritmo do tipo PAQ (embora você gaste muito tempo para compactar e descompactar os arquivos). Existem também algoritmos rápidos disponíveis.

Se você precisar ler o arquivo constantemente, não o comprima. O NTFS é muito confuso.

    
por 26.12.2013 / 17:20
0

Embora não seja exatamente o que o OP pediu, tive uma boa experiência com um software de terceiros chamado Paragon. NTFS por definição trashes seu sistema de arquivos algo horrivelmente quando você compactar (ou às vezes até mesmo escrever) arquivos. Isso se estende ao consumo de várias entradas da MFT e ... É ruim. O driver NTFS da Microsoft nem limpa isso quando um arquivo é desfragmentado. Portanto, ferramentas de terceiros são necessárias. O Paragon permite que você inicialize como um sistema operacional em si (imagem ISO) ou instale em outro sistema operacional Windows com acesso ao sistema de arquivos de destino. Então você pode desfragmentar tanto a MFT quanto os arquivos. Isso é do meu conhecimento a única maneira de corrigir essa deficiência no NTFS, a não ser reformatar o volume.

(Eu não tenho nenhuma relação com a ferramenta ou seu criador além de ser a única coisa que eu encontrei para realmente trabalhar)

Hoje, dois anos depois de a pergunta aparentemente ter sido feita, eu prefiro recomendar a desduplicação - isso pode proporcionar uma economia de 90% em disco se as imagens forem "um pouco" diferentes. Um W2016 Nano Server dentro de uma VM funciona muito bem, mas eu suspeito que até mesmo o FreeNAS ou qualquer outra coisa que use o ZFS possa lidar com isso.

    
por 08.12.2016 / 18:36
-1

O Windows tem tratado ultimamente arquivos ZIP como pastas. Os arquivos ZIP podem ser mais compactados do que os arquivos compactados por NTFS e não são fragmentados de forma inerente, diferentemente do NTFS.

Por que não testar uma de suas imagens de disco comprimindo com 7-zip no formato ZIP & ver se é diretamente utilizável para restaurar?

Se não, brinque com os parâmetros de compressão 7-zip para maximizar a compactação usando qualquer formato que seja melhor, por exemplo, 7z. Você pode aumentar a compressão muito além do NTFS e, portanto, disponibilizar muito mais espaço disponível no disco - embora seja mais rápido descompactar para um segundo disco físico ou RAM, de preferência em um controlador e uma controladora diferentes. Cabo I-O.

FWIW, a compactação é compensada por SSDs não sandman para discos do sistema & para arquivos que não são de mídia - menos desgaste & rasgo no SSD, mais espaço e E / S mais rápida para arquivos não compactados. Consulte o link

Vídeos, gráficos e outros arquivos de dados compactados (como .XLSX) já estão muito compactados, portanto, não há nenhum benefício para a compactação NTFS. Nem para bancos de dados ou email do Outlook com atualizações aleatórias. Mas arquivos executáveis, txt, html, etc., se beneficiam muito.

A compactação também é sempre um ganho para arquivos pequenos, por exemplo, se < 64K compactado, apenas um fragmento. Apenas problemas seriam recuperados se houvesse problemas de disco.

    
por 25.12.2014 / 21:47