BSDTAR vs TAR e muito mais
Aqui está um benefício !!
Vou abordar 5 tópicos aqui (e sair do tópico, mas também abrangerá o que você deseja):
- bsdtar vs tar
- arquivos esparsos vs não
- arquivos grossos e finos / luns com btrfs
- arquivos grossos e finos / luns sem btrfs
- difere entre grosso e fino e como ele não se aplica a apenas luns
O bsdtar lida com arquivos esparsos melhor que o tar comum
- O bsdtar pegará todos os zeros e apenas os metadará
- alcatrão realmente processa todos os zero
* exemplo:
imagine um arquivo esparso de 20 tb (chamado biglun) com 10 megs de dados em todo o arquivo esparso de 20 tb (biglun) ... agora como esse é um arquivo esparso, ele ocupará apenas 10 megas na unidade.
Como criar um arquivo esparso:
Arquivo esparso - como fazê-lo - detectá-lo - tudo Os
arquivos esparsos são como luns "finos" (se você fosse usá-lo para um almoço). luns "grossos" seria uma história diferente.
* voltar ao tópico:
aumentar o biglun fará com que o tar passe por todos os 10 megas, juntamente com todos os ~ 20 tb de zeros espalhados pelo lun ... levará algum tempo, presumo, e o arquivo tar será bem grande. Além disso - extraindo - eu nunca fiz uma extração de um arquivo tar de um arquivo esparso, mas pode não ser bonito; Eu posso estar errado aqui.
bsdtarring o biglun apenas processará os 10 megs de dados e criará pequenos metadados para os ~ 20tb de zeros.
Benefício? Bem, muitos deles; Eu acabei de escrever alguns acima.
É semelhante ao rsync vs cp
- Além disso, se você sincronizar novamente um arquivo esparso gigante, ele se comportará como tar
- Se você copiar um arquivo gigante, ele se comportará automaticamente como bsdtar (você pode alterar o comportamento do cp para ultrapassar os zeros ou não os zeros)
Pessoalmente, eu gosto de imaginar arquivos esparsos, como luns finos, e arquivos regulares, como luns espessos ...
O próximo tópico é BTRFS thin vs thick luns:
Com sistemas de arquivos como o BTRFS , luns finos são arquivos esparsos (torne-os truncados, como no documento do wiki).
truncate -s <size in kilobytes> filename
dica: faça backup com bsdtar , copie com cp
luns grossos são arquivos regulares com o atributo + C (+ C, para que ele não seja COW, copie na gravação, de modo que todas as gravações permaneçam essencialmente no local a que estão alocadas, e nenhuma nova gravação ocorra nesse arquivo quando houver sobrescrições ou exclui - pesquisa COW e BTRFS ). Em vez de tornar o arquivo truncado, faça-o com "fallocate -l"
fallocate -l <size in kilobytes> filename
chattr +C filename
dica: faça backup com bsdtar ou tar, copie com rsync ou cp
O próximo tópico é EXT thin vs thick luns:
luns finos que são escassos
truncate -s <size in kilobytes> filename
dica: faça backup com bsdtar , copie com cp
luns grossos são arquivos regulares com o atributo + C (+ C, para que ele não seja COW, copie na gravação, de modo que todas as gravações permaneçam essencialmente no local onde estão alocadas, e nenhuma nova gravação ocorrerá para esse arquivo quando houver substituições ou exclui - pesquisa COW e BTRFS ). Em vez de tornar o arquivo truncado, faça-o com "fallocate -l"
touch filename
fallocate -l <size in kilobytes> filename
dica: faça backup com bsdtar ou tar, copie com rsync ou cp
o que é um arquivo grosso vs fino
- luns / arquivos espessos, preencha seus dados de 0 ao tamanho alocado, os metadados fingem onde estão os 0s. conforme você preenche os dados, os dados são preenchidos
- luns / arquivos espessos: preencha seus dados no início com 0s ou o que for (zero lento ou zero ansioso) - essas reservas definidas (ou como o ZFS gosta de chamar atualizações de reserva)
O ARTIGO VMWARE AQUI descreve zero preguiçoso versus ansioso com luns / arquivos espessos: https://communities.vmware.com/message/2199576
gorjeta
lembre-se grosso e fino não se aplica apenas a luns, também pode estar em arquivos, sistemas de arquivos zfs (compartilhamentos / volumes / luns) e tenho certeza de outras coisas (basta olhar para zfs).