copiou uma pasta - obtendo diferentes espaços usados no destino (usando FreeBSD e UFS)

2

Por isso, estou tentando fazer backup de uma pasta com subpastas para outro disco e ela não cabe.

eu usei

rsync -aiv --delete /mysrc /mydest

Não há links (links simbólicos ou hardlinks) de nenhum tipo na origem.

eu corri

du -d 1 -h

na origem, 1 subpasta tem cerca de 195 GB, mas depois de transferi-la para o destino, ocupa agora 260 + GB de acordo com o mesmo comando.

Como tal, não consigo colocar a pasta de origem de 365 GB no disco de 450 GB (tamanho formatado).

Ambas as unidades são formatadas como UFS. Alguma idéia sobre a enorme discrepância?

Muito obrigado:)

editar. Eu tentei copiar outra subpasta usando

cp -av mysrc mydest/

para um novo disco (320GB formatado como UFS). Segundo du, a pasta ocupa cerca de 144GB na fonte. Mas quando eu corri du no destino, ele usa em torno de 165GB.

    
por mrjayviper 01.01.2016 / 04:15

1 resposta

2

Se algum dos arquivos for "esparso" (ou seja, arquivos com buracos vazios não alocados), fazendo uma cópia lógica usando qualquer tipo de mecanismo de cópia que leia e grave arquivos, você poderá obter esse resultado. Há uma opção para copiar arquivos esparsos usando o rsync (ou seja, --sparse). Tente usar essa opção.

Outros problemas são possivelmente o tamanho subjacente do tamanho do bloco configurado no sistema de arquivos de destino. Se eles não são os mesmos, então você pode ter uma situação como você viu. Em outras palavras, suponha que você tenha uma configuração de tamanho de bloco no disco de destino como 8K ... então, qualquer arquivo dimensionado de 0 a 8196 bytes usa um cluster. Assim, copiar arquivos que não são múltiplos do tamanho do bloco pode resultar em blocos no final de cada arquivo alocado, mas não usado. Isso pode ser um problema aqui se você tiver muitos arquivos pequenos.

Essas são as minhas melhores suposições sobre o que você pode estar vendo.

    
por 01.01.2016 / 05:05