Em já abordamos a questão de “É aplicável RAID em SSD” usando drives Kingston, mas fizemos isso apenas no contexto do nível zero. Neste artigo, vamos explorar opções de uso de soluções NVMe profissionais e domésticas nos tipos de arrays RAID mais populares e discutir a compatibilidade dos controladores com discos Kingston.

Por que usar RAID em SSD?
As vantagens dos arrays de armazenamento baseados em SSD em comparação com os arrays de armazenamento em discos rígidos incluem a redução do tempo de acesso aos dados no dispositivo e um desempenho superior em operações de leitura/escrita. No entanto, para um desempenho ideal do RAID baseado em SSD, é necessária uma combinação otimizada de processador, cache, software e hardware. Quando todos esses fatores funcionam em perfeita harmonia, um array RAID de SSD pode superar significativamente uma configuração equivalente usando HDDs tradicionais.
Um SSD típico consome menos energia do que discos rígidos, portanto, ao agrupar um grande número de unidades de estado sólido em um array RAID, a economia de energia em comparação com um array RAID de HDD pode resultar também em uma redução nos custos das contas corporativas de eletricidade.
No entanto, o RAID em SSD tem limitações e desvantagens: em particular, o custo mais alto por gigabyte de espaço em comparação com discos rígidos de capacidade semelhante. E a durabilidade da memória flash é limitada a um certo número de ciclos de gravação. Isso significa que os SSDs têm uma vida útil definida, que depende do uso: quanto mais frequentemente as informações forem regravadas, mais rápido o dispositivo falhará. Por outro lado, SSDs corporativos têm uma vida útil respeitável, comparável à dos discos rígidos mecânicos.
Como os SSDs Kingston se comportam em RAID com controladores Broadcom
No alvorecer do surgimento dos SSDs, as configurações RAID apresentavam muitas nuances, em parte devido ao uso de HDDs menos confiáveis. Os drives de estado sólido são muito mais confiáveis do que seus equivalentes baseados em discos magnéticos. Como sabemos, nas soluções SSD não há elementos móveis, portanto, os danos mecânicos são reduzidos a zero. A falha dos drives de estado sólido devido a picos de tensão também é improvável, considerando que em um PC doméstico ou qualquer servidor, você está protegido por UPS, filtros de rede e até mesmo pela fonte de alimentação.
Além disso, os drives de estado sólido têm outra grande vantagem: mesmo que as células de memória se desgastem com a gravação, ainda é possível ler dados delas; já ao danificar um disco magnético, infelizmente, essa não é uma opção.

Atualmente, usar soluções SSD em arrays RAID de diferentes níveis é uma prática bastante comum. O principal é escolher os drives de estado sólido com latência mínima. Além disso, idealmente, utilize SSDs do mesmo fabricante e modelo para evitar uma mistura de drives com diferentes tipos de cargas de trabalho, construídos com diferentes tipos de memória, controladores e outras tecnologias. Ou seja, se decidirmos adquirir quatro ou 16 SSDs NVMe da Kingston para criar um array RAID, é melhor que todos sejam da mesma série e linha de modelos.
A propósito, Não sem razão mencionamos os controladores da Broadcom ao falarmos sobre SSDs NVMe da Kingston. O fato é que nos manuais desses dispositivos são listados de imediato os drives compatíveis (incluindo soluções do mencionado fabricante americano de SSDs) com os quais o controlador funcionará sem problemas. Essa informação deve ser base essencial ao escolher a combinação "controlador-SSD" para RAID.
Analisamos o funcionamento dos SSDs da Kingston nos tipos de RAID mais populares — “1”, “5”, “10”, “50”
O nível "zero" de RAID não oferece redundância de dados, apenas aumenta o desempenho. Nenhuma proteção de dados é fornecida pelo RAID 0, portanto, não iremos considerá-lo no segmento corporativo. Por outro lado, o RAID 1 oferece total redundância, mas apenas um modesto aumento de desempenho, e deve ser considerado quando o aumento de desempenho não é um fator decisivo na criação de um array RAID com SSDs.
RAID 1 com SSDs Kingston e controladores Broadcom
Portanto, o array RAID de nível um baseado no controlador Broadcom MegaRAID 9460-16i reúne de dois a 32 dispositivos Kingston que são cópias uns dos outros, garantindo total redundância. Se, ao usar HDDs tradicionais, a velocidade de leitura e gravação de dados se mantinha na mesma faixa do próprio HDD, com soluções NVMe SSD temos um aumento de desempenho dez vezes maior. Especialmente em termos de tempo de acesso aos dados. Por exemplo, com dois SSDs Kingston DC1000M U.2 NVMe em um RAID 1 de servidor, obtemos 350.000 IOPS ao ler dados aleatórios e 75.000 IOPS ao gravar.

Quanto à velocidade de leitura sequencial, os resultados corresponderão às características do dispositivo — 3200 MB/s. No entanto, como ambos os SSDs NVMe estão funcionando, os dados podem ser lidos a partir deles simultaneamente, tornando as operações de leitura bastante rápidas. Já a velocidade de gravação (que é de 2000 MB/s) será mais lenta, porque cada operação de gravação é realizada duas vezes.

O array RAID 1 é ideal para pequenos bancos de dados ou qualquer outro ambiente que exija alta disponibilidade, mas com baixa capacidade. A cópia espelhada dos dispositivos é especialmente útil em cenários de recuperação de desastres (o que diminui um pouco o desempenho), pois proporciona uma "ressurreição" instantânea de dados importantes se um dos dispositivos do array falhar. No entanto, como esse nível de proteção exige o dobro da capacidade para armazenar a cópia espelhada dos dados (para armazenar 100 TB, são necessários 200 TB de espaço), muitas organizações utilizam opções de armazenamento mais econômicas: RAID 5 e RAID 6.
RAID 5 com SSDs Kingston e controladores Broadcom
Para organizar um arranjo RAID de nível cinco, precisamos de, pelo menos, três unidades de armazenamento, cujos dados são intercalados (escritos ciclicamente em todos os dispositivos do arranjo) e não duplicados. Ao configurá-las, devemos considerar sua estrutura mais complexa, uma vez que aparece o conceito de 'checksum' (ou 'paridade'). Este conceito se refere a uma função lógica algébrica XOR (ou 'ou exclusivo'), que dita o uso de pelo menos três unidades no arranjo (máximo de 32). Nesse caso, a informação de paridade é registrada em todos os 'discos' do arranjo.

Para um arranjo de quatro unidades SSD SATA Kingston DC500R com capacidade de 3,84 TB cada, teremos 11,52 TB de espaço e 3,84 TB para as checksums. E se combinarmos em RAID de nível cinco 16 unidades NVMe Kingston DC1000M U.2 com capacidade de 7,68 TB - teremos 115,2 TB com uma perda de 7,68 TB. Como você pode ver, quanto mais unidades, melhor o resultado no final. Além disso, quanto mais unidades no RAID 5, maior será o desempenho total durante as operações de gravação. A leitura sequencial atingirá o nível do RAID 0.

Um grupo de discos RAID 5 proporciona alta largura de banda (especialmente para arquivos grandes) e redundância com uma perda mínima de capacidade. Este tipo de arranjo é mais adequado para redes que realizam muitas operações de entrada e saída (I/O) pequenas simultaneamente. No entanto, não é recomendável usá-lo para tarefas que exigem um grande número de operações de gravação em blocos pequenos ou muito pequenos.
Há ainda um outro aspecto: em caso de falha de pelo menos uma das unidades NVMe, o RAID 5 entra em modo de degradação, e a falha de mais um dispositivo de armazenamento pode se tornar crítica para todos os dados. Em caso de falha de uma unidade no arranjo, o controlador RAID utiliza a informação de paridade para recriar todos os dados faltantes.
RAID 10 baseado em SSD Kingston e controladores Broadcom
Assim, o RAID 0 nos oferece um aumento de velocidade e tempo de acesso de duas vezes, enquanto o RAID 1 garante confiabilidade. Idealmente, seria bom combiná-los, e é aqui que entra o RAID 10 (ou 1+0). A “dezena” é composta por quatro unidades SATA SSD ou NVMe (máximo – 32) e implica em um conjunto de “espelhos”, cujo número de unidades deve sempre ser múltiplo de quatro. Os dados nesse conjunto são gravados por meio da divisão em blocos fixos (como no caso do RAID 0) e alternância entre as unidades, distribuindo cópias entre os “discos” no conjunto RAID 1. E devido à capacidade de acesso simultâneo a vários grupos de discos, o RAID 10 apresenta alta performance.

Como o RAID 10 pode distribuir dados entre vários pares espelhados, isso significa que ele pode tolerar a falha de uma unidade em um par. No entanto, caso ambas as pares espelhadas falhem (ou seja, todas as quatro unidades), ocorrerá uma perda de dados inevitável. Como resultado, também obtemos uma boa resistência a falhas e confiabilidade. Mas vale a pena notar que, assim como o RAID 1, o conjunto de décima camada utiliza apenas metade da capacidade total, sendo, portanto, uma solução dispendiosa. Além disso, é complexa de configurar.
O RAID 10 é adequado para armazenamento de dados que requer 100% de redundância dos grupos de discos espelhados, além de maior desempenho de entrada e saída do RAID 0. É a melhor solução para bancos de dados de médio porte ou qualquer ambiente que exija maior resistência a falhas em comparação ao RAID 5.
RAID 50 baseado em SSD Kingston e controladores Broadcom
Um conjunto combinado, semelhante ao RAID de décima camada, que representa um conjunto de zero nível, criado a partir de conjuntos de nível cinco. Assim como no caso anterior, o objetivo principal deste conjunto é alcançar o dobro de desempenho enquanto mantém a confiabilidade dos dados nos conjuntos RAID 5. O RAID 50 oferece desempenho de gravação melhorado e melhor proteção de dados do que o RAID 5 padrão em caso de falha de uma unidade, além de ser capaz de uma recuperação mais rápida no caso de falha de uma das unidades.

O grupo de discos RAID 50 divide os dados em blocos menores e, em seguida, distribui-os em cada matriz RAID 5. O grupo de discos RAID 5, por sua vez, também divide os dados em blocos menores, calcula a paridade, realiza a operação lógica OR nos blocos e, em seguida, executa operações de gravação nos blocos de dados e controle de paridade para cada disco no grupo de discos.
E embora o desempenho inevitavelmente diminua em caso de falha de um dos dispositivos, isso não é tão significativo quanto em uma matriz RAID 5, uma vez que uma falha impacta apenas uma das matrizes, mantendo a outra completamente funcional. Na verdade, o RAID 50 pode suportar até oito falhas de HDD/SSD/NVMe, desde que cada disco com falha esteja em uma matriz RAID 5 separada.

O RAID 50 é mais adequado para aplicações que exigem alta confiabilidade e que precisam processar um grande número de solicitações, mantendo alta velocidade de transferência de dados e um custo menor em comparação com uma matriz RAID 10. No entanto, como a configuração de uma matriz RAID 50 requer no mínimo seis dispositivos, o custo não pode ser completamente ignorado como um fator. Uma das desvantagens do RAID 50 é que, assim como o RAID 5, ele requer um controlador complexo: como o no artigo anterior da Broadcom.
Vale também mencionar que o RAID 50 possui menos espaço de disco utilizável do que o RAID 5, devido à alocação de capacidade para registrar os controles de paridade. No entanto, ainda possui mais espaço útil do que outros níveis de RAID, especialmente aqueles que utilizam espelhamento. Com um requisito mínimo de seis discos, o RAID 50 pode ser uma opção cara, mas o espaço adicional justifica os custos, protegendo os dados corporativos. Este tipo de matriz é recomendado para trabalhar com dados que precisam de alta confiabilidade de armazenamento, alta frequência de solicitações, alta velocidade de transferência e grande capacidade de armazenamento.
RAID 6 e RAID 60: também não os esquecemos
Uma vez que discutimos as matrizes de quinto e quinquagésimo níveis, é imperativo mencionar tipos de organização de matrizes como RAID 6 e RAID 60.

O desempenho do RAID 6 é semelhante ao do RAID 5, mas aqui pelo menos dois discos são usados para controle de paridade, o que permite que o array suporte a falha de dois discos sem perda de dados (no RAID 5, tal situação é extremamente indesejável). Isso proporciona uma confiança maior. No restante, tudo permanece igual ao array de nível cinco: em caso de falha de um ou dois discos, o controlador RAID usa os blocos de paridade para reconstruir todas as informações ausentes. Quando há falha de dois discos, a recuperação não ocorre simultaneamente: primeiro, o primeiro disco é reanimado, e em seguida, o segundo. Assim, duas operações de recuperação de dados são realizadas.

Não é difícil adivinhar que, se o RAID 50 é um array de nível zero composto por arrays de nível cinco, então o RAID 60 é um array de nível zero composto por arrays de nível seis, os quais acabamos de discutir. Ou seja, essa organização do armazenamento RAID permite suportar a perda de dois SSDs em cada grupo de discos RAID 6. O princípio de funcionamento é semelhante ao que discutimos na seção sobre RAID 50, mas o número de falhas que o array de nível sessenta pode suportar aumenta de 8 para 16 discos. Normalmente, esses arrays são usados para atendimento online ao cliente, que requer alta resiliência.
Em resumo:
Apesar de o espelhamento oferecer maior resiliência do que o RAID 50/60, ele também requer muito mais espaço. Como a quantidade de dados se duplica, você acaba obtendo apenas 50% da capacidade total dos discos instalados no servidor para gravar e armazenar informações. A escolha entre RAID 50/60 e RAID 10 provavelmente dependerá dos orçamentos disponíveis, da capacidade do servidor e das suas necessidades de proteção de dados. O custo se torna primordial, especialmente quando falamos em soluções SSD (tanto corporativas quanto de consumo).
É igualmente importante que agora sabemos com certeza que o RAID baseado em SSD é uma solução bastante segura e uma prática comum para os negócios modernos. No contexto de uso doméstico, também há uma razão para migrar para NVMe, se o orçamento permitir. E se você ainda tem alguma dúvida sobre a necessidade de tudo isso, volte ao início do artigo — já respondemos isso em detalhes.
Este artigo foi preparado com o apoio de nossos colegas da Broadcom, que fornecem seus controladores para os engenheiros da Kingston testarem com unidades SATA/SAS/NVMe de classe corporativa. Graças a essa simbiose amigável, os clientes não precisam duvidar da confiabilidade e estabilidade do funcionamento das unidades Kingston com controladores HBA e RAID. .
Mais informações sobre os produtos da Kingston podem ser encontradas em a empresa.
Fonte: habr.com
