Arquivos esparsos em sistemas de arquivos Windows, Linux e MacOS, NTFS, REFS, Ext3, Ext4, BTRFS e APFS

Este artigo falará sobre arquivos esparsos. Falaremos sobre seus pontos fortes e fracos, quais sistemas de arquivos suportam tais arquivos. Além disso, como criá-los ou convertê-los do normal.

Arquivos esparsos em sistemas de arquivos Windows, Linux e MacOS, NTFS, REFS, Ext3, Ext4, BTRFS e APFS

Sparse são arquivos especiais que usam o sistema de arquivos de forma mais eficiente, eles não permitem que o sistema de arquivos ocupe espaço livre no disco de mídia quando as partições não estão cheias. Ou seja, o “espaço vazio” só será usado quando necessário. Informações vazias na forma de zeros serão armazenadas no bloco de metadados FS. Portanto, arquivos esparsos ocupam inicialmente menos volume de mídia do que seu volume real.

O tamanho físico ocupa menos espaço em disco

Este tipo suporta a maioria dos sistemas de arquivos: BTRFS, NILFS, ZFS, NTFS, ext2, ext3, ext4, XFS, JFS, ReiserFS, Reiser4, UFS, Rock Ridge, UDF, ReFS, APFS, F2FS.

Todos esses sistemas de arquivos suportam totalmente esse tipo, mas ao mesmo tempo não fornecem acesso direto às suas funções por meio de sua interface padrão. Suas propriedades só podem ser gerenciadas usando comandos na linha de comando.

A diferença entre arquivos compactados e esparsos

Todos os sistemas de arquivos listados acima também suportam o recurso de compactação padrão. Ambas as ferramentas têm o benefício de economizar espaço em disco, mas atingem esse objetivo de maneiras diferentes. A principal desvantagem de usar a compactação é que ela pode diminuir o desempenho do sistema ao realizar operações de leitura/gravação. Porque usará recursos adicionais para descompactar ou compactar os dados. Mas alguns produtos de software não são compatíveis com compactação.

Vá para ver
🐧🍏 Archivos dispersos en Windows, Linux, MacOS (NTFS, REFS, Ext3, Ext4, BTRFS y APFS) 🐧🍏

🐧🍏 Archivos dispersos en Windows, Linux, MacOS (NTFS, REFS, Ext3, Ext4, BTRFS y APFS) 🐧🍏

Vantagens e desvantagens

A maior vantagem dos arquivos esparsos é que o usuário pode criar arquivos grandes que ocupam muito pouco espaço de armazenamento. O espaço de armazenamento é alocado automaticamente à medida que os dados são gravados nele. Arquivos esparsos grandes são criados em um tempo relativamente curto porque o sistema de arquivos não precisa alocar espaço em disco antecipadamente para gravar zeros.

Os benefícios são limitados apenas pelos aplicativos que os suportam. Se um aplicativo não tiver a capacidade de reconhecê-los ou usá-los, ele os salvará em seu estado original e não compactado, o que não trará nenhum benefício. Você também precisa ter cuidado com eles, porque um arquivo de alguns megabytes pode crescer repentinamente para vários gigabytes quando copiado para seu destino por aplicativos não suportados.

Outra desvantagem é que você não pode copiar ou criar tal arquivo se seu tamanho nominal exceder o espaço livre disponível (ou limites de tamanho de cota impostos às contas de usuário). Por exemplo, se o tamanho original (com todos os bytes nulos) for 500 MB e houver um limite de cota de 400 MB para a conta de usuário usada para criá-lo. Isso causará um erro mesmo que o espaço em disco real ocupado seja de apenas 50 MB.

As unidades que armazenam esses dados também são propensas à fragmentação, pois o sistema de arquivos gravará dados em arquivos esparsos conforme necessário. Com o tempo, isso pode levar à degradação do desempenho. Além disso, alguns utilitários de gerenciamento de disco podem não exibir com precisão a quantidade de espaço livre disponível. Quando o sistema de arquivos está quase cheio, isso pode levar a resultados inesperados. Por exemplo, erros de “estouro de disco” podem ocorrer quando os dados são copiados sobre uma parte existente que foi marcada como esparsa.

Criar um arquivo esparso no Windows

Para fazer isso no sistema operacional Windows, usaremos a linha de comando. Procure por cmd e execute como administrador.

O Windows usa o fsutil (utilitário do sistema de arquivos) para gerenciar esses dados. Quando create é executado, por padrão o arquivo é criado normalmente. Vá para a pasta onde você deseja criá-lo e digite:

fsutil file createnew sparse-file 1000000000

Onde sparse-file – é o nome e seu tamanho em bytes no final.

Criação

Para definir o arquivo como "esparso", digite:

fsutil sparse setflag sparse-file

Atribuir o atributo

Para remover este sinalizador, execute o seguinte comando:

fsutil sparse setflag sparse-file 0

Remover atributo

E para atribuir o atributo novamente:

fsutil sparse setflag sparse-file

Revisamos:

fsutil sparse queryflag sparse-file

Verificamos os atributos e propriedades

O atributo por si só ainda não economiza espaço em disco. Para isso, é necessário particionar uma área vazia que será liberada em seu interior.

Para marcar uma área vazia, digite:

fsutil sparse setrange sparse-file 0 1000000000

Alocamos área de espaço livre em disco

No final, o deslocamento e o comprimento são especificados em bytes. No meu caso, de zero a 1 GB.

Para definir um arquivo totalmente esparso, especifique o volume inteiro. Se necessário, você pode aumentar o arquivo especificando um valor maior aqui.

Para garantir que o arquivo tenha esse atributo, execute layout

fsutil file layout sparse-file

Verificação de atributo

Este atributo pode ser definido em qualquer arquivo. Basta executar este comando com seu nome e definir o tamanho desejado.

Nas propriedades do arquivo criado acima você pode ver que com tamanho de 1GB. o arquivo ocupa 0 bytes no disco.

Este conjunto de comandos é adequado para todos os sistemas de arquivos do Windows que suportam este tipo de dados (NTFS, ReFS...).

Como criar um arquivo esparso no Linux

No Linux, o processo de criação desse tipo de dado é um pouco mais fácil, pois existem vários comandos para criá-lo. Este conjunto é adequado para todos os sistemas de arquivos Linux.

Aqui você pode usar o comando dd, truncate.

O primeiro comando é o seguinte:

dd if=/dev/zero of=file-sparse bs=1 count=0 seek=2G

Onde file-sparse – é o nome, e seu tamanho é especificado no final, pode ser definido em bytes, megabytes, etc.

Construir via terminal Linux

O segundo comando é mais simples, fica assim:

truncate -s2G file-sparse

Onde o valor s indica o tamanho seguido pelo nome.

A segunda maneira de criar via terminal Linux

Comparado ao Windows, no Linux, quando você cria um arquivo desse tipo com um dos comandos, ele será "esparso" por padrão.

Para converter normal em esparso, existe um comando separado:

cp --sparse=always ./025.jpg ./0251.jpg

Onde 025.jpg é o nome do normal.

0251.jpg – o nome do meio do vira-lata.

Converter um arquivo existente para o tipo de arquivo selecionado

Como aumentar

Se você deseja ampliar um arquivo existente, use o primeiro comando, alterando o nome aqui e especificando o tamanho desejado.

dd if=/dev/zero of=025.jpg bs=1 contagem=0 busca=2G

Isso aumentará seu tamanho para 2 GB.

Zoom

Para verificar o tamanho, execute o seguinte comando:

du -h --apparent-size 025.jpg

Verificação de atributo

Arquivos esparsos no ApFS

Na verdade, esse conjunto de comandos também é adequado para o sistema de arquivos da Apple, ApFS, já que Linux e MacOS usam a arquitetura do kernel Unix em seu kernel, ambos fornecendo acesso a comandos Unix e Linux. Membrana Bash.

Execute o terminal e execute qualquer um dos comandos que usei no Linux.

No MacOS Catalina, apenas o primeiro comando funciona e o tamanho deve ser especificado em bytes, caso contrário, o comando falhará.

sudo dd if=/dev/zero of=sparse_APFS bs=1 count=0 seek=1000000000

Создание на MacOS Catalina

O sistema de arquivos ApFS cria arquivos esparsos por padrão se certas condições forem atendidas, então a opção pode ser usada:

dd if=/dev/zero of=187.jpg bs=1 contagem=0 busca=500000000

Vamos definir o tamanho, por exemplo, para 500Mb, no MacOS o tamanho deve ser especificado em bytes.

Nas propriedades você pode ver que seu tamanho aumentou para 500 Mb.

Recuperação deste tipo de dados

Se você acidentalmente apagou ou formatou seu disco com dados importantes e ele ficou escasso? Por favor, use o Hetman Partition ou RAID Recovery para restaurá-los. Nosso programa suporta esses tipos de arquivos em todos os sistemas operacionais e sistemas de arquivos mostrados neste vídeo. Baixe, instale e execute o programa, verifique a mídia.

Recuperação de dados de matrizes RAID corrompidas inacessíveis para um computador.
Restauração

Como você pode ver, o programa encontra facilmente arquivos esparsos existentes e excluídos e exibe seu conteúdo. Ao abrir o arquivo no editor HEX, você pode ver que ele está completamente preenchido com zeros.

Exibir no editor HEX

O programa encontrou dados excluídos anteriormente no disco com sistemas de arquivos NTFS, REFS, BtrFS, Ext3, Ext4 e ApFS. Resta apenas clicar no botão Restaurar.

Quando o processo estiver concluído, todos os dados necessários estarão na pasta especificada. Verifique as propriedades, os arquivos estão totalmente restaurados.

Conclusão

Antes de usar esta funcionalidade em qualquer sistema operacional, é fundamental que você conheça todas as suas vantagens e desvantagens. Conhecer esses recursos ajudará você a evitar possíveis problemas no futuro.

Raidel Becerra

Autor: , Escritor técnico

Raidel Arbelay Becerra é um escritor técnico para a Hetman Software e a voz e rosto do Hetman Software: Canal YouTube de recuperação de dados. Escreve artigos aprofundados, tutoriais e resenhas sobre como funciona o software da empresa com todos os tipos de dispositivos de armazenamento.

Mykhailo Miroshnichenko

Editor: , Escritor técnico

Mykhailo Miroshnychenko é um dos principais programadores da Hetman Software. Com base em quinze anos de experiência em desenvolvimento de software, partilha os seus conhecimentos com os leitores do nosso blogue. Para além da programação, Mikhail é um especialista em recuperação de dados, sistemas de ficheiros, dispositivos de armazenamento e matrizes RAID.

Recomendado para você

Bem-vindo ao assistente com tecnologia de IA da Hetman Software.
Iniciar bate-papo