Quais sistemas de arquivos podem lidar com a perda de energia durante a cópia?

2

(Isso é uma espécie de acompanhamento para o problema que tive ontem, quando perdi dados por causa de uma remoção-enquanto-copia )

Eu já sei que o NTFS não lida muito bem com uma remoção inesperada. Os novos sistemas de arquivos baseados em Unix, como o btrfs, o ZFS, o ext4 ou o nilfs2, funcionam melhor a esse respeito? Haveria uma chance maior de recuperação de arquivos depois?

    
por warsong 26.06.2013 / 12:12

2 respostas

2

Remover energia de uma unidade é inerentemente perigoso. Você provavelmente acabará com a corrupção, independentemente do sistema de arquivos escolhido.

Alguns sistemas de arquivos são mais capazes de lidar com isso do que outros. Alguns sistemas de arquivos usam o registro no diário . Para maior segurança, você deseja um sistema de arquivos que registre tanto os metadados (por exemplo, entradas de diretório) quanto os dados e, adicionalmente, um que use barreiras de gravação. Isso vem com um acerto de desempenho (às vezes substancial).

Com registro de dados (e uso apropriado de barreiras), qualquer gravação em um arquivo terá êxito ou falha. Isso lhe dá a melhor chance de evitar a corrupção se você perder energia durante a cópia. O sistema de arquivos ainda precisará ser verificado e as entradas no diário repetidas ou ignoradas, mas isso deve ser razoavelmente rápido. Obviamente, isso provavelmente deixará você no estado em que apenas alguns arquivos foram copiados com sucesso. Uma ferramenta como rsync ou TeraCopy pode te ajudar lá.

Dos sistemas de arquivos listados, apenas os metadados de periódicos NTFS. O ext3 e ext4 oferecem registro de dados de dados opcional (a um custo de desempenho) além do registro de metadados em dados. O btrfs e o zfs usam uma abordagem diferente, copy-on-write, que deve oferecer benefícios semelhantes ao diário de dados. O nilfs2 é um sistema de arquivos de snapshot contínuo, mas eu não sei o suficiente sobre isso para comentar sobre a sua viabilidade neste caso de uso.

Se você estiver preocupado com a perda de dados durante uma falha de energia, talvez queira examinar um no-break. Algumas placas RAID também permitem backup de bateria, o que pode ser útil dependendo do seu caso de uso específico.

    
por 26.06.2013 / 16:44
2

O ZFS certamente lida com a perda de energia durante a cópia.

Os dados destinados a serem gravados serão perdidos durante o evento se não forem confirmados, mas os dados do arquivo anterior e o sistema de arquivos geral, sendo transacionais, não sofrerão e permanecerão limpos por design.

    
por 26.06.2013 / 16:41