Explicação do problema
Eu estou armazenando imagens de disco do Windows criadas com wbadmin na unidade NTFS, e eu encontrei a compactação, em seguida, com a compactação NTFS oferece 1,5-2 × de conservação de espaço, ainda dando total disponibilidade para a restauração.
Mas no processo de compactação, o arquivo fica insanamente 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 blocos 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 arquivo não compactado existente?
Comentários baseados em comentários / respostas:
- Ferramentas de compressão externas (para o kernel do Windows) não são uma opção no meu caso. Eles não podem descompactar arquivos on-the-fly (para descompactar arquivo de 10 Gb eu preciso de 10 Gb grátis, o que nem sempre está à mão; também, leva muito tempo); eles não estão acessíveis quando o sistema é inicializado a partir do DVD para recuperação (é exatamente quando eu preciso da imagem disponível). Por favor, pare de oferecê-los a menos que eles criem arquivos compactados transaprentemente em ntfs, como
compact.exe
. - A compactação NTFS não é tão ruim para imagens do sistema. É bom, exceto pela fragmentação. E a descompactação não demanda muito tempo de CPU, reduzindo ainda o gargalo de E / S, o que aumenta o desempenho em casos apropriados (arquivo compactado não fragmentado com proporção significativa).
- Utilitários de desfragmentação desfragmentar arquivos sem qualquer respeito se eles são compactados. O único problema é o número de fragmentos, o que causa uma falha de desfragmentação, não importando se o arquivo fragmentado está compactado ou não. Se o número de fragmentos não for alto (cerca de 10000 já está ok), o arquivo compactado será desfragmentado e permanecerá compactado e intacto.
A taxa de compactação NTFS pode ser boa, dependendo dos arquivos. As imagens do sistema são geralmente compactadas para no máximo 70% do tamanho original.
Par de screenshots para aqueles que não acreditam, mas ofc, você pode fazer seus próprios testes.
Eu realmente 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 para:
comprimir arquivo (com compactação NTFS, e mantê-lo acessível para recuperação do Windows) sem criar um monte de fragmentos (talvez para outra partição ou fazer uma cópia compactada; deve ser pelo menos 3x mais rápido no disco rígido do que
compact
+defrag
)ou
para rapidamente (pelo menos 3x mais rápido do que a desfragmentação do Windows no HDD) desfragmentar arquivo devastadamente fragmentado, como um contendo 100K + fragmentos (ele deve permanecer compactado após a desfragmentação).
fonte
Respostas:
Evitando a fragmentação
O segredo é não escrever arquivos descompactados no disco para começar.
Na verdade, depois de compactar um arquivo grande já existente, ele se tornará 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. Dessa 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, é possível marcar as pastas a serem compactadas.) Em seguida, todos os arquivos gravados nessa pasta serão compactados dinamicamente (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.
Exemplo
NTFS comprimido 232 Imagem do sistema Mb para 125 Mb:
Desfragmentação
É verdade que arquivos compactados NTFS podem representar um problema para algumas ferramentas de desfragmentação. Por exemplo, uma ferramenta que eu normalmente uso não pode lidar com eles de forma eficiente - ela diminui a velocidade para um rastreamento. Não se preocupe, o velho fiel Contig de Sysinternals faz o trabalho de desfragmentar arquivos compactados NTFS rapidamente e sem esforço!
fonte
Lendo o artigo na Wikipedia sobre Compressão NTFS :
Primeiras coisas primeiro. WBAdmin é essencialmente um utilitário de backup que permite restaurar um sistema completo. Portanto, espera-se que o arquivo de saída seja grande (& gt; 4 Gb). Conforme mostrado pela citação, arquivos grandes se tornam rapidamente fragmentados. Isso ocorre devido à maneira como o NTFS é compactado: 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.
Eu ainda sou cético sobre o NTFS dando esse tipo de taxa de compressão. De acordo com um teste feito por Compressão máxima 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 comprimindo e descompactando os arquivos). Existem também algoritmos rápidos disponíveis.
Se você precisar ler o arquivo constantemente, não o comprima. O NTFS é muito bagunçado.
fonte
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 a MFT e os arquivos. Isso é do meu conhecimento a única maneira de corrigir essa deficiência em 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 funcionar)
Hoje, dois anos após a pergunta aparentemente ser solicitada, eu prefiro recomendar a desduplicação - isso pode oferecer 90% de economia de 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.
fonte
Ultimamente, o Windows vem tratando 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, ao contrário do NTFS.
Por que não testar uma de suas imagens de disco comprimindo com 7-zip no formato ZIP & amp; ver se é diretamente utilizável para restaurar?
Se não, jogue 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 compactação muito além do NTFS e, portanto, muito mais espaço disponível em seu disco - embora seja mais rápido descomprimir para um segundo disco físico ou RAM, de preferência em um controlador & amp; Cabo I-O.
FWIW, a compactação é compensada para SSDs não sandman para discos do sistema & amp; para arquivos que não são de mídia - menos desgaste & amp; rasgo no SSD, mais espaço e E / S mais rápida para arquivos não compactados. Vejo http://www.tomshardware.com/reviews/ssd-ntfs-compression,3073-9.html
Vídeo, gráficos e outros arquivos de dados compactados (como .XLSX) já estão muito compactados, portanto, não há benefícios 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 & lt; 64K compactado, apenas um fragmento. Apenas aborrecimento seria recuperação se houver problemas de disco.
fonte