É necessário criar uma matriz RAID a partir de um SSD e quais controladores são necessários para isso?

Olá Habr! Neste artigo, diremos se vale a pena organizar arrays RAID baseados em soluções de estado sólido SATA SSD e NVMe SSD, e haverá um grande lucro com isso? Decidimos analisar esta questão considerando os tipos e tipos de controladores que permitem que isso seja feito, bem como o escopo de tais configurações.

É necessário criar uma matriz RAID a partir de um SSD e quais controladores são necessários para isso?

De uma forma ou de outra, cada um de nós pelo menos uma vez na vida ouviu definições como “RAID”, “RAID-array”, “RAID-controller”, mas é improvável que tenhamos dado muita importância a isso, porque tudo isso é improvável para um boyar de PC comum. Interessante. Mas todos desejam altas velocidades de unidades internas e operação sem problemas. Afinal, por mais poderoso que seja o hardware do computador, a velocidade do drive se torna um gargalo no que diz respeito ao desempenho combinado do PC e do servidor.

Este foi exatamente o caso até que os HDDs tradicionais foram substituídos por SSDs NVMe modernos com capacidades comparáveis ​​de 1 TB ou mais. E se antes nos PCs havia frequentemente combinações de SSD SATA + alguns HDDs de grande capacidade, hoje eles estão começando a ser substituídos por outra solução - SSD NVMe + alguns SSDs SATA de grande capacidade. Se falamos de servidores corporativos e “nuvens”, muitos já migraram com sucesso para SSDs SATA, simplesmente porque são mais rápidos que as “latas” convencionais e são capazes de processar um maior número de operações de I/O simultaneamente.

É necessário criar uma matriz RAID a partir de um SSD e quais controladores são necessários para isso?

No entanto, a tolerância a falhas do sistema ainda está em um nível bastante baixo: não podemos, como na “Batalha dos Videntes”, prever com uma precisão de até uma semana quando uma determinada unidade de estado sólido irá morrer. E se os HDDs “morrem” gradualmente, permitindo que você detecte os sintomas e tome medidas, então os SSDs “morrem” imediatamente e sem aviso prévio. E agora é a hora de descobrir por que tudo isso é necessário? Vale a pena organizar matrizes RAID baseadas em soluções de estado sólido SATA SSD e NVMe SSD, e haverá um grande lucro com isso?

Por que você precisa de uma matriz RAID?

A própria palavra “array” já implica que para criá-lo são utilizadas várias unidades (HDD e SSD), que são combinadas por meio de um controlador RAID e reconhecidas pelo SO como um único armazenamento de dados. A tarefa global que os arrays RAID podem resolver é minimizar o tempo de acesso aos dados, aumentando a velocidade e a confiabilidade de leitura/gravação, o que é alcançado graças à capacidade de recuperação rápida em caso de falha. A propósito, não é necessário usar RAID para backups domésticos. Mas se você tem seu próprio servidor doméstico, ao qual precisa de acesso constante 24 horas por dia, 7 dias por semana, a questão é diferente.

Existem mais de uma dúzia de níveis de matrizes RAID, cada um dos quais difere no número de unidades usadas e tem seus próprios prós e contras: por exemplo, o RAID 0 permite obter alto desempenho sem tolerância a falhas, o RAID 1 permite que você espelhar dados automaticamente sem aumentar a velocidade, e o RAID 10 combina as possibilidades acima. RAID 0 e 1 são os mais simples (já que não requerem cálculos de software) e, como resultado, os mais populares. Em última análise, a escolha de um ou outro nível de RAID depende das tarefas atribuídas à matriz de disco e dos recursos do controlador RAID.

RAID doméstico e corporativo: qual a diferença?

A base de qualquer negócio moderno são grandes volumes de dados que devem ser armazenados com segurança nos servidores da empresa. E também, como observamos acima, devem ter acesso constante 24 horas por dia, 7 dias por semana. É claro que, junto com o hardware, a parte de software também é importante, mas neste caso ainda estamos falando de equipamentos que garantem armazenamento e processamento confiável de informações. Nenhum software salvará uma empresa da ruína se o hardware não cumprir as tarefas que lhe são atribuídas.

É necessário criar uma matriz RAID a partir de um SSD e quais controladores são necessários para isso?

Para essas tarefas, qualquer fabricante de hardware oferece os chamados dispositivos empresariais. A Kingston possui poderosas soluções de estado sólido na forma de modelos SATA Kingston 450R (DC450R) и Série DC500, bem como os modelos NVMe DC1000M U.2 NVMe, DCU1000 U.2 NVMe e DCP-1000 PCI-e, destinados ao uso em data centers e supercomputadores. Matrizes dessas unidades geralmente são usadas em conjunto com controladores de hardware.

É necessário criar uma matriz RAID a partir de um SSD e quais controladores são necessários para isso?

Para o mercado consumidor (ou seja, para PCs domésticos e servidores NAS), unidades como Kingston KC2000 NVMe PCIe, mas neste caso não é necessário comprar um controlador de hardware. Você pode se limitar a um PC ou servidor NAS embutido na placa-mãe, a menos, é claro, que planeje montar você mesmo um servidor doméstico para tarefas atípicas (iniciar uma pequena hospedagem doméstica para amigos, por exemplo). Além disso, os arrays RAID domésticos, via de regra, não requerem centenas ou milhares de drives, sendo limitados a dois, quatro e oito dispositivos (geralmente SATA).

Tipos e tipos de controladores RAID

Existem três tipos de controladores RAID baseados nos princípios de implementação de matrizes RAID:

1. Software, no qual o gerenciamento do array recai sobre a CPU e a DRAM (ou seja, o código do programa é executado no processador).

2. Integrado, ou seja, embutido nas placas-mãe de um PC ou servidor NAS.

3. Hardware (modular), que são placas de expansão discretas para conectores PCI/PCIe em placas-mãe.

Qual é a diferença fundamental entre eles? Os controladores RAID de software são inferiores aos integrados e de hardware em termos de desempenho e tolerância a falhas, mas não requerem equipamento especial para operar. Entretanto, é importante garantir que o processador do sistema host seja poderoso o suficiente para executar o software RAID sem impactar negativamente o desempenho dos aplicativos que também estão em execução no host. Os controladores integrados geralmente são equipados com sua própria memória cache e usam uma certa quantidade de recursos da CPU.

Mas os de hardware têm sua própria memória cache e um processador integrado para executar algoritmos de software. Normalmente, eles permitem implementar todos os tipos de níveis de RAID e oferecer suporte a vários tipos de unidades ao mesmo tempo. Por exemplo, os controladores de hardware modernos da Broadcom podem conectar simultaneamente dispositivos SATA, SAS e NVMe, o que permite não alterar o controlador ao atualizar servidores: em particular, ao mudar de SSD SATA para SSD NVMe, os controladores não precisam ser alterados.

É necessário criar uma matriz RAID a partir de um SSD e quais controladores são necessários para isso?

Na verdade, com esta nota chegamos à tipologia dos próprios controladores. Se existem três modos, deveria haver outros? Neste caso, a resposta a esta questão será afirmativa. Dependendo das funções e capacidades, os controladores RAID podem ser divididos em vários tipos:

1. Controladores comuns com função RAID
Em toda a hierarquia, este é o controlador mais simples que permite combinar HDD e SSD em matrizes RAID de níveis “0”, “1” ou “0+1”. Isso é implementado programaticamente no nível do firmware. Porém, tais dispositivos dificilmente podem ser recomendados para uso no segmento corporativo, pois não possuem cache e não suportam arrays de níveis “5”, “3”, etc. Mas para um servidor doméstico básico, eles são bastante adequados.

2. Controladores que funcionam em conjunto com outros controladores RAID
Este tipo de controlador pode ser emparelhado com controladores integrados da placa-mãe. Isso é implementado de acordo com o seguinte princípio: um controlador RAID discreto se encarrega de resolver problemas “lógicos” e o integrado assume as funções de troca de dados entre drives. Mas há uma nuance: a operação paralela de tais controladores só é possível em placas-mãe compatíveis, o que significa que seu escopo é seriamente limitado.

3. Controladores RAID autônomos
Essas soluções discretas contêm todos os chips necessários para trabalhar com servidores de classe empresarial, possuindo seu próprio BIOS, memória cache e processador para rápida correção de erros e cálculos de soma de verificação. Além disso, atendem a altos padrões de confiabilidade em termos de fabricação e possuem módulos de memória de alta qualidade.

4. Controladores RAID externos
Não é difícil adivinhar que todos os controladores listados acima são internos e recebem energia através do conector PCIe da placa-mãe. O que isto significa? E essa falha da placa-mãe pode levar a erros na operação do array RAID e perda de dados. Os controladores externos estão livres desse mal-entendido, pois estão alojados em uma caixa separada com fonte de alimentação independente. Em termos de confiabilidade, esses controladores fornecem o mais alto nível de armazenamento de dados.

Broadcom, Microsemi Adaptec, Intel, IBM, Dell e Cisco são apenas algumas das empresas que atualmente oferecem controladores RAID de hardware.

Modos operacionais de controladores RAID SAS/SATA/NVMe

O objetivo principal dos controladores HBA e RAID de modo triplo (ou controladores com funcionalidade Tri-Mode) é criar RAID de hardware baseado em NVMe. Os controladores da série 9400 da Broadcom podem fazer isso: por exemplo, MegaRAID 9460-16i. Pertence a um tipo independente de controlador RAID, está equipado com quatro conectores SFF-8643 e, graças ao suporte Tri-Mode, permite conectar unidades SATA/SAS e NVMe simultaneamente. Além disso, é também um dos controladores com maior eficiência energética do mercado (consumindo apenas 17 Watts de energia, sendo menos de 1,1 Watts para cada uma das 16 portas).

É necessário criar uma matriz RAID a partir de um SSD e quais controladores são necessários para isso?

A interface de conexão é PCI Express x8 versão 3.1, que permite uma taxa de transferência de 64 Gbit/s (os controladores para PCI Express 2020 deverão aparecer em 4.0). O controlador de 16 portas é baseado em um chip de 2 núcleos SAS3516 e SDRAM DDR72-4 de 2133 bits (4 GB), bem como a capacidade de conectar até 240 unidades SATA/SAS ou até 24 dispositivos NVMe. Em termos de organização de matrizes RAID, são suportados os níveis “0”, “1”, “5” e “6”, bem como “10”, “50” e “60”. A propósito, memória cache MegaRAID 9460-16i e outros controladores da série 9400 são protegidos contra falhas de tensão pelo módulo CacheVault CVPM05 opcional.

A tecnologia de três modos é baseada na função de conversão de dados SerDes: convertendo a representação serial de dados em interfaces SAS/SATA em formato paralelo em PCIe NVMe e vice-versa. Ou seja, o controlador negocia velocidades e protocolos para funcionar perfeitamente com qualquer um dos três tipos de dispositivos de armazenamento. Isso fornece uma maneira perfeita de dimensionar infraestruturas de data center: os usuários podem usar o NVMe sem fazer alterações significativas em outras configurações do sistema.

É necessário criar uma matriz RAID a partir de um SSD e quais controladores são necessários para isso?

Porém, ao planejar configurações com drives NVMe, vale considerar que as soluções NVMe utilizam 4 pistas PCIe para conexão, o que significa que cada drive utiliza todas as linhas de portas SFF-8643. Acontece que apenas quatro unidades NVMe podem ser conectadas diretamente ao controlador MegaRAID 9460-16i. Ou limite-se a duas soluções NVMe enquanto conecta simultaneamente oito unidades SAS (veja o diagrama de conexão abaixo).

É necessário criar uma matriz RAID a partir de um SSD e quais controladores são necessários para isso?

A figura mostra a utilização do conector “0” (C0/Conector 0) e do conector “1” para conexões NVMe, bem como dos conectores “2” e “3” para conexões SAS. Esse arranjo pode ser revertido, mas cada unidade x4 NVMe deve ser conectada usando pistas adjacentes. Os modos de operação do controlador são definidos por meio dos utilitários de configuração StorCLI ou Human Interface Infrastructure (HII), que operam no ambiente UEFI.

É necessário criar uma matriz RAID a partir de um SSD e quais controladores são necessários para isso?

O modo padrão é o perfil “PD64” (suporta apenas SAS/SATA). Como dissemos acima, existem três perfis no total: o modo “modo somente SAS/SATA” (PD240 / PD64 / PD 16), o modo “modo somente NVMe” (PCIe4) e um modo misto no qual todos os tipos de unidades pode operar: “PD64 -PCIe4" (suporte para 64 discos físicos e virtuais com 4 drives NVMe). No modo misto, o valor do perfil especificado deve ser “ProfileID=13”. A propósito, o perfil selecionado é salvo como mestre e não é redefinido mesmo ao retornar às configurações de fábrica através do comando Definir padrões de fábrica. Só pode ser alterado manualmente.

Vale a pena criar um array RAID em um SSD?

Portanto, já entendemos que os arrays RAID são a chave para o alto desempenho. Mas vale a pena construir RAID a partir de SSDs para uso doméstico e corporativo? Muitos céticos dizem que o aumento na velocidade não é tão significativo a ponto de gastar em drives NVMe. Mas isso é realmente assim? Dificilmente. A maior limitação ao uso de SSDs em RAID (tanto em nível doméstico quanto empresarial) pode ser apenas o preço. Goste ou não, o custo de um gigabyte de espaço em um HDD é muito mais barato.

Conectar várias “unidades” de estado sólido a um controlador RAID para criar uma matriz SSD pode ter um enorme impacto no desempenho em determinadas configurações. No entanto, não esqueça que o desempenho máximo é limitado pela taxa de transferência do próprio controlador RAID. O nível RAID que oferece o melhor desempenho é o RAID 0.

É necessário criar uma matriz RAID a partir de um SSD e quais controladores são necessários para isso?

Um RAID 0 convencional com dois SSDs, que usa um método de divisão de dados em blocos fixos e distribuição deles em armazenamento de estado sólido, resultará no dobro do desempenho em comparação com um único SSD. No entanto, um array RAID 0 com quatro SSDs já será quatro vezes mais rápido que o SSD mais lento do array (dependendo da limitação de largura de banda no nível do controlador RAID SSD).

Com base em aritmética simples, um SSD SATA é cerca de 3 vezes mais rápido que um HDD SATA tradicional. As soluções NVMe são ainda mais eficientes – 10 vezes ou mais. Desde que dois discos rígidos em um RAID de nível zero apresentem o dobro do desempenho, aumentando-o em 50%, dois SSDs SATA serão 6 vezes mais rápidos e dois SSDs NVMe serão 20 vezes mais rápidos. Em particular, uma única unidade Kingston KC2000 NVMe PCIe pode atingir velocidades de leitura e gravação sequenciais de até 3200 MB/s, que no formato RAID 0 atingirão impressionantes 6 GB/s. E a velocidade de leitura/gravação de blocos aleatórios de 4 KB passará de 350 IOPS para 000 IOPS. Mas... ao mesmo tempo, o RAID “zero” não nos fornece redundância.

Pode-se dizer que em ambientes domésticos geralmente não é necessária redundância de armazenamento, então a configuração RAID mais adequada para SSDs realmente se torna RAID 0. Esta é uma maneira confiável de obter melhorias significativas de desempenho como alternativa ao uso de tecnologias como Intel Optane. SSDs. Mas falaremos sobre como as soluções SSD se comportam nos tipos de RAID mais populares (“1”, “5”, “10”, “50”) em nosso próximo artigo.

Este artigo foi preparado com o apoio de nossos colegas da Broadcom, que fornecem seus controladores aos engenheiros da Kingston para testes com unidades SATA/SAS/NVMe de classe empresarial. Graças a esta simbiose amigável, os clientes não precisam duvidar da confiabilidade e estabilidade das unidades Kingston com controladores HBA e RAID de produção. Broadcom.

Para obter mais informações sobre os produtos Kingston, visite no site oficial empresa.

Fonte: habr.com

Adicionar um comentário