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

8

Para um Dell R920 com discos de 24 x 1,2 TB (e 1 TB de RAM), pretendo definir uma configuração RAID 5 para E / S rápida. O servidor será usado para hospedar VMs KVM que estarão lendo / gravando arquivos de todos os tamanhos, incluindo arquivos muito grandes. Não estou muito interessado em segurança de dados porque, se o servidor falhar por qualquer motivo, apenas re-provisionaremos o servidor do bare metal após a substituição das peças com falha. Portanto, o desempenho é a principal preocupação. Estamos considerando o RAID 5 porque ele nos permite distribuir dados por vários eixos-árvore e, portanto, nos proporciona melhor desempenho e, embora não seja nossa principal preocupação, também nos oferece alguma proteção de dados. Nossa placa de rede é dupla de 10 Gbps.

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

Ok, com o exposto acima, aqui estão nossos pensamentos atuais sobre configuração:

  • 24 discos rígidos: RMCP3 : 1.2TB, 10K, 2.5 "6Gbps
  • Controladora 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 é contabilizada como paridade e 22 restantes para dados)
  • Tamanho da faixa: 1 MB (unidades de 1 MB / 22 = ~ 46,5 KB por disco - ou entendo errado o tamanho da faixa)?
  • Política de leitura: leitura adaptativa antecipada
  • Política de gravação: Write Back
  • Diretiva de cache de disco: ativada

Se o tamanho da faixa for o TOTAL entre as unidades de dados, então imaginei que ~ 46,5 KB por unidade nos proporcionará uma taxa de transferência muito boa. Se o tamanho da faixa for por eixo, entendi tudo errado.

O tamanho da faixa também tem 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 gastando quase um megabyte inteiro? Ou vários arquivos podem viver dentro de uma faixa?

Por fim, quando instalamos o CentOS 6.5 (ou mais recente), precisamos fazer algo especial para garantir que o sistema de arquivos use o RAID da melhor forma possível? Por exemplo, mkfs.ext4 tem uma opção -E stride que me disseram que deve corresponder à configuração RAID. Mas, durante uma instalação do CentOS, existe alguma maneira de fazer isso?

Muito obrigado por sua opinião sobre o RAID 5 de configuração para E / S rápidas.

Steve Amerige
fonte
4
O RAID 5 é o que você não deseja usar se deseja desempenho ... suas velocidades de gravação podem ser terríveis.
C #
1
Você pode fornecer algum contexto sobre a carga de trabalho de leitura / gravação e o aplicativo para esta solução de armazenamento?
ewwhite
1
se você deseja desempenho, não use HDDs. Você provavelmente poderá obter mais desempenho com um bom sistema de armazenamento SSD ou mesmo soluções de armazenamento PCIe. se você não se importa se os dados são perdidos, vá para SSDs ou mesmo soluções de armazenamento PCIe.
Dennis Nolte
2
@ Tonny, verifiquei isso. Máximo de 16 discos para esse controlador.
ewwhite
7
Todo mundo, lembre-se de que você não nasceu especialista, todo mundo aprende em algum momento. Por favor, seja gentil com aqueles que sabem menos do que você.
21714 Chris-S

Respostas:

12

Por favor, use RAID 1 + 0 com o seu controlador e configuração de unidade. Se você precisar de mais capacidade, um nível RAID aninhado como o RAID 50/60 pode funcionar . Você pode se safar do 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 desative o recurso de armazenamento em cache em disco individual ... perigoso)

Existem muitas facetas no desempenho de E / S e armazenamento local. Existem operações de E / S / segundo, há taxa de transferência, há latência de armazenamento. RAID 1 + 0 é um bom equilíbrio entre eles. Os aspectos positivos aqui são que você está usando discos corporativos, um controlador de hardware capaz 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 em um único grupo RAID 1 + 0.

Outro aspecto a considerar, dependendo da sua carga de trabalho, é que você pode aproveitar o cache do SSD usando a funcionalidade LSI Cachecade em determinados 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.


Quanto às opções de criação de sistema de arquivos ext4, grande parte será abstraída pelo seu controlador RAID de hardware. Você deve poder 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.

ewwhite
fonte
Algumas informações muito úteis aqui. Estamos procurando desempenho primeiro, espaço total em disco em segundo. Portanto, não estamos considerando o RAID 10 porque perderíamos metade de nossos 24 TB de espaço em disco disponível. Nossas necessidades são muito pesadas e agitamos a TB de dados com bastante facilidade. Como a conseqüência da falha do servidor é uma baixa prioridade para nós (porque podemos reconstruir o servidor desde o início depois de corrigir um hardware ruim - ou seja, a segurança dos dados NÃO é nossa consideração mais importante), queremos maximizar a E / S do disco ( local e NFS / outra história) e velocidade geral de processamento.
9138 Steve Amerige
@SteveAmerige De quanto espaço em disco você precisa? Você não pode USAR 24 discos em um grupo RAID, portanto, existem algumas considerações adicionais de design para o seu ambiente. Você pode nos dizer o que esse sistema deve fazer, que tipo de dados está envolvido e quais são os requisitos reais de desempenho?
ewwhite
1
@SteveAmerige Mais detalhes! O RAID 5 é um não iniciador. Você NÃO deve usá-lo em 2014. Que tipo de dados são esses? Qual seria a tecnologia de virtualização? KVM? VMware? Acho que o design aqui realmente precisa de algum aprimoramento, principalmente antes de investir em tanto hardware ... Você sabe qual será o tamanho do "conjunto de dados" de trabalho por VM? Nos casos em que esse valor é conhecido, você pode armazenar em cache e otimizar em torno disso. Armazenamento em camadas. SSDs. A carga de trabalho tem tendência de leitura ou de gravação?
ewwhite
1
RAID 5 would give us some data safety at the expense of effectively 1 hard drive per group, right? Não, não está certo. Com unidades desse tamanho e com muitos discos em um grupo, o RAID 5 oferece efetivamente 0 segurança de dados. Também pode apenas lançar os discos em duas matrizes RAID 0 de 12 discos.
HopelessN00b
1
No final, fiz a seguinte configuração das 24 unidades físicas: Grupo de discos 0, RAID 10 (4 unidades): VD 0: BOOT 100GB; VD 1: ROOT 2134.5GB. Grupo de discos 1, RAID 0 (10 unidades): VD 2: DATA1, 11172.5GB. Grupo de Discos 2, RAID 0 (10 unidades): VD 3: DATA2, 11172.5GB. É possível que eu não tenha precisado de discos virtuais VD 0 BOOT e VD 1 ROOT separados. Fiz isso para garantir que o disco de inicialização pudesse executar uma inicialização padrão (não UEFI). Eu usei o LVM mais tarde para usar exclusivamente VD 0 e VD 1; e / dados que usaram VD 2 e VD 3. Muito obrigado por todos os comentários!
21814 Steve Amerige
5

NÃO use uma única matriz RAID 5 em 24 discos de 1 TB! Não me importo muito com o que você prefere limitar as respostas, é uma má ideia e você deve procurar outras opções.

As chances de um disco falhar aumentam com cada disco. O mesmo acontece com o tempo necessário para reconstruir. Quando uma unidade falha, e você a substitui, ela utiliza o máximo de E / S em todos os discos possível para criar os dados para o novo. É muito provável que um dos seus 23 bons discos restantes falhe durante esse processo, forçando você a restaurar o servidor a partir de backups. Você diz que não se importa ... mas está disposto a aceitar isso uma vez por mês? Uma vez por semana? À medida que os discos envelhecem, pode muito bem ficar ruim.

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

Se você REALMENTE não se importar com seus dados, vá com o RAID 0. Mas, mesmo assim, crie algumas matrizes separadas, e não um RAID 0 gigante de 24 discos.

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

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

Conceder
fonte
1
Para sua informação, sou desenvolvedor de software que gerencia os servidores de nossa divisão como um trabalho paralelo. Isso significa que tenho muitas lacunas no meu conhecimento. Mas, tenho feito isso com sucesso há alguns anos. Esta é a primeira vez que estou construindo um servidor tão grande, então seu feedback é muito apreciado. Aprecio muito o seu comentário sobre as limitações do RAID 5. O que queremos é desempenho e espaço total em disco disponível, mas estamos dispostos a considerar as configurações de RAID que nos dão alguma segurança de dados (nossa última prioridade).
9788 Steve Jobsige
1

Suas opções:

  • RAID 0 : Isso transforma todos os seus discos em uma única unidade sem redundância. Isso tem o mais alto desempenho de leitura e gravação e o espaço mais utilizável 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 gravar cada pedaço de dados duas vezes) e você tem apenas 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 : Isso 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 o RAID 0, a velocidade de gravação é muito mais lenta, possivelmente mais lenta 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) e você perca o espaço de um disco para obter informações de paridade. A perda de um único disco pode causar uma grande redução na velocidade de leitura (reconstruir os dados armazenados nele exige a leitura de todos os outros discos), mas não afeta a disponibilidade dos dados.

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

Se a segurança dos dados for realmente irrelevante (isso inclui o tempo gasto para restaurar os dados da fonte original, o que pode levar dias e o tempo perdido ao refazer cálculos interrompidos), recomendo o RAID 0. Caso contrário, se você tiver uma carga de trabalho quase Se você ler exclusivamente e desejar alguma confiabilidade, recomendo o RAID 6 (mas observe que o desempenho sofrerá ao se recuperar de um disco com falha). Se você tiver uma carga de trabalho de leitura e gravação, recomendo o RAID 1 + 0.

Dependendo da natureza precisa da sua carga de trabalho (por exemplo, se uma determinada tarefa acessar um subconjunto bem definido do espaço em disco), você poderá configurar várias matrizes RAID independentes, para que a falha de uma não afete as outras. .

O RAID 5 não oferece benefícios na sua situação. Ele tem uma penalidade de desempenho (especialmente para gravação) em comparação com o RAID 0 e, com o número de discos que você possui, é praticamente certo que um segundo disco falhará durante a recuperação, sem oferecer benefícios à segurança dos dados.

Marca
fonte
1

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

Por quê? - o tamanho da faixa pequena implica o envolvimento de vários discos em qualquer E / S longa, menor a chance de carregar vários discos com uma E / S lógica. Faixa grande significa mais chances de apenas um disco (ou alguns) estar envolvido na E / S. Isso pode parecer uma deficiência, porque não há aumento em comparação com vários discos, mas sua carga quase aleatória entra em cena e você percebe que a carga seria espalhada por todos os discos de maneira mais ou menos uniforme.

Mais teoria por trás disso pode ser encontrada aqui: http://www.vinumvm.org/vinum/Performance-issues.html

poige
fonte