Configuração RAID para NAS grandes

13

Estou pensando em criar uma caixa NAS de disco de 24 TB, mas não sei qual é a melhor configuração de unidade. Estou pensando em usar o controlador areca ARC-1280ML-2G e pendurar todas as 24 unidades dele.

Gostaria que tudo fosse montado como um volume, devido ao tipo de dados que estamos armazenando nele. Uma ideia maluca que tivemos foi configurar 6 volumes RAID 5 de 4 discos e executar o software RAID 5 nesses 6 volumes. Isso significaria que qualquer volume poderia morrer conosco e ainda não perderíamos dados.

Devo observar que este é um projeto de P&D, pois temos uma aplicação futura em que precisaremos que dezenas de terabytes de armazenamento sejam rápidos e altamente disponíveis. Mas para a fase inicial de P&D, podemos aceitar alguns riscos.

Qual é a melhor solução para esse tipo de configuração? Com 24 discos de 1 TB, é provável que mais de um falhe ao mesmo tempo (ou dentro do tempo necessário para reconstruir o volume após uma primeira falha), por isso estou tendo problemas para encontrar uma boa solução.

kevin42
fonte

Respostas:

10

Já existe um nível de RAID para o que você deseja; chama-se RAID 10.

O MTBF para unidades de nível profissional e consumidor aumentou em uma ordem de magnitude nos últimos anos, a taxa de erro incorrigível permaneceu relativamente constante. Essa taxa é estimada em 10 ^ 14 bits, portanto, um bit por 12 terabytes de leitura, para unidades SATA de consumo, fonte .

Portanto, para cada varredura de seus passes de sua unidade de 24 TB, estatisticamente você encontrará pelo menos 2 erros de bit único. Cada um desses erros acionará uma reconstrução do RAID5 e, pior ainda, durante a reconstrução, um segundo erro causará uma falha dupla.

Dave Cheney
fonte
Excelentes pontos sobre a taxa de erro incorrigível, mas no terceiro parágrafo, você deve adicionar "estatisticamente, você encontrará ...", pois todos sabemos que erros de leitura (ou a falta deles) não são certos
Matt Simmons
Ele não tentará ler novamente antes de reconstruir?
Antoine Benkemoun 23/06/09
Antoine: Claro, mas se realmente não puder ser lido, será necessário reconstruir para obter os dados por paridade, IIRC.
22630 Matt Simmons
@Antonie, estes são erros de leitura incorrigíveis, que é erros que não são corrigíveis pelos discos lógicos ECC (que está corrigindo erros em uma taxa significativamente mais elevada do que 1: 10 ^ 14)
Dave Cheney
Então, esses são erros causados ​​por erros de gravação? o que impede uma segunda leitura de acontecer com sucesso?
Antoine Benkemoun 23/06/09
11

Este é precisamente o meu trabalho diário ... a construção de servidores de armazenamento Linux.

  • O cartão Areca está OK. Você pode usá-lo no RAID-6, ele fornecerá segurança razoável. Compre também a unidade de backup de bateria opcional .
  • Use discos de nível empresarial , não unidades de desktop. Você gastará mais 400 dólares em seu servidor, mas vale a pena. Compre duas unidades sobressalentes. Não mexa com isso, use discos do mesmo modelo.
  • Para o sistema de arquivos, use XFS . Sem brincadeira, o ext3 e os amigos simplesmente não farão o trabalho para sistemas de arquivos de 16 TB +. Mesmo no caso de uma falha grave, o xfs_repair será bastante rápido em um volume de 20 TB (15 minutos, não mais).
  • De preferência, use o LVM2 , pois facilitará o gerenciamento de armazenamento, mesmo que você não pretenda modificá-lo muito.
  • instale a ferramenta de gerenciamento areca e escreva uma tarefa cron para enviar um e-mail diário com uma verificação de integridade.
  • Não se esqueça de backup . RAID não é um backup; se alguém simplesmente excluir um arquivo importante, você não poderá se recuperar sem um backup adequado. Pessoalmente, uso o rdiff-backup para salvar todos os dados importantes em um servidor dedicado com um histórico de um mês; você também pode criar dois volumes RAID no servidor de arquivos e fazer backup um do outro.
wazoox
fonte
6

uau, RAID5 sobre RAID5? Deseja discutir problemas de desempenho? Você terá toneladas . O host do qual você pendura os participantes terá paridade de computação de gatinhos, escrevendo essa paridade para 3 unidades e depois computando a paridade dessa paridade e gravando-a na quarta unidade desse conjunto. UAU!

Vamos falar sobre o RAID10. É essencialmente RAID 1, mas você divide suas unidades ao meio e reflete isso. É tolerante a falhas, pois você pode perder 2 unidades e ainda ficar bem, além do desempenho ser excelente.

Se você não precisa de uma quantidade insana de espaço, mas possui um array de 24 TB sem nada melhor para fazer, mas absolutamente positivo, ele deve estar ativo, então você deve considerar o RAID60. É essencialmente RAID6 usando conjuntos de unidades espelhados. Você perderá cerca de metade das suas unidades e o desempenho será ruim, mas você terá quase a garantia de que os dados estarão lá.

Realmente, eu usaria o RAID10. Ele funciona bem e funciona bem. Segundo a opinião de Evan de que você provavelmente não deve criar conjuntos gigantes de RAID com tantos discos, porque, como ele diz, coisas como fsck e chkdsk levarão uma eternidade, e mais importante em minha mente, porque a probabilidade estatística de um erro de leitura aumenta conforme o tamanho do disco individual. Eu recomendo 7-10 discos por conjunto. Você pode criar três volumes RAID de tamanho decente com esse número de eixos.

Qualquer que seja a sua escolha, lembre-se de deixar alguns discos em hot spares, para que você possa começar a reconstruir imediatamente, em vez de esperar que a matriz espere substituí-los. Assim que um disco morre, o relógio começa a contar para outro ir.

Matt Simmons
fonte
@ Matt: Eu não estou falando sobre o tamanho dos conjuntos de RAID - estou falando sobre o tamanho do sistema de arquivos. Usando um único sistema de arquivos muito grandes, independentemente do tipo de sistema de arquivos, está pedindo enorme tempo de inatividade quando você tem que executar uma verificação do sistema de arquivos porque o sistema operacional host "corrompido" o sistema de arquivos, etc.
Evan Anderson
@Evan - Desculpe, meu mal. Mas esse é outro argumento contra isso também.
Matt Simmons
@ Matt: Um argumento contra o que? O layout dos contêineres RAID e o número de sistemas de arquivos nesses contêineres RAID são preocupações ortogonais. Você não precisa ter um único sistema de arquivos em um único contêiner RAID, e um sistema de arquivos pode abranger vários contêineres RAID na maioria dos sistemas operacionais.
Evan Anderson
Você está correto em ambos. Estamos de acordo. Você não deve criar sistemas de arquivos extremamente grandes porque o tempo de verificação é ruim. Você também não deve criar volumes de invasão extremamente grandes porque a probabilidade estatística de um erro de leitura aumenta.
23410 Matt Simmons
2

Por que não RAID 1 + 0? Tudo é tratado no nível do controlador ...

Matt Rogish
fonte
1

Eu sei que você disse "P&D", mas você também disse "altamente disponível". Eu questionaria as "economias" de uma solução de bricolage em comparação à compra de equipamentos SAN prontos para isso. Quando as coisas derem errado com sua solução de bricolage, você estará na posição inviável de não ter ninguém para entrar em contato para obter ajuda. Quanto custa o tempo de inatividade por hora? Você pode reduzir rapidamente o custo de alguns equipamentos SAN de camada média em despesas de tempo de inatividade, ignorando as despesas associadas à perda de dados totalmente correta.

Independentemente do que você faz com o disco subjacente, eu não criaria um único sistema de arquivos tão grande.

A corrupção do sistema de arquivos é uma possibilidade real (problema do controlador RAID, erros no SO, etc.). Em um volume tão grande, uma verificação do sistema de arquivos levará uma eternidade. Eu recomendo o uso de vários volumes que podem ser combinados logicamente para aparecer como um único sistema de arquivos (por vários meios - você não mencionou o sistema operacional, por isso não posso lhe dar idéias específicas). Se houver alguma corrupção no sistema de arquivos, você perderá parte do volume lógico, mas ainda estará "em alta".

Como exemplo: no mundo Windows, a execução do CHKDSK em um volume NTFS de 20 TB cheio de arquivos será LENTA . Nesse tipo de ambiente, eu criaria vários volumes NTFS menores e os combinaria logicamente em um único espaço para nome com o DFS.

Evan Anderson
fonte
1

wazoox, as respostas são boas Eu não tenho o representante para lhe dar mais pontos positivos, mas gostaria de acrescentar o seguinte.

RAID 6 ou pelo menos 2 discos de paridade ao vivo por 10 discos, 16 no máximo, ou seja, se você puder levar cerca de um dia em que o desempenho será impactado pela sua reconstrução de raide. Se você não pode viver com a degradação, terá que ser listras espelhadas.

Se você estiver seguindo a rota do Linux, eu usaria uma placa de invasão de hardware (com backup de bateria) ou teria um controlador de invasão no gabinete do disco. Concordo que o xfs é o sistema de arquivos preferido no Linux; no entanto, esteja ciente de que sistemas de arquivos de cerca de 50 TB no xfs ocupam mais de 16 GB de RAM se você precisar executar o xfs_check.

Eu consideraria seriamente uma boa caixa de NAS, como a NetApp, pois eles trabalham muito menos a longo prazo, depende de quanto o seu tempo de administrador de armazenamento vale para a empresa.

Conseguir que o nfs / samba tenha um bom desempenho é um pouco obscuro. Você usará 10GB de éter ou apenas agregações de 1GB / s? (Não obtenha cartões Broadcomm, especialmente os de 10 GB).

O LVM2 é um acéfalo, mas não use o snap shotting, pois não é rápido.

Lembre-se de que os backups disso levarão algum tempo.

Teste a maneira como o sistema pode falhar antes de entrar em produção e escreva-o onde você e seus colegas podem encontrar os documentos quando tudo der errado.

James
fonte
1

Depende da sua proporção de leitura / gravação. Usamos muitos gabinetes de unidade SAS HP de 25 discos externos da MSA70 e sempre os criamos como uma única matriz RAID6, pois nossa taxa de leitura para gravação é de 99%: 1%, para que não nos importemos que o R6 seja o mais lento na gravação ( ainda bem rápido, mas não tão bom se comparado aos outros). Dessa forma, temos 23 discos no valor de dados disponíveis para nós, têm benefícios muito bons, como nos benefícios de largura de banda de leitura muito boa e aleatória e de leitura geral e podem sobreviver a duas falhas de disco.

Como um guia geral, um array RAID5 não deve ter mais do que 14 discos em um array, enquanto um RAID6 deve funcionar com até 54 discos, aproximadamente - obviamente, quanto maior o array, maior o abismo entre o desempenho de leitura e gravação e o desempenho. reconstruções mais lentas serão necessárias, mas PODE ser uma boa opção.

Chopper3
fonte
0

Eu adicionaria dois discos em espera para começar.

O RAID 5 ou 6 está OK para leituras aleatórias ou leituras e gravações sequenciais grandes. Se você deseja obter muitas gravações pequenas, vá com o RAID 10, já que o RAID 5+ sofre um impacto de 4x nas gravações pequenas.

Se você deseja ativar o cache de gravação, lembre-se de apoiá-lo com uma bateria.

Hans Malherbe
fonte