Um RAID 10 grande vs várias matrizes menores?


10

Minha pergunta é: quando é apropriado simplesmente criar uma matriz grande com desempenho rápido de leitura e gravação, como o RAID 10, em vez de criar matrizes menores para aplicativos específicos?

Parece-me que, se meus requisitos gerais de E / S não forem terrivelmente pesados, uma única matriz com excelente desempenho de leitura e gravação poderá fornecer melhor desempenho geral a todos os aplicativos, exceto naqueles momentos (talvez raros) em que aplicativos com diferentes padrões de acesso atingiram o pico em ao mesmo tempo (copiar grandes quantidades de arquivos grandes enquanto um banco de dados está sendo bloqueado).

Se eu dedico um par de eixos a uma tarefa específica, como logs de transações, e eles nem mesmo suam com a carga de trabalho ... por que não colocar essa carga de trabalho em um RAID 10 maior? Esses eixos poderiam contribuir para outras cargas de trabalho, em vez de ficarem se coçando 60% do tempo.

PS, no meu caso em particular, a sobrecarga de custo do RAID 10 não é um fator, porque estou pensando em criar várias matrizes RAID 1 e uma pequena RAID 5. Ir para o RAID 10 pela quantidade de espaço que preciso seria comparável.

Respostas:


10

Saber como configurar seu armazenamento tem tudo a ver com medir e orçar o IOPS e a largura de banda. (Estou sendo simplista aqui porque o tamanho da mistura percentual de leitura / gravação, E / S média, tamanho da faixa RAID e porcentagens de acertos do cache é muito importante. Se você conseguir esses números, poderá fazer seus cálculos ainda mais precisos.)

Há uma pequena calculadora de E / S muito boa aqui que eu uso frequentemente ao planejar o armazenamento. O diretório de armazenamento do wmarow também é bom para obter alguns números de desempenho de disco bastante contemporâneos.

Se eu dedico um par de eixos a uma tarefa específica, como logs de transações, e eles nem mesmo suam com a carga de trabalho ... por que não colocar essa carga de trabalho em um RAID 10 maior?

Lembre-se de que colocar E / S sequencial em um eixo com E / S aleatório torna esse E / S seqüencial aleatório. Seus discos de log de transações podem parecer que não estão suando porque você está vendo operações sequenciais de IO. As leituras e gravações seqüenciais em um volume RAID-1 serão bastante rápidas, portanto, se você basear "não se preocupe" com o comprimento da fila de disco, por exemplo, não estará entendendo toda a história.

Meça ou calcule o máximo de IOPS aleatório possível para o volume de destino pretendido, faça uma linha de base da carga de trabalho atual nesse volume e decida se você tem espaço suficiente para colocar esses IOPS de log de transações na IO aleatória restante no volume de destino. Além disso, certifique-se de orçar o espaço necessário para a carga de trabalho (obviamente). Se você estiver disposto, construa uma porcentagem de "espaço livre" adicional na sua carga de trabalho de E / S / alocação de espaço.

Continue com essa metodologia para todas as outras cargas de trabalho que você deseja colocar no volume RAID-10 de destino. Se você ficar sem IOPS aleatório, estará acumulando muito volume - adicione mais discos ou coloque parte da carga de trabalho em volumes dedicados. Se você ficar sem espaço, adicione mais discos.


Um problema é que, com a minha configuração atual, eu realmente só posso obter uma boa medida no total de IOPS, que é apenas cerca de 300 (60% de leitura), com uma média de 14 mil bytes por transferência. A grande matriz RAID 10 que estou considerando deve poder fazer 758 IOPS aleatórios de 16k (60% e fatorar o cache). No entanto, esse cálculo não leva em consideração as cargas de trabalho mistas, e é com isso que estou lutando.
Boden

4

Li mais artigos recentemente dizendo que o RAID 5 é um caminho ruim para a confiabilidade. Acredito mais depois que um disco ficou danificado em uma matriz RAID 5, substituiu a unidade e não pôde se recuperar porque um segundo disco tinha um erro de leitura irrecuperável latente que nos forçou a reformatar e restaurar a partir do backup.

À medida que as unidades estão aumentando, as chances de ter um erro de leitura irrecuperável não detectado nesses discos enormes também estão aumentando, e com o RAID 5, a confiabilidade simplesmente não está mais diminuindo. Se você não está espelhando, aparentemente o conselho é usar o RAID 10.

A menos que você esteja fazendo algo muito sensível a problemas de velocidade, não me preocuparia em dividir as coisas em pequenas matrizes ou algo assim. Coloque-o em um RAID 10 e veja se o seu desempenho está em alta. Com armazenamento em cache e memória adequados no sistema, tudo ficará bem. Números para benchmarks nunca serão exatamente o que você realmente obterá, porque depende do uso real, carga real, desempenho da unidade de disco, cache do controlador, cache do disco, fragmentação, etc.

A melhor regra geral é simplificar a configuração o máximo possível, porque mesmo se você passar um dia ou uma semana suando essa configuração em um ou dois anos, precisará solucionar algum problema neste servidor que deixará você está se perguntando por que configurá-lo da maneira que definiu se adicionou alguma complexidade desnecessária à configuração.


1
Sim, mudei de RAID 5 para RAID 6, e a penalidade de gravação está me matando. Gosto da idéia de um grande RAID 10. O que posso usar para comparar diferentes tipos de carga de E / S simultânea?
quer

1
Um cronômetro é o mais preciso :-)
Bart Silverstrim

1
Não subestime a importância de unidades e controladores. Temos um Dell NAS com RAID 5 e ele fica entupido quando os usuários fazem login e extraem perfis dele e concluímos que era porque as unidades não tinham 10.000 RPM, depois de pesquisar um pouco os números dos monitores de desempenho. Acabamos movendo certos dados para um servidor separado para descarregar parte da carga de trabalho.
Bart Silverstrim

2
Honestamente, não entendo por que alguém usaria o RAID 5 em um ambiente corporativo. Nós somos o RAID 10 todo o caminho.
Beep beep

2
Como na época o RAID 5 não era ruim :-) O RAID 10 era considerado luxo desnecessário em nosso nível de negócios, suponho que você poderia dizer. Os preços realmente caíram, os tempos mudaram e ainda apoiamos o que está "funcionando" na sala do servidor.
Bart Silverstrim

2

Quão previsível você deseja que as latências para seus aplicativos sejam?

Digamos, por exemplo, que você tenha um aplicativo realmente sensível à latência e compartilhe um sistema de arquivos com seu banco de dados financeiro. No fechamento fiscal, de repente você recebe chamadas sobre o tempo limite do aplicativo sensível à latência. Como você vai descobrir isso?

Por outro lado, sou um grande fã de simplificar tudo, portanto, verificaria se você não possui requisitos excepcionais e consolidaria e simplificaria suas configurações se seus requisitos não se enquadrarem em casos especiais estranhos.


0

Claro, por que não. O fato é que, lembre-se de criar sua grande variedade de discos múltiplos corretamente, errar e você terá um longo tempo de reconstrução.

O RAID 10 vem em dois sabores:

  • RAID 1 + 0, onde você cria 2 matrizes RAID 1 e as distribui.
  • RAID 0 + 1, onde você cria 2 matrizes RAID 0 e espelha-as.

Uma vez que um disco morre, em um você terá que reconstruir uma única matriz raid1. Com o outro, você terá que reconstruir toda a matriz raid0.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.