Um controlador RAID com cache NV melhora o desempenho ou a integridade de uma matriz SSD?

20

Estou planejando comprar um servidor (Dell PowerEdge R740) com SSDs no RAID 10, e minhas prioridades são desempenho de gravação e integridade de dados. Ele estará executando o Linux. Os SSDs possuem caches de gravação com proteção contra perda de energia.

Parece que estas são as minhas opções de RAID:

  • PERC H330 (sem cache), software RAID (passagem)
  • PERC H330 (sem cache), RAID de hardware (gravação)
  • PERC H730P (cache NV de 2 Gb), RAID de hardware (gravação)
  • PERC H740P (cache de 8 Gb NV), RAID de hardware (gravação)

Minhas perguntas:

  • Alguma dessas configurações corre risco de perda de dados ou corrupção na perda de energia?
  • Qual configuração devo esperar ter o melhor desempenho de gravação?
  • Existem outros benefícios para um cache NV que eu não considerei?

Perguntas relacionadas:

M. Dudley
fonte
11
Em contrapartida, as configurações do controlador RAID de hardware suportadas por SSDs podem ter desempenho inferior ao rendimento máximo esperado quando o cache de write-back está ativado. Mas vejo que você já está apenas pensando em escrever, então parece estar ciente disso.
precisa

Respostas:

16

Se usado com SSDs sem cache de gravação protegido por powerloss, o NVCACHE do controlador RAID é extremamente importante para obter um bom desempenho.

No entanto, como você está usando SSDs com caches de gravação protegidos por powerloss, o desempenho não deve variar muito entre as várias opções. Por outro lado, existem outros fatores a serem considerados:

  • com hardware O RAID geralmente é mais simples de identificar e substituir um disco com falha: o controlador marca claramente a unidade afetada (por exemplo: com uma luz âmbar) e substituí-la geralmente é tão simples quanto puxar a unidade antiga / inserir a nova. Com uma solução RAID de software, é necessário inserir os comandos apropriados para identificar e substituir a unidade com falha;
  • o RAID de hardware apresenta ao BIOS um único volume para inicialização, enquanto o RAID de software mostra os vários dispositivos componentes;
  • com o controlador correto (ou seja: H730 ou H740) e discos (SAS 4Kn), você pode habilitar com facilidade o campo de integridade de dados estendidos (T10 / T13);
  • o RAID de hardware executa um blob binário opaco no qual você não tem controle;
  • O RAID do software Linux é muito mais flexível do que qualquer RAID de hardware que eu já usei.

Dito isso, em tal configuração, recomendo vivamente que você considere usar o ZFS no Linux: os caches de gravação protegidos por powerloss significam que você pode continuar sem um dispositivo ZIL dedicado, e os recursos adicionados ao ZFS (compactação, soma de verificação etc.) podem ser muito úteis .

Para responder diretamente às suas perguntas:

  1. Alguma dessas configurações corre risco de perda de dados ou corrupção na perda de energia? Não: como todos os caches estão protegidos, você não deve corromper nenhum dado sobre perda de energia.
  2. Qual configuração devo esperar ter o melhor desempenho de gravação? O H740P configurado no modo de cache de write-back deve fornecer o desempenho máximo absoluto de gravação. No entanto, em algumas circunstâncias, dependendo da sua carga de trabalho específica, a gravação pode ser mais rápida. O controlador DELL (e LSI) ainda possui alguns recursos SSD específicos (por exemplo: CTIO e FastPath), que são baseados em write-through e podem aumentar seu desempenho de gravação aleatória.
  3. Existem outros benefícios para um cache NV que eu não considerei? Sim: um controlador com um NVCACHE adequado nunca permitirá que as duas pernas RAID1 / 10 tenham dados diferentes. Em algumas circunstâncias, o RAID do software Linux é propenso a incompatibilidades (inofensivas) do RAID1 . O ZFS não sofre com esse problema.
shodanshok
fonte
2
O ZFS é realmente mais do que um RAID: ele possui faixas de paridade variável, portanto, não há "ready-modify-write-write" ou "write hole". Além disso, em vez de um cache de página, ele possui ARC avançado. Há uma coisa que perde: NV RAM ... que pode ser resolvido com a integração NV DIMM :)
BaronSamedi1958
13

P1: Há alguma dessas configurações em risco de perda de dados ou corrupção na perda de energia?

A1: Você não deve ter nenhum problema, a menos que configure o cache no modo de write-back e sem NV RAM.

P2: Qual configuração devo esperar ter o melhor desempenho de gravação?

A2: Um com a maior quantidade de cache, obviamente! ... e sem paridade RAID, mas RAID10, é claro.

Q3: existem outros benefícios para um cache NV que eu não considerei?

A3: Escreva coalescência, falsificação, etc. Mas essas são realmente pequenas.

BaronSamedi1958
fonte
Eu não tinha certeza se o cache ajudaria porque li que a reordenação de gravação não afeta muito os SSDs e porque os SSDs têm seus próprios caches de gravação.
M. Dudley
@ M.Dudley sim, eles têm caches, mas você não pode ter cache demais . O cache é bom, quanto mais cache, melhor.
ThoriumBR
7
@M. Dudley: o controlador RAID possui gigabytes de cache atrás do barramento PCIe x4-x8 de faixas de alta latência rápida e baixa, enquanto os caches SSD estão em megabytes e atrás de links SATA / SAS de 6 a 12 Gbps.
precisa saber é o seguinte
@ BaronSamedi1958, não importa tanto quanto parece. "Gigabytes de cache" está espalhado por todo o volume lógico que você definiu; portanto, dividido em um único disco, pode ser reduzido a apenas alguns megabytes por disco. Além disso, até o datado Samsung 850 Pro vinha com 1 GB de cache DRAM, quase metade do cache inteiro do H730P. Por último, mas não menos importante: a interface SAS3 oferece 12 GB / s em um único link, superando as faixas x8 PCIe 3 nas quais os controladores RAID normalmente estão conectados.
the-wabbit
2
@ the-wabbit Enquanto eu geralmente concordo com você, seu cálculo de largura de banda está errado: o SAS3 tem 12 Gb / s ou 1,5 GB / s por direção no máximo. Um PCI-E 8x tem largura de banda máxima de 128 Gb / s ou 16 GB / s por direção. Além disso, o próprio controlador SAS geralmente trava de um link PCI-E upstream, assim como o controlador RAID.
shodanshok
0

Você pode usar o Bonnie ++ para fazer testes em placas de ataque do servidor / Perc vs SSD. o HDD acelera 5k / 10 / 16k rpm ou unidades híbridas variarão as estatísticas e o uso do cache.

outro advogado do ZFS. Comecei a usar os servidores da SGI em meados dos anos 90 e o ZFS eliminou qualquer coisa relacionada ao UFS / ext2 / 3 ... à prova de bomba.

Munkeh72
fonte
0

Além das boas respostas acima: um item frequentemente esquecido, mas necessário para a integridade estendida de qualquer RAID, é a limpeza de dados, também conhecida como patrulha de mídia ou patrulha de leitura . Isso garante que todos os dados em todos os discos sejam legíveis por um longo período de tempo.

Sem esfregar, é possível - e após um longo período de tempo e até um grande número de setores provável - que os setores de dados que não são usados ​​há muito tempo não são mais legíveis. No modo operacional normal, isso não é um problema, pois o setor defeituoso pode ser reconstruído usando dados de redundância. No entanto, se um disco falhar, você já perdeu a redundância (exceto os níveis de RAID 6 ou RAID aninhado) e quando um setor defeituoso aparecer durante a reconstrução, você estará morto na água.

Portanto, sempre habilite a limpeza de dados, a menos que você goste de surpresas desagradáveis.

Zac67
fonte