Que dados em um sistema de arquivos são realmente afetados pelo powerloss?

0

Deixa meu sistema de arquivos ser ext4 montado com data=journal . Eu não entendo completamente o que acontece durante a perda de energia com o sistema de arquivos neste caso. Então eu tenho as seguintes perguntas:

  • Sob quais circunstâncias os dados que já estão armazenados no disco rígido (não importando SSD ou HDD) podem ser danificados (alterados) na perda de energia?
  • Em que circunstâncias os dados gravados na perda de energia serão inconsistentes? (Quero dizer que algo será escrito, mas não igual aos dados iniciais)
  • O que acontece quando ocorre perda de energia durante o replay de um periódico em fschk ?
por 0x2207 10.01.2016 / 13:08

1 resposta

0

Eu acredito que esta questão não é específica para Linux ou ext4, mas para qualquer sistema de arquivos em geral.

Um powerloss não destruirá nenhum dado a menos que haja um arquivo sendo gravado no disco.

Isso basicamente significa que, quando um programa abre um arquivo, ele pode fazer isso de muitas maneiras diferentes.

Ele pode fazer isso apenas para ler a partir dele, ele pode fazer isso para escrever desde o início (sobrescrever tudo) e anexar ao arquivo (escrever no final do arquivo).

Agora, o truque é que um arquivo tem dois segmentos. Estes são:

  • A tabela de conteúdo,
  • Os dados.

No início do disco rígido, é gravada uma tabela que contém a (s) localização (ões) de um arquivo no disco rígido. Nos locais especificados, os dados são gravados como 0s e 1s no disco rígido.

A leitura de um arquivo de volta é, obviamente, primeiro obter sua localização e, em seguida, a partir do local real, obter a quantidade de 0s e 1s para formar o arquivo real na memória.

Quando o disco rígido está gravando no arquivo, ele primeiro grava os dados no disco, vê quais são os novos pontos de início e término (a inicialização normalmente é a mesma, mas no caso de os dados serem fragmentados e um segundo bloco foi usado, seus pontos de início e fim são registrados) e aqueles são gravados na tabela de partições.

Se a energia falhar durante a gravação no arquivo, o índice obviamente não é consistente com os dados. Isso cria os fenômenos de atingir um erro de leitura ao tentar acessar o arquivo. Você vê que está lá, mas ainda não consegue acessá-lo.

Uma vez que a leitura de um arquivo não altera o conteúdo do disco, a perda de energia não afetará aqui.

    
por 10.01.2016 / 14:06

Tags