O que aconteceria se você zerasse um determinado grupo de blocos no sistema de arquivos EXT4?

0

Basicamente, o sistema de arquivos EXT4 tem pedaços de dados no tamanho de 128MiB (por padrão), e esse pedaço é chamado de "grupo" ou "grupo de blocos", que basicamente se parece com isso no disco:

Quanto maior o disco, mais grupos você tem um após o outro.

Quando você usa a ferramenta dumpe2fs , ela pode simplesmente informar quantos grupos você possui e também retornar algumas informações sobre eles, por exemplo:

Group 690: (Blocks 22609920-22642687) csum 0x7443 [ITABLE_ZEROED]
  Block bitmap at 22544386 (bg #688 + 2), csum 0xab2a9072
  Inode bitmap at 22544402 (bg #688 + 18), csum 0x1ef9c14a
  Inode table at 22545440-22545951 (bg #688 + 1056)
  0 free blocks, 8182 free inodes, 10 directories, 8182 unused inodes
  Free blocks: 
  Free inodes: 5652491-5660672

E minha pergunta é: o que aconteceria se você zerasse todo o grupo de blocos usando a ferramenta dd ?

Se você tivesse um arquivo (arquivos) pequeno o suficiente para caber inteiramente naquele grupo, o arquivo (arquivos) seria permanentemente perdido. Mas há outros casos, e não tenho certeza de como o sistema reage em tais situações.

  1. Os arquivos podem ser fragmentados e descritos por muitos grupos de blocos, o que (neste caso) significa que apenas parte de um arquivo foi zerado. O que aconteceria com esse arquivo depois que fsck fosse executado? O arquivo inteiro será colocado em um diretório perdido e encontrado? Ou talvez seja visível na estrutura do sistema de arquivos, mas você não poderá abrir / acessá-lo?

  2. O que aconteceria com os arquivos nos diretórios se o grupo acima fosse zerado? Há apenas informações que 0 free blocks, 8182 free inodes, 10 directories, 8182 unused inodes , o que significa que 10 dirs e 0 arquivos são descritos por esse grupo, e todos os blocos são usados pelos dados. Então nós temos 10 dirs e provavelmente algum arquivo grande que é fragmentado. Pelo menos eu entendo a informação dessa maneira. Mas o dirs pode conter arquivos e o que aconteceria com os arquivos nos diretórios quando você zerar esse grupo? Eles estarão acessíveis após fsck ?

por Mikhail Morfikov 06.08.2018 / 13:11

1 resposta

1

Basicamente, resume-se a se os metadados e / ou os dados são afetados.

Em geral, quando os metadados estão corrompidos, os arquivos / diretórios afetados ficam inacessíveis (ou parcialmente inacessíveis). Ferramentas como fsck podem consertar a corrupção, mas isso depende exatamente do que foi danificado.

No entanto, quando os dados estão corrompidos, a menos que o sistema de arquivos implemente checksums de dados, o que o EXT4 não faz, o sistema de arquivos irá agir como se os dados estivessem bem. Cabe ao aplicativo validar e executar reparos, se possível.

    
por 06.08.2018 / 15:29