it-swarm-pt.tech

Servidor de arquivos - Configuração de armazenamento: RAID vs LVM vs ZFS outra coisa ...?

Somos uma empresa pequena que realiza edição de vídeo, entre outras coisas, e precisamos de um local para manter cópias de backup de grandes arquivos de mídia e facilitar o compartilhamento.

Eu tenho uma caixa configurada com o Ubuntu Server e unidades de 4 x 500 GB. Atualmente, eles estão configurados com o Samba como quatro pastas compartilhadas que as estações de trabalho Mac/Windows podem ver bem, mas eu quero uma solução melhor. Há duas razões principais para isso:

  1. 500 GB não é grande o suficiente (alguns projetos são maiores)
  2. É complicado gerenciar a configuração atual, porque os discos rígidos individuais têm diferentes quantidades de espaço livre e dados duplicados (para backup). É confuso agora e isso só vai piorar quando houver vários servidores. ("o projeto está em sever2 em share4" etc)

Portanto, preciso de uma maneira de combinar discos rígidos de forma a evitar a perda completa de dados com a falha de uma única unidade e, assim, os usuários verão apenas um único compartilhamento em cada servidor. Eu fiz o software RAID5 para Linux e tive uma experiência ruim com ele, mas tentaria novamente. O LVM parece ok, mas parece que ninguém o usa. O ZFS parece interessante, mas é relativamente "novo".

Qual é a maneira mais eficiente e menos arriscada de combinar os discos rígidos que são convenientes para meus usuários?


Editar: O objetivo aqui é basicamente criar servidores que contenham um número arbitrário de discos rígidos, mas limitem a complexidade da perspectiva do usuário final. (ou seja, eles veem uma "pasta" por servidor) O backup de dados não é um problema aqui, mas como cada solução responde à falha de hardware é uma preocupação séria. É por isso que eu agrupo RAID, LVM, ZFS e quem sabe o quê juntos.

Minha experiência anterior com RAID5 também estava em uma caixa do Ubuntu Server e havia um conjunto complicado e improvável de circunstâncias que levaram à completa perda de dados. Eu poderia evitar isso novamente, mas fiquei com a sensação de que estava adicionando um ponto adicional desnecessário de falha ao sistema.

Eu não usei o RAID10, mas estamos usando hardware comum e a maioria das unidades de dados por caixa está praticamente fixa em 6. Temos muitas unidades de 500 GB e 1,5 TB é bastante pequeno (ainda é uma opção para pelo menos um servidor)

Não tenho experiência com o LVM e li relatórios conflitantes sobre como ele lida com falhas na unidade. Se uma configuração LVM (sem distribuição) pudesse lidar com uma única unidade com falha e soltar apenas os arquivos que tivessem uma porção armazenada nessa unidade (e armazenar a maioria dos arquivos em uma única unidade), poderíamos até conviver com isso.

Mas, desde que eu tenha que aprender algo totalmente novo, é possível que eu vá até o ZFS. Ao contrário do LVM, no entanto, eu também teria que alterar meu sistema operacional (?) Para aumentar a distância entre onde estou e onde quero estar. Eu usei uma versão do solaris na uni e não me importo muito com isso.

Por outro lado, no espectro de TI, acho que também posso explorar o FreeNAS e/ou o Openfiler, mas isso realmente não resolve o problema de como combinar unidades.

35
privatehuff

LVM é realmente bastante usado. Basicamente, o LVM fica acima da camada de hardware (driver). Ele não adiciona redundância ou confiabilidade aumentada (depende do sistema de armazenamento subjacente para lidar com a confiabilidade). Em vez disso, fornece muita flexibilidade e recursos adicionais. O LVM nunca deve ver um disco desaparecer ou falhar, porque a falha do disco deve ser tratada pelo RAID (seja software ou hardware). Se você perder um disco e não puder continuar operando (reconstruir o RAID, etc), deverá fazer backups. Nunca é necessário tentar recuperar dados de uma matriz incompleta (se houver, é necessário reavaliar todo o design).

Entre as coisas que você obtém com o LVM estão a capacidade de aumentar e diminuir facilmente partições/sistemas de arquivos, a capacidade de alocar dinamicamente novas partições, a capacidade de capturar instantaneamente as partições existentes e montar as capturas como partições somente leitura ou graváveis. Os instantâneos podem ser incrivelmente úteis, principalmente para itens como backups.

Pessoalmente, uso o LVM para todas as partições (exceto/boot) em todas as caixas que eu construo, e venho fazendo isso nos últimos 4 anos. Lidar com caixas não LVM'ed é uma grande dor quando você deseja adicionar ou modificar o layout do disco. Se você estiver usando Linux, você definitivamente quer usar o LVM. [Nota: O material acima no LVM foi atualizado para explicar melhor o que é e como se encaixa na equação de armazenamento.]

Quanto ao RAID, não faço servidores sem invasão. Com preços de disco tão baratos quanto eles, eu usaria RAID1 ou RAID10. Mais rápido, mais simples e muito mais robusto.

Honestamente, a menos que você esteja casado com o Ubuntu (o que eu normalmente recomendaria), ou se a caixa estiver executando outras tarefas, você pode procurar em OpenFiler . Ele transforma sua caixa em um dispositivo de armazenamento com uma interface da Web e manipula todo o RAID/LVM/etc para você, e permite exportar o armazenamento como SMB, NFS, iSCSI, etc. Pequena configuração.

28
Christopher Cashell

O ZFS é realmente confiável e com certeza facilita muito o gerenciamento de armazenamento. Como um bônus: o smb é integrado ao ZFS no OpenSolaris e lida com o Raid muito bem. Aguarde alguns dias, faça o download da versão 2009.6 lançada na época e experimente uma máquina de teste. Tenho certeza que você vai adorar o ZFS.

E sobre o seu comentário, o ZFS é novo: não é muito novo!

13
Wijnand

A questão central é: "Qual a importância desses dados?"

Se a resposta for "Eu posso recriá-lo facilmente", você quer o RAID5, possivelmente com o LVM em cima para simplificar o gerenciamento.

Se a resposta for "Eu posso recriá-lo, mas isso levaria um tempo e as pessoas reclamariam", você quer RAID 6 ou mais provável RAID 1/10.

Se a resposta for "Ninguém faz nenhum trabalho enquanto eu o recrio e garanto que está perfeita", você quer o ZFS/Raid-Z

Observe que você sempre pode recriá-lo. RAID não é um backup.

9
user2108

Para conectar muitas unidades no mesmo chassi, um controlador RAID de hardware é a melhor ferramenta. Ele fornecerá muitos conectores SATA para suas unidades, redondância via RAID-5 ou preferencialmente RAID-6, e may também proporcionará melhor desempenho.

O desempenho do RAID de software geralmente é melhor que o RAID de hardware nos benchmarks, no entanto, a veiculação de arquivos e o RAID de software consomem muita CPU e competem pelos seus processadores enquanto trabalham. Minha experiência mostra que, a menos que você use sistemas duplos de quatro núcleos, o RAID de hardware configurado corretamente será melhor que o RAID de software.

Bons controladores de hardware com bom suporte ao Linux:

  • Areca
  • 3Ware
  • a nova série Adaptec (os antigos são slooooow)
  • LSI MegaRAID
5
wazoox

RAID NÃO é como LVM. Você pode usar o RAID para criar partições com tolerância a falhas, mas o LVM é usado para facilitar o particionamento de disco e a edição do sistema de arquivos. Você pode usar RAID sobre LVM ou ZFS (o ZFS pode funcionar tanto com RAID quanto com LVM). Na minha opinião, o ZFS funciona melhor que o LVM, mas:

  • somente no Solaris 10/11/OpenSOlaris, você não pode usá-lo no linux
  • ZFS é gerenciamento de disco e sistema de arquivos, o LVM permite usar qualquer sistema de arquivos que você precisar

No Ubuntu, eu prefiro usar o RAID5 MD com LVM.

4
Paul Rudnitskiy

Dê uma olhada no que a Nexenta e o OpenSolaris estão oferecendo e acho que você ficará muito satisfeito com o que pode obter por nada. Há rumores de que os próximos lançamentos do OpenFiler também usarão a porta ZFS do FreeBSD (no entanto, eles estão bastante atrasados ​​do ponto de vista dos recursos).

Dito isto, tento evitar o RAID5, RAID6 ou RAID50 em software e prefiro usar controladores de hardware para descarregar todo o XOR funciona. RAID1 e RAID10 no software Linux funcionam muito bem, e de coloquei o LVM em cima deles para permitir mais flexibilidade no que é feito com os blocos que tenho após a redundância. RAID + LVM + XFS é a minha configuração favorita do Linux.

4
jharley

Eu executei o servidor de arquivos para uma empresa/situação muito semelhante. Basicamente, um departamento gráfico de 3 pessoas com 30 TB de armazenamento e o orçamento apertado de uma pequena empresa. Nossos projetos típicos variaram de 0,5 TB a 6 TB. E o servidor de arquivos estava servindo um farm de renderização considerável que poderia realmente impactar nele.

Na minha configuração, eu executei um servidor 3U executando Linux com matrizes RAID6 de hardware externo anexadas a ele. Gerenciei os volumes físicos e lógicos com o LVM e executei o sistema de arquivos XFS. O que eu faria é criar um volume lógico para cada projeto e expandi-lo à medida que o projeto crescia. Quando o projeto foi concluído, eu podia arquivar o trabalho em fita e diminuir o volume lógico. Isso retornaria esse espaço ao grupo de volumes onde seria realocado para o (s) próximo (s) projeto (s).

Essa foi uma maneira muito limpa de utilizar nosso armazenamento, mas há duas desvantagens nessa abordagem. Você acaba tendo que microgerenciar os tamanhos dos volumes lógicos tentando equilibrar a quantidade de espaço alocado para um volume lógico, para que você tivesse espaço suficiente para fazer seu trabalho, mas não alocá-lo em excesso e acabar desperdiçando espaço. Nosso farm de renderização era capaz de gerar muitos TBs de dados por dia e, se você não prestasse muita atenção a isso, ficaria sem espaço com pressa. Eventualmente, configurei alguns scripts que monitoravam as tendências no espaço disponível nos volumes lógicos e as aumentavam automaticamente. Mesmo com isso em torno de 80 volumes lógicos, havia muito espaço não utilizado amarrado em todos os volumes lógicos. Eu já sugeri o segundo problema .... O LVM realmente não faz o provisionamento dinâmico e o XFS apenas permite que você amplie um sistema de arquivos. Portanto, a alocação excessiva de espaço em um volume lógico pode adicionar muito espaço inutilizável.

Tudo isso foi configurado há cerca de 5 anos e, se eu o estivesse configurando hoje, usaria o OpenSolaris e o ZFS. O principal motivo é que a abordagem de armazenamento em pool do ZFS significa menos gerenciamento de volume. Você ainda pode separar cada projeto em seu próprio sistema de arquivos, mas sem precisar gerenciar minuciosamente os tamanhos dos volumes individuais. O ZFS possui alguns outros recursos muito interessantes que o tornam uma escolha melhor, mas há outras questões sobre a falha do servidor que entram nessa questão.

Na minha opinião, o ZFS é simplesmente a melhor solução gratuita disponível hoje.

2
3dinfluence

Algumas coisas a considerar se você permanecer no Linux:

  • Pense também no sistema de arquivos. Seu exemplo de 4x 500 GB é sobre a maior capacidade que eu recomendaria com boa consciência para ext3. Não recomendo criar sistemas de arquivos ext3 muito maiores porque, por exemplo, O tempo do fsck pode ser enorme. Crie vários sistemas de arquivos menores, em vez de um grande.
  • Como você mencionou os dados de vídeo: ext3 manipula arquivos grandes ineficientemente porque ele precisará criar blocos de metadados indiretos, duplos e indiretos e triplos e indiretos para armazenar os dados de arquivos grandes e você pagará o preço . Atualmente, o ext4 suporta extensões e lida com isso muito melhor. Mas então, é bastante novo e, por exemplo, O Red Hat Enterprise Linux 5 ainda não é compatível. (Algumas distribuições corporativas suportam alternativas como XFS).
  • Se houver corrupção de dados em qualquer bloco de dados, será difícil perceber isso nos sistemas de arquivos Linux. O ZFS, por outro lado, somas de verificação todos os metadados e dados e também verifica a soma de verificação toda vez que os dados são lidos no disco. (Há também uma limpeza em segundo plano)
  • RAID tempo de reconstrução no Linux é proporcional ao tamanho do disco porque a camada RAID não conhece o conteúdo do sistema de arquivos (camada). O tempo de reconstrução do RAID-Z do ZFS depende da quantidade de dados reais no disco com falha, porque apenas os blocos sados serão copiados/reconstruídos em um disco de substituição.
  • Deseja instantâneo seus sistemas de arquivos? Os instantâneos LVM nem se comparam aos instantâneos instantâneos do ZFS. Este último também pode ser facilmente exposto aos usuários finais, por exemplo. para restaurações fáceis.
  • Use RAID6 (RAID-Z2) e não apenas RAID5 (RAID-Z) com discos grandes (> 500 GB), porque é provável que outro disco falhe durante a reconstrução.
2
knweiss

RAID vs LVM não é realmente uma boa comparação, eles executam funções separadas e são frequentemente usados ​​juntos. O RAID é usado para redundância de unidade, o LVM pode ser usado para dividir seu dispositivo RAID em volumes lógicos, é usado para redimensionar com facilidade e para tirar instantâneos.

2
Zoredache

Desculpe, isso seria um comentário, mas eu não tenho o representante ...

Como o RAID-Z ou RAIDZ2 fornece melhor redundância que o RAID6?

O ZFS possui soma de verificação em qualquer lugar

Sobre a pergunta original. Quaisquer que sejam os dados, eu usaria 2 paridade ativa por 10 discos. Eu usaria cartão RAID de boa qualidade, os 3ware são excelentes. Pessoalmente, uso RAID de hardware com backup de bateria. LVM apenas para que você possa migrar os dados facilmente no final da vida útil do hardware. XFS como o sistema de arquivos.

1
James

Você pode dar uma olhada no AFS. Isso fornecerá algumas medidas de disponibilidade (você pode acessar esses arquivos dentro e fora da rede) e redundância (os arquivos podem ser replicados). Para um fluxo de trabalho em que você abre um arquivo, trabalha nele por algum tempo e depois o salva, isso seria melhor (do ponto de vista da rede) que o NFS, pelo menos o NFS mais antigo.

1
Chris

Use o utilitário "mdadm" para criar uma matriz RAID-5 de suas unidades.

Isso fornece a redundância necessária, portanto, se uma unidade ficar inoperante, você poderá substituí-la sem perda de dados e também usar 3 das 4 unidades.

Também recomendo que você crie um volume LVM sobre o RAID, para poder particionar o espaço conforme necessário.

1
ph.

Como a outra resposta diz, o LVM é amplamente usado e pode combinar vários discos em um único "grupo de volumes" que se parece com um enorme dispositivo de bloco. Vale lembrar, porém, que isso aumenta sua probabilidade de falha - leva apenas um disco para falhar em um grupo de volumes para remover todo o sistema de arquivos e, se você tiver quatro discos juntos, isso é quatro vezes mais provável. É melhor usar o LVM em cima de um RAID1 ou similar para atenuar isso. O RAID do software Linux é bastante adequado para isso, embora o RAID do hardware possa ser mais conveniente.

1
Dan

Por que você não usa um disco ou cartão SSD para ter o servidor do sistema para inicializar e os 500 GB como apenas armazenamento. Use um disco de 500 GB e, quando ficar cheio, troque-o manualmente. Você pode fazer o backup posteriormente em outro computador com calma. Porque enquanto o disco rígido está girando (girando), ele pode ser danificado. De qualquer forma, se você conectar todos os discos ao mesmo tempo, todos estão girando e poderá sofrer danos se você usá-lo ou não. A probabilidade de falha aumenta quando você tem mais discos ativados. Use uma por vez e troque-a quando estiver cheia ou em um período de tempo que antecipe uma falha (use também o recurso SMART para se livrar disso).) Use um disco de transporte ou use algum SCSI externo/SATA para que você não precise desmontar o servidor do computador toda vez que trocar um disco. Essa é a forma mais segura e confiável. O uso do RAID é mais caro e você desperdiça alguns discos (porque você o ativou risco de ficar danificado por deixá-lo ligado? estúpido ou não?). Se você quiser mais dados durante a utilização de uma configuração RAID, acho que é uma boa escolha, mas nunca confie em uma configuração de computador. O backup deve ser feito sempre manualmente com uma pessoa (o administrador da rede ou do servidor). Esse é um dos trabalhos de um administrador. Você pode usar fitas, DVD, BlueRay ou outros discos para fazer o backup. Mas sempre será necessário um meio de armazenamento confiável e um disco em execução não é 1. Um disco desativado e bem salvo (em um ambiente fresco e livre de umidade) y local) é um meio de armazenamento confiável.

0
Anyeos