Sistemas de arquivos registrados e falha de energia

3

Ouvi dizer que mesmo sistemas de arquivos registrados como EXT3 / EXT4 podem ser corrompidos durante falhas de energia, por exemplo, da wikipedia [1]:

In the event of a system crash or power failure, 
such file systems are quicker to bring back online and 
less likely to become corrupted.

Alguém pode fornecer mais detalhes dando exemplos de forma que, quando

  1. corrupção pode ocorrer
  2. a corrupção é evitada por sistemas de arquivos registrados em diário

[1] link

    
por Ryan 01.07.2012 / 17:56

3 respostas

11

A corrupção também pode ocorrer na maioria dos discos modernos devido ao reordenamento em disco.

Os discos modernos normalmente fazem reordenamento de solicitações que são usadas para acelerar o desempenho (ao reordenar as gravações para tornar a lista inteira de solicitações menos óbvias), isso é chamado Enfileiramento de comandos com tags .

É possível que a gravação no diário no disco seja atrasada porque é mais eficiente a partir da posição da cabeça atualmente para gravar em uma ordem diferente daquela solicitada pelo sistema operacional como a ordem real, o que significa que os blocos podem ser confirmados antes da execução. revista é.

A maneira de resolver isso é fazer com que o sistema operacional espere explicitamente que o diário tenha sido confirmado antes de enviar mais gravações. Isso é conhecido como uma barreira. A maioria dos sistemas de arquivos não usa isso por padrão e precisaria explicitamente habilitar com uma opção de montagem.

mount -o barrier=1 /dev/sda /mntpnt

A grande desvantagem das barreiras é que elas tendem a desacelerar o I / O para baixo, às vezes dramaticamente (em torno de 30%) e é por isso que elas não estão ativadas por padrão. Além disso, as coisas se tornam doubleplusungood quando você começa a adicionar camadas lógicas sobre discos padrão como LVM ou Raid. O LVM (relativamente recentemente) adicionou suporte de barreira para a maioria das configurações de LV e o mdadm parece ter tido isso por um tempo.

    
por 01.07.2012 / 19:46
1

A maioria dos sistemas de arquivos registrados (ext3 / 4, ntfs) protege apenas transacionalmente os metadados. Se ocorrer uma queda de energia, os dados do usuário podem ser processados de forma inconsistente, mas os metadados estão corretos.

Zfs e eu acho que o xfs protege os metadados e os dados do usuário usando transações e logs.

    
por 01.07.2012 / 19:59
0

Barreira é uma maneira de evitar a corrupção em quedas de energia, mas esse recurso de segurança vem com um acerto de desempenho . O melhor dos dois mundos (performance / barreira = off, sem praticamente nenhum risco de corrupção) custa um pouco mais: use dispositivos com caches de gravação não voláteis, apoiados por bateria.

    
por 02.07.2012 / 02:32