Não há garantias. Um sistema de arquivos de registro em diário é mais resistente e menos propenso a corrupção, mas não imune.
Tudo o que um diário é é uma lista de operações que foram feitas recentemente no sistema de arquivos. A parte crucial é que o lançamento no diário seja feito antes das operações ocorrerem. A maioria das operações possui várias etapas. A exclusão de um arquivo, por exemplo, pode implicar a exclusão da entrada do arquivo no índice do sistema de arquivos e a marcação dos setores na unidade como livres. Se algo acontecer entre as duas etapas, um sistema de arquivos com registro em diário pode informar imediatamente e executar a limpeza necessária para manter tudo consistente. Este não é o caso de um sistema de arquivos não registrado em diário que precisa examinar todo o conteúdo do volume para encontrar erros.
Embora esse registro no diário seja muito menos propenso a corrupção do que não o registro no diário, a corrupção ainda pode ocorrer. Por exemplo, se o disco rígido estiver com mau funcionamento mecânico ou se as gravações no próprio diário estiverem falhando ou interrompidas.
A premissa básica do registro no diário é que escrever uma entrada no diário é muito mais rápido, geralmente, do que a transação real descrita. Portanto, o período entre o SO que solicita uma gravação (diário) e o disco rígido é muito menor do que em uma gravação normal: uma janela mais estreita para que as coisas dêem errado, mas ainda existe uma janela.
Leitura adicional
Não.
O tipo mais comum de registro no diário, chamado registro no diário de metadados, protege apenas a integridade do sistema de arquivos, não dos dados. Isso inclui
xfs
eext3
/ext4
nodata=ordered
modo padrão .Se um sistema de arquivos sem registro no diário sofrer uma falha, ele será verificado
fsck
na próxima inicialização.fsck
varre todos os inodes no sistema de arquivos, procurando blocos marcados como usados, mas que não são acessíveis (ou seja, não têm nome de arquivo) e marca esses blocos como não utilizados. Isso leva muito tempo.Com um sistema de arquivos de registro em diário de metadados, em vez de fazer um
fsck
, ele sabe quais blocos estava no meio da alteração, para que possa marcá-los como livres sem procurar por toda a partição.Existe um tipo menos comum de registro no diário, chamado registro no diário de dados, que é o que
ext3
ocorre se você o montar com adata=journal
opçãoEle tenta proteger todos os seus dados gravando não apenas uma lista de operações lógicas, mas também todo o conteúdo de cada gravação no diário. Mas, como está gravando seus dados duas vezes, pode ser muito mais lento.
Como outros salientaram, mesmo isso não é uma garantia, porque o disco rígido pode ter dito ao sistema operacional que havia armazenado os dados, quando ainda estava no cache do disco rígido.
Para obter mais informações, consulte o artigo Sistema de arquivos de diário da Wikipedia e a seção Modo de dados da documentação ext4 .
fonte
data=journal
como recurso não faz sentido algum?Um sistema de arquivos não pode garantir a consistência do sistema de arquivos se ocorrer uma falha de energia, porque não sabe o que o hardware fará.
Se um disco rígido armazena em buffer os dados para gravação, mas informa ao sistema operacional que os gravou e não oferece suporte às barreiras de gravação apropriadas, gravações fora de ordem podem ocorrer onde uma gravação anterior não atingiu o prato, mas uma posterior tem. Veja esta resposta com falha no servidor para obter mais detalhes.
Além disso, a posição da cabeça em um disco rígido magnético é controlada com eletroímãs. Se a energia falhar no meio de uma gravação, é possível que alguns dados continuem sendo gravados enquanto as cabeças se movem, corrompendo os dados em blocos que o sistema de arquivos nunca pretendeu ser gravado.
fonte
O ZFS, que é próximo, mas não exatamente um sistema de arquivos de registro no diário, garante, por design, contra corrupção após uma falha de energia.
Não importa se uma gravação em andamento é interrompida no meio, como nesse caso, sua soma de verificação certamente estará incorreta, portanto o bloco será ignorado. Como o sistema de arquivos é copiado na gravação, os dados corretos anteriores (ou metadados) ainda estão no disco e serão usados.
fonte
A resposta é, na maioria dos casos, não:
fonte