Como configuro o RAID 5, especialmente o tamanho da faixa, com unidades de 24 x 1,2 TB para o CentOS 6?

7

Para um Dell R920 com discos de 24 x 1,2 TB (e 1 TB de RAM) Eu estou olhando para configurar uma configuração RAID 5 para IO rápido. O servidor será usado para hospedar VMs KVM que estarão lendo / gravando arquivos de todos os tamanhos, incluindo arquivos muito grandes. Eu não estou muito interessado em segurança de dados, porque se o servidor falhar por qualquer motivo, nós apenas provisionaremos novamente o servidor a partir do zero após a substituição das partes com falha. Então, o desempenho é a principal preocupação. Estamos considerando o RAID 5 porque nos permite distribuir dados em vários eixos e, portanto, nos proporciona um melhor desempenho e, embora não seja nossa principal preocupação, também nos fornece alguns dados protecção. Nossa NIC é dual 10Gbps.

Estou limitando esta questão ao RAID 5 apenas porque achamos que isso proporcionará o melhor desempenho. Somente se houver uma razão de desempenho convincente, consideraremos outra coisa. Mas acho que prefiro respostas relacionadas a configurações de RAID 5.

Ok, com o exposto acima, aqui estão os pensamentos da nossa configuração atual para:

  • 24 discos rígidos: RMCP3 : 1,2 TB, 10 K, 2,5" 6 Gbps
  • Controlador RAID: H730P, Suporte SAS de 12 Gbps, Cache NV de 2 GB
  • 1 Hot Spare (apenas para nos dar uma vida mais longa se uma unidade falhar)
  • 23 unidades de dados (das quais 1 é contabilizado como paridade e 22 restantes para dados)
  • Tamanho da faixa: 1 MB (1 MB / 22 unidades de dados = ~ 46,5 KB por disco - ou, eu entendo mal o tamanho da faixa)?
  • Política de leitura: leitura adaptativa a seguir
  • Política de gravação: write back
  • Política de cache de disco: ativada

Se o tamanho da faixa for o TOTAL nas unidades de dados, calculei ~ ~ 46,5 KB por unidade, o que nos dará um throughput muito bom. Se o tamanho da faixa for por fuso, entendi tudo errado.

O tamanho da faixa também é o tamanho de um único arquivo? Por exemplo, se houver um arquivo de 2 KB, escolher um tamanho de faixa de 1 MB significa que estamos perdendo quase um megabyte inteiro? Ou vários arquivos podem viver dentro de uma faixa?

Por fim, quando instalarmos o CentOS 6.5 (ou mais recente), precisaremos fazer algo especial para garantir que o sistema de arquivos use o RAID de maneira ideal? Por exemplo, mkfs.ext4 tem uma opção -E stride que me dizem que deve corresponder à configuração RAID. Mas, durante uma instalação do CentOS, há alguma maneira de fazer isso?

Muito obrigado pela sua opinião sobre a configuração do RAID 5 para rápida IO.

    
por Steve Amerige 11.07.2014 / 15:21

4 respostas

12

Por favor, use o RAID 1 + 0 com o seu controlador e configuração da unidade. Se você precisar de mais capacidade, um nível de RAID aninhado, como o RAID 50/60 , poderia funcionar . Você pode se safar com o RAID 5 em um pequeno número de discos SAS corporativos (8 unidades ou menos) porque os tempos de reconstrução não são ruins. No entanto, 24 unidades é um erro terrível. (Ah, e desabilite o recurso de cache de disco individual ... perigoso)

Existem muitas facetas para o desempenho de E / S e armazenamento local. Existem operações de E / S / segundo, há taxa de transferência, há latência de armazenamento. O RAID 1 + 0 é um bom equilíbrio entre eles. Aspectos positivos aqui são que você está usando discos corporativos, um controlador de hardware com capacidade e um bom número de discos. Quanta capacidade você precisa?

Você pode ter limites para o número de unidades que você pode usar em um grupo de discos virtuais. Os controladores PERC / LSI tradicionalmente limitavam isso a 16 unidades para níveis únicos de RAID e RAID 1 + 0. O guia do usuário confirma isso . Você não seria capaz de usar todos os 24 discos em um único RAID 5 ou um único grupo RAID 1 + 0.

Outro aspecto a considerar, dependendo da sua carga de trabalho, é que você pode aproveitar o cache SSD usando o Funcionalidade LSI Cachecade em certos controladores PERC. Pode não estar disponível para isso, mas entender seus padrões de E / S ajudará a personalizar a solução de armazenamento.

No que diz respeito às opções de criação do sistema de arquivos ext4, muitas delas serão abstraídas pelo seu controlador RAID de hardware. Você deve ser capaz de criar um sistema de arquivos sem opções especiais aqui. Os parâmetros aos quais você está se referindo terão mais impacto em uma solução RAID de software.

    
por 11.07.2014 / 15:37
5

NÃO use um único array RAID 5 em 24 discos de 1 TB! Eu não ligo muito para o que você prefere limitar as respostas, é uma má ideia e você deve procurar outras opções.

As chances de um disco falhar aumentam em cada disco. O mesmo acontece com o tempo necessário para reconstruir. Quando uma unidade falha e você a substitui, ela usará o máximo de ES em todos os discos para criar os dados da nova. É muito provável que um dos seus 23 discos restantes falhe durante esse processo, forçando-o a restaurar o servidor a partir de backups. Que você diz que não se importa ... mas você está disposto a aceitar fazer isso uma vez por mês? Uma vez por semana? Como os discos envelhecem, pode muito bem ficar tão ruim assim.

Além disso, se você quer performance, o RAID5 está levando você na direção errada. Em muitos casos, o RAID5 tem um desempenho pior do que outras opções, porque ele precisa calcular a paridade para cada gravação e, em seguida, gravar isso em uma unidade também. O RAID5 não foi projetado para desempenho.

Se você realmente não se importa com seus dados, use o RAID 0. Mas, mesmo assim, crie alguns arrays separados, não um RAID 0 gigante de 24 discos.

Se você deseja desempenho e alguma integridade, use o RAID10. Você perderá algum espaço em disco, mas obterá um grande aumento de desempenho.

Ou você pode ver coisas como o ZFS, que foram criadas desde o início para trabalhar com grandes quantidades de dados em discos.

    
por 11.07.2014 / 15:25
1

Suas opções:

  • RAID 0 : transforma todos os seus discos em uma única unidade sem redundância. Isso tem o desempenho mais alto de leitura e gravação e o espaço mais útil de qualquer uma das opções, mas a perda de um único disco significa a perda de todos os dados.

  • RAID 1 + 0 : transforma todos os seus discos em uma única unidade com todos os dados presentes em dois discos. A velocidade de leitura é quase a mesma do RAID 0, a velocidade de gravação é reduzida pela metade (já que você precisa escrever cada parte dos dados duas vezes) e você tem metade do espaço disponível. A perda de um único disco não afeta a disponibilidade de dados e o impacto mínimo nas velocidades de leitura / gravação.

  • RAID 5 : transforma todos os seus discos em uma única unidade, com um valor de paridade em um disco. A velocidade de leitura é um pouco menor que a do RAID 0, a velocidade de gravação é muito mais lenta, possivelmente mais lenta do que a velocidade de gravação de um único disco não-RAID (cada gravação requer um ciclo de leitura-modificação-gravação em pelo menos dois discos) perder um espaço no disco para informações de paridade. A perda de um único disco pode causar uma grande redução na velocidade de leitura (a reconstrução dos dados armazenados requer leitura de dados de todos os outros discos), mas não afeta a disponibilidade de dados.

  • RAID 6 : tem essencialmente todas as vantagens e desvantagens do RAID 5, exceto pelo fato de armazenar uma soma de verificação mais sofisticada além de um cálculo de paridade e lidar com a perda de dois discos sem perda de dados.

Se a segurança de dados for realmente irrelevante (isso inclui o tempo gasto restaurando os dados da fonte original, o que pode levar dias e o tempo perdido refazendo cálculos interrompidos), recomendo RAID 0. Caso contrário, se você tiver uma carga de trabalho que é quase exclusivamente leituras e você quer alguma confiabilidade, eu recomendo RAID 6 (mas note que o desempenho sofrerá quando se recuperar de um disco com falha). Se você tiver uma carga de trabalho de leitura / gravação, recomendo o RAID 1 + 0.

Dependendo da natureza exata de sua carga de trabalho (ou seja, se uma determinada tarefa acessa um subconjunto bem definido de seu espaço em disco), você poderá configurar vários arrays RAID independentes, para que a falha de um não impactar os outros.

O RAID 5 não oferece benefícios em sua situação. Ele tem uma penalidade de desempenho (especialmente para gravação) comparado ao RAID 0, e com o número de discos que você tem, é virtualmente certo que um segundo disco falhará durante a recuperação, não oferecendo nenhum benefício de segurança de dados.

    
por 12.07.2014 / 06:37
1

Ok, apenas para uma pergunta clara: tamanho da faixa. O tamanho da faixa maior é melhor, a menos que seu RAID seja burro para sempre ler / gravar toda a faixa de dados como o bloco mínimo de E / S.

Por quê? - O pequeno tamanho da faixa implica em vários discos em qualquer E / S longa, menor é a chance de carregar vários discos com uma E / S lógica. Big stripe significa mais chances de apenas um disco (ou alguns) estarem envolvidos na E / S. Isso pode parecer uma deficiência, pois não há aumento comparando com vários discos, mas sua carga quase aleatória aumenta e você percebe que a carga seria distribuída por todos os discos de maneira mais ou menos uniforme.

Mais teoria por trás disso pode ser encontrada aqui: link

    
por 12.07.2014 / 07:52