write hole: quais níveis de RAID são afetados?

3

Na minha jornada para entender as vantagens do RAIDZ, me deparei com o conceito de write hole .

Como esta página explica, um furo de escrita é a inconsistência que você tem entre os discos da matriz, quando a energia é perdida durante uma gravação. Essa página também explica que afeta tanto o RAID-5/6 (se a energia é perdida depois que os dados foram gravados, mas antes que a paridade tenha sido calculada) quanto o RAID-1 (os dados são gravados em um disco, mas não nos outros) , e que é um problema insidioso que só pode ser detectado durante um resync / scrub, ou (desastrosamente) durante a reconstrução de um dos discos ... no entanto, mais de the outro sources fale sobre isso como níveis de RAID baseados em paridades afetadas.

Pelo que entendi, acho que isso poderia ser um problema para o RAID-1 também, já que leituras de discos contendo o furo retornariam lixo, então ... é um problema para todos Nível de RAID ou não? É dependente de implementação? Isso afeta apenas o software RAID ou também os controladores de hardware? (extra: como mdadm se comporta a esse respeito?)

    
por Mario Vitale 16.04.2017 / 22:41

2 respostas

0

O furo de gravação pode afetar todo nível de RAID, mas RAID-0; Ambas as configurações listrada (RAID-4/5/6) e espelhada (RAID-1) podem ser vulneráveis, simplesmente devido ao fato de que gravações atômicas são impossíveis em dois ou mais discos.

Eu digo "may" porque o problema é dependente da implementação. Deixando de lado as soluções de sistemas de arquivos de próxima geração, como o RAID-Z, também as implementações clássicas de software RAID encontraram maneiras de resolver isso: mdadm tem relativamente recentemente introduziu um recurso de diário que usa discos de cache dedicados para evitá-lo, e mesmo se você optar por não usar esse recurso, ele também forçará um resync após cada desligamento não limpo, capturando e resolvendo o write-hole assim que isso acontece.

Obrigado ao canal do #zfs irc pela ajuda!

    
por 17.04.2017 / 18:33
2

É por isso que uma bateria de cache ou algum outro método de validação de consistência de cache é necessário para o raid. Todas as placas de invasão devem ter cache com bateria e todos os controladores de armazenamento devem ter cache espelhado. Para invasão de software, não acho que haja uma boa resposta. Eu acho que até mesmo raid Z pode falhar em uma perda de energia.

    
por 16.04.2017 / 23:02