Como o ZFS declara exclusivamente ,O ZFS é declarado invulnerável O ZFS aceita que possa estar vulnerável a falhas de energia.
Não consegui encontrar essa declaração para o BTRFS. É (ou projetado / planejado para ser) durável entre quedas de energia?
btrfs
failure-resistance
ceremcem
fonte
fonte
zpool clear -F
comandosync
ou umflush
que grava caches no disco, ou não durante uma queda de energia, que os dados serão perdidos. O ZFS pode funcionar perfeitamente se o disco rígido estiver íntegro e não houver falta de energia (ou um no- break estiver conectado ao computador para desligar corretamente em uma queda de energia). O que você não pode dizer sobre o FAT32 mais ou menos.should be ok if your hw isn't "buggy"
onde não significa "buggy"your hw has correct flush/barrier semantics
. Eu publiquei um link para esta pergunta no IRC, espero que alguém leve algum tempo para elaborar; mas por enquanto é isso.Respostas:
TL; DR: Isso significa que o btrfs está protegido contra corrupção de dados devido à perda de energia de maneira semelhante ao ZFS.
Aqui está o porquê: A idéia geral por trás do ZFS e do btrfs é semelhante. Ambos usam árvores Merkle como uma estrutura de dados . As gravações podem exigir a atualização de vários blocos no (s) disco (s). O sistema de arquivos está lidando com isso gravando os novos dados em blocos vazios (mesmo que um arquivo existente esteja sendo modificado, portanto, não é necessário modificar os blocos que refletem o estado antigo) e construindo uma nova árvore atualizada. Depois que todo o trabalho pesado é feito e os dados + a árvore atualizada foram gravados no disco, o ponteiro do cabeçalho é atualizado para a nova árvore, tornando visível a alteração.
Aqui está como as coisas devem se comportar ao gravar em um arquivo:
Se a energia for perdida após (4), a transação será concluída. Se a energia for perdida durante as etapas (1) a (3), o sistema de arquivos apresentará o estado antigo (os dados gravados na etapa (1) são perdidos, mas o sistema de arquivos é consistente). Observe que não há necessidade de verificar se há erros no sistema de arquivos, o que significa que o sistema está disponível imediatamente, o que é uma grande vantagem (a verificação de sistemas de arquivos grandes pode levar muito tempo!).
Aqui está um exemplo de como as coisas podem dar errado com o hardware "buggy":
O sistema de arquivos se tornará inconsistente se perder energia entre (4) e (5) ou ao executar a etapa (5). Como conseqüência, a árvore Merkle e / ou os dados podem ser gravados apenas parcialmente, tornando o sistema de arquivos inconsistente.
Na prática, você deve ter um cuidado especial ao usar os controladores RAID . Eles geralmente desabilitam os caches de write-back no disco e usam seu próprio cache de write-back. Existem duas maneiras comuns de as coisas darem errado aqui:
* Estou simplificando as coisas aqui. Na verdade, não é necessário copiar a árvore inteira. Apenas as partes que foram alteradas precisam ser adicionadas - as partes restantes podem ser compartilhadas entre a árvore antiga e a nova .
fonte