Sistema de armazenamento RAID extensível

1

Atualmente, estou construindo uma unidade de armazenamento para nosso escritório. É bastante baixo orçamento no momento, mas precisa ser prorrogável.

Basicamente, temos uma enorme base de dados que crescerá bastante nos próximos meses. Portanto, idealmente, gostaríamos apenas de lançar discos rígidos em nosso novo servidor.

Ainda não compramos o servidor, mas passamos por alguns detalhes. No entanto, gostaria de obter uma resposta a uma pergunta primeiro.

Quão fácil é expandir os sistemas RAID existentes?

Vamos começar com dois discos rígidos HDD de 4 TB. Mas após cerca de 1 mês, precisaremos adicionar outros 2 discos de 4 TB. O servidor que vamos conseguir tem 12 baias.

O espelhamento é importante, no entanto, o RAID 1 funciona apenas com dois discos. Raid 10, já nos permitiria espelhar um RAID 0. E pelo que eu vi até o RAID 10 pode ser instalado com dois discos. No entanto, o que acontece depois disso? Existe alguma recomendação para conseguir um sistema RAID flexível?

Na camada do SO, gostaria apenas de construir um LVM, que reconhece uma vez que haja espaço adicionado ao "disco" para que possa ser expandido. Mas, na verdade, está em vários discos que são gerenciados pelo controlador RAID.

    
por Richard 08.02.2015 / 02:49

2 respostas

2

Existem algumas opções com diferentes graus de resiliência, eficiência de disco e facilidade de operação. Aqui estão alguns:

RAID 0 & 1 RAID 0 e 1 estão imediatamente fora de questão, o RAID 0 não oferece redundância (na verdade aumenta o risco) e o RAID 1 é limitado - como você mencionou - ao tamanho máximo de 1 disco.

RAID 5 É uma opção e você só perde 1 disco por paridade; embora isso seja amargo, quanto mais discos você tiver, mais chances de encontrar um erro em 2 (ou mais) discos (e você está ferrado se isso acontecer). As velocidades de gravação são muitas vezes ausentes. Mínimo de 3 discos para começar. A expansão é demorada e tem um alto risco de falha total.

RAID 6 É uma opção mais resiliente, mesmo que o RAID 5, exceto por usar 2 x discos para paridade, assim você pode perder 2 x discos para falhas, como ainda ser capaz de reconstruir. As velocidades de gravação são muitas vezes ausentes. Mínimo de 4 discos para começar. A expansão é muito demorada e tem um risco menor do que o RAID5 de falha total, mas não de risco insignificante.

RAID 10 É a opção mais resiliente de todos os RAIDs e também o eficiente de leasing, pois usa metade de todos os discos presentes para espelhamento. Um grande benefício em relação ao RAID 5 e 6 é que as velocidades de gravação costumam ser significativamente melhoradas com cada disco adicionado (em vez de diminuir o desempenho) - isso pode ser essencial dependendo do tipo de banco de dados que você está implementando. Mínimo de 4 discos para começar, adicionando 2 de cada vez depois disso. A expansão é provavelmente a mais rápida com o risco mínimo associado.

RAID 50/60 É o meio termo entre RAID 5/6 e RAID 10 - tem melhor eficiência de uso de disco que o RAID 10, mas tem o requisito de ter muitos discos para começar (Mínimo 6), também funciona melhor que os RAIDs básicos. A expansão é muito demorada, o risco depende de quantos discos estão na matriz, mas está em algum lugar entre o RAID 10 e o 5/6 (ponderado para 5/6).

LVM Eu não uso muito, então vou deixar essa avenida para alguém comentar.

RAID baseado em sistema de arquivos O BTRFS e o ZFS podem executar o RAID 0,1,5 de maneira transparente nos discos, sem a necessidade de gerenciamento de RAID do Linux. Adicionar / remover / alterar conjuntos de arrays é fácil (embora consuma tempo, como o RAID é). O ZFS tem a vantagem de ser testado e testado por muitos anos, enquanto o BTRFS ainda é um sistema de arquivos emergente.

Conclusão:

O Linux RAID é um pouco mais indulgente que o RAID de hardware, onde o RAID 5/6/50/60 está envolvido O Linux RAID pode tornar sua vida um pouco mais fácil se as coisas ficarem em forma de pêra (como perder dois discos em um array RAID 5) ainda pode montar a matriz e tentar recuperar, enquanto a maioria dos HBAs recusará completamente). O RAID 10 com RAID de hardware é geralmente a aposta mais segura, tanto no que diz respeito à resiliência, taxa de transferência de I / O e tempos de expansão. Então, coloque no meu top 2:

Se a taxa de transferência de E / S não for de alta prioridade: * Linux RAID 5, mas rotineiramente faça backup de seus dados em outro lugar para compensar o risco. A expansão é tão simples quanto um comando de 1 linha, embora demore um pouco para ser concluído.

Se a taxa de transferência de E / S for uma prioridade: * Hardware RAID 10, o cronograma para backup de seus dados pode ser um pouco relaxado. A expansão dependerá do tipo de RAID de hardware, mas não demorará muito para inicializar.

    
por 08.02.2015 / 03:52
2

Há alguns pontos que gostaria de enfatizar: primeiro, tentaria usar um dispositivo de armazenamento dedicado, se possível. Hardware construído para um propósito específico tende a ser mais adequado para ele que os servidores genéricos. Dito isto, entendo que, se o orçamento for baixo, pode não haver uma chance de obter uma matriz de disco pequena.

Portanto, se você precisar usar um servidor normal, normalmente poderá obter controladores RAID de hardware avançados que permitem a expansão de disco lógico. Se você usar um deles, você só precisará varrer novamente o barramento e expandir o sistema de arquivos assim que o controlador terminar de recriar o array (desde que não haja tabela de partição). Se esta for uma operação sem interrupções, mesmo que uma estratégia de backup seja altamente recomendada. Por favor, não esqueça que a reconstrução da matriz afetará o desempenho. No entanto, mesmo que isso seja possível, eu não recomendaria depender somente do controlador do servidor. Eu irei elaborar isso mais tarde.

Em segundo lugar, parece que estamos olhando para um fator de capacidade aqui, o espaço em disco. Como sobre o desempenho? Usando unidades de 4 TB em uma configuração RAID5 ou RAID6 vai lhe dar acesso aleatório / gravação extremamente pobre. No intervalo de 10 ou 20 IOPS / TB. Se o seu banco de dados não é acessado com freqüência, isso seria ok, mas se você tiver uma necessidade nesse sentido, isso pode ser um problema.

Considerando os dois pontos, meu conselho seria:

  • Volumes separados (discos lógicos) de acordo com as necessidades de desempenho
  • Use um controlador avançado de matriz de disco que ofereça vários arrays no modo RAID5, RAID6; cache de bateria e discos sobressalentes.
  • Para conjuntos de dados com requisitos de alto desempenho, eu usaria uma grande proporção de fusos por TB e unidades rápidas (SAS?) e uma configuração RAID com pequena penalidade de RAID (RAID10)
  • Para conjuntos de dados sem requisitos de desempenho, eu usaria fusos baixos por razão de TB. As unidades de capacidade seriam ideais aqui (2, 3, 4 TB NLSAS) em uma configuração RAID5 ou RAID6. Eu me concentraria em criar as matrizes completas a partir do dia 0.
  • Para expandir suas unidades lógicas, eu criaria novas matrizes no nível do controlador e elas as gerenciariam usando o LVM.

Como exemplo. Se você precisar de 300 GB de armazenamento de desempenho e 2 TB de armazenamento de capacidade, criaria dois discos lógicos usando o controlador de matriz:

  • Desempenho: RAID1, discos SAS 10k de 2x600 GB
  • Capacidade: discos RAID5, 3 + 1 NLSAS 2TB

Ambos gerenciados via LVM (Grupos de Volume separados)

Se eu precisar de mais espaço em disco "Capacidade", eu adquirirei mais 4 discos NLSAS e criar um novo array 3 + 1 e sua capacidade adicionada ao grupo Volume de Capacidade. Se você sair dos compartimentos de disco, alguns fornecedores têm prateleiras JBOD, você pode se conectar ao mesmo controlador de disco e eles serão gerenciados por ele.

As larguras RAID5 e RAID6 exatas serão determinadas por suas necessidades e por seus recursos de controlador. Por favor, dê uma olhada no manual para ver as recomendações do fornecedor nesse sentido. As configurações freqüentemente recomendadas são RAID5 em 3 + 1 e RAID6 em 6 + 2.

Por último, mas não menos importante, por favor, monitore suas falhas de disco e dê uma olhada na sua contagem de discos sobressalentes.

Espero que isso ajude!

    
por 08.02.2015 / 08:27