O que são extensões ZFOD?

0

O que eu entendo é a extensão "Zero preenchimento sob demanda". Isso significa que o sistema de arquivos não aloca dados de gravação no arquivo, mas apenas nos dá a extensão ZFOD e quando um aplicativo tenta ler / gravar os dados, ele preenche os zeros de dados e executa leitura / gravação [ origem ].

Minhas perguntas são:

  1. O meu entendimento acima está correto?
  2. Se apenas não alocar os dados, isso significa que é um HOLE?
por mahesh bhosale 11.04.2018 / 07:36

1 resposta

2

Você deve considerar duas coisas:

  • se há ou não espaço alocado para os dados e
  • se existem ou não dados realmente gravados.

Se um arquivo não tiver dados e nenhum espaço for alocado para ele, você receberá uma indicação de fim de arquivo se tentar lê-lo. Se você gravar nele, o sistema de arquivos deve alocar espaço no momento da gravação: em outras palavras, a operação de gravação pode falhar com um erro ENOSPC se não houver espaço livre em disco para alocar.

Um buraco em um arquivo esparso não tem espaço alocado para ele, e se você tentar ler essa parte do arquivo, receberá de volta dados que são todos zeros. Se você gravar nessa parte do arquivo, o sistema de arquivos deve alocar espaço novamente para ele no momento da operação de gravação, portanto, a operação de gravação pode falhar com um erro ENOSPC se o disco estiver cheio.

Uma extensão ZFOD é nominalmente alocada para um arquivo, mas ainda não há dados gravados nela. Se você lê, você recebe todos os zeros; se você gravar nele, o espaço já está alocado, portanto, não há risco de uma condição de erro do ENOSPC.

E, finalmente, há uma extensão de dados normal: se você a ler, recuperará os dados reais e, se gravar nela, substituirá os dados existentes por novos dados.

Em outras palavras, a extensão ZFOD é uma otimização para situações em que um aplicativo pode alocar um arquivo grande, não usar tudo isso imediatamente e ainda precisa de uma garantia de que o espaço estará disponível quando necessário. Para armazenamento SSD, apagar dados existentes de um bloco é a operação mais lenta, portanto as extensões ZFOD permitem que o sistema crie rapidamente um grande alocando-o inicialmente como extensões ZFOD: o sistema de arquivos pode fazer o apagamento real & preenchendo com zeros on-demand para cada bloco que é realmente usado.

Se um armazenamento SSD for usado para armazenar algo como imagens de disco para máquinas virtuais, as extensões ZFOD podem ajudar a minimizar o número de vezes que os blocos de disco precisam ser apagados e melhorar a vida útil do SSD.

    
por 11.04.2018 / 09:31