Misturando RAID mdadm com SSDs parcialmente protegidos contra perda de energia

3

Eu criei um mdadm RAID 10 com 4 SSDs. 2 desses SSDs são modelos de consumo e não possuem o recurso de proteção de dados de perda de energia.

Na criação do RAID, coloquei 1 SSD com proteção de energia em todos os pares de RAID 1. Assim, cada par RAID 1 tem um SSD consumidor e um SSD empresarial.

Se o servidor tiver uma falha de energia, como a proteção contra perda de energia afetaria o sistema de arquivos ou a consistência do RAID? Eu posso imaginar, que o RAID não está mais em sincronia porque o SSD A - que está com proteção de energia - tem outro conteúdo (mais recente) que o SSD B.

A proteção contra perda de energia pode causar mais danos ou problemas neste caso?

    
por user2933212 15.12.2017 / 04:04

1 resposta

2

Sim, você pode ter perda de dados. Uma proteção contra perda de potência real implicaria capacitores no SSD. Isso é o que os de classe empresarial devem ter, ou um mecanismo alternativo, tão viável quanto possível.

Qualquer SSD deve ter algum tipo de proteção contra corrupção de FTL (camada de tradução flash), ou todo o SSD será danificado, resultando em perda total de dados.

Os SSDs padrão usam uma técnica conhecida como 'journaling' para impedir que o FTL seja corrompido. Isso significa que, após a perda repentina de energia, o SSD praticamente reverte para um estado anterior, que entra em conflito com o comando flush do cache. Na computação do cliente (desktop, notebooks), existem 2 tipos de dados definidos: “dados em repouso” (dados que foram salvos fisicamente na mídia de armazenamento) e “dados em vôo” (gravações pendentes - gravações enviadas para a unidade de o computador host, mas ainda não está comprometido com a mídia de armazenamento, ou qualquer gravação que esteja em andamento, mas ainda não esteja concluída ou em cache). No caso de falha de energia, os "dados em vôo" desaparecem.

Nos SSDs de classe empresarial, os circuitos dos capacitores permitem que os SSDs se protejam, para concluir as gravações pendentes / em andamento. A capacidade também é suficiente para garantir que a tabela de endereçamento FTL seja salva corretamente na NAND.

Assim, voltando ao seu caso, em uma situação inesperada de perda de energia, o SSD de classe empresarial conseguirá gravar tudo e não terá perdas, enquanto o outro provavelmente terá perdas de dados. Isso levará a inconsistências de RAID.

O que você deve fazer é emparelhar os padrões como um array e os de classe corporativa como outro. Mantenha os dados críticos sobre os protegidos e não os dados necessários (e os arquivos de paginação) nos dados padrão.

    
por 15.12.2017 / 11:28