Todos os três modos de registro de dados devem deixar o próprio sistema de arquivos intacto após uma falha de energia. Por isso, deve sempre montar sem erros. A diferença é apenas nos dados dos seus arquivos; O modo data=writeback
pode deixar dados obsoletos (ou seja, o que foi armazenado nos setores do disco antes das gravações feitas pelo aplicativo). data=ordered
e data=journaled
não devem fazer isso.
O mais provável é que as barreiras de E / S não estejam funcionando em sua configuração. Primeiro, verifique se você não está montando com barrier=0
/ nobarrier
. Isso aumenta o desempenho, mas causará danos na falta de energia.
Se as barreiras de E / S estiverem ativadas, também é possível que você esteja passando por uma camada de armazenamento que não as suporta. Em versões mais antigas, o LVM não e vários níveis do mdraid não. (Isso foi corrigido no Linux 2.6.33; portanto, somente se você estiver executando o Lucid ainda).
Finalmente, é possível que seus discos estejam contando mentiras. Os discos têm caches de gravação. Especialmente com o NCQ, eles só dizem ao sistema operacional que eles gravaram dados quando eles realmente o fizeram, mas eles são conhecidos por dizer ao SO que estão escritos quando são apenas no cache de gravação do disco. Aumenta o desempenho. Pelo menos enquanto a energia permanecer ligada. Você pode tentar desabilitar o cache de gravação nos discos, mas você terá um impacto no desempenho.
Note também que os discos de memória flash têm muito trabalho a fazer, e muitos deles não lidam bem com falhas de energia. (Por exemplo, o uso de nivelamento às vezes requer que um bloco de dados cheio de flash seja movido. Se a energia falhar no meio, coisas ruins acontecem em alguns discos flash.)
Finalmente ... você já considerou um no-break?