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

2

(Isso é uma espécie de acompanhamento para a questão que eu tive ontem, onde eu perdi dados por causa de uma remoção, enquanto a cópia )

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?

warsong
fonte
a menos que eu esteja entendendo mal (você pode querer esclarecer sua pergunta ou pelo menos vincular seu tópico anterior), não, não pode haver tal coisa. é impossível recuperar dados que nunca foram gravados na unidade devido à perda de energia. você teria que ir até a fonte para encontrar os dados. Felizmente, as leituras geralmente são operações não voláteis, portanto, o powerloss durante uma leitura não deve causar perda de dados.
Frank Thomas
Nunca faça uma remoção durante a cópia. Copie e remova.
LawrenceC
@ultrasawblade Em um mundo ideal, obviamente, mas há coisas tão chatas como (como apontado no título) falhas de energia, falhas de software e outros problemas que podem fazer com que o sistema congele ou desligue inesperadamente.
a CVn
1
Eu acho engraçado que você culpe NTFS quando depois de digitalizar apenas 4% do seu disco que você já acabou com 11000 setores defeituosos . Não foi apenas perda de poder; a unidade caiu e foi fisicamente danificada em grande extensão. Além disso, Este artigo por Raymond Chen pode lhe interessar.
Karan
Isso é pessimista. Dos 136 milhões de setores, apenas 18700 são ruins até o momento. Eu culpo NTFS, eu não estou esperando muito em 2013 para um sistema de arquivos para lidar com uma perda de energia súbita? Embora pareça que outros compartilham minha opinião e por isso criaram alguns dos sistemas de arquivos mencionados. Foi uma queda muito pequena, depois de ver os resultados do regenerador HDD até agora não parece que o dano físico é o sintoma.
warsong

Respostas:

2

Remover a 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 journaling . Para maior segurança, você deseja um sistema de arquivos que registre os dois metadados (por exemplo, entradas de diretório) e os dados e, adicionalmente, um que utiliza barreiras de escrita. Isso vem com um impacto de desempenho (às vezes substancial).

Com o diário de dados (e o 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. oferta ext3 e ext4 opcional registro de dados (com um custo de desempenho) além do registro de metadados. 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, convém 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.

ChrisInEdmonton
fonte
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.

jlliagre
fonte
Eu adoraria ver um link explicando como o copy-on-write do ZFS garante isso. Eu não tenho conhecimento suficiente para explicar bem a mim mesmo. :)
ChrisInEdmonton
1
@ChrisInEdmonton Esta página seria um bom começo: c0t0d0s0.org/permalink/…
jlliagre