Arquivos esparsos do UNIX / Linux - em uso? Como você lida com isso?

2

Desde o início, os sistemas padrão UNIX / Linux suportam arquivos esparsos, este é um arquivo que contém espaço não utilizado que não é alocado até que seja necessário. Para revisar, para gerar através de um programa em C: crie um arquivo, posicione em 2G, escreva um byte, feche o arquivo. Fazendo um ls -l mostra o tamanho para ser 2G .... no entanto, ls -ls mostra o tamanho em blocos para estar mais perto de um arquivo de um byte. Se você acessar logicamente o arquivo (ou seja, cp sparse_file xxx), o arquivo xxx resultante conterá, na verdade, 2Gbytes totalmente alocados.

Eu criei arquivos esparsos no passado como um veículo de teste para alguns aplicativos. No entanto, a sua existência causou alguns problemas.

O problema importante é que, fora do programa 'dump', os programas de backup e procedimentos gerais acessam logicamente esse tipo de arquivo e, para um arquivo esparso de 1 byte, obtém-se um backup com dados de 0G. Isso causou algumas pessoas de backup chateado quando eu faço isso.

Alguma boa solução para este tipo de situação?

    
por mdpc 14.08.2009 / 03:22

4 respostas

3

O GNU Tar tem as opções - sparse ( -S ) que facilitam o trabalho com arquivos de peças sobressalentes.

    
por 14.08.2009 / 03:26
2

Use um programa de backup capaz de detectar e manipular arquivos esparsos corretamente. Há muitos deles por aí (a sugestão de Jeremy de tar com -S), apenas faça um item de lista de verificação na sua avaliação do sistema de backup.

    
por 14.08.2009 / 03:57
1

Os programas de backup baseados em rsync devem ser capazes de manipular arquivos de espaço (o rsync tem as opções --sparce / -S)

    
por 14.08.2009 / 07:06
0

O programa estrela é muito mais rápido para arquivos esparsos do que o GNU tar. Requer a opção -sparse ao manipular tais arquivos. Para apenas copiar, use cp --sparse = auto

    
por 11.03.2010 / 09:07