Somos uma pequena empresa que edita vídeos, entre outras coisas, e precisa 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:
- 500 GB não é grande o suficiente (alguns projetos são maiores)
- É 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 que só vai piorar uma vez que existem 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 linux RAID5 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 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 à perda completa de dados. Eu pude 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 é bem pequeno. (Ainda é uma opção para pelo menos um servidor, no entanto)
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 a maioria dos arquivos armazenados 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.
fonte
Respostas:
LVM é realmente bastante usado. Basicamente, o LVM fica acima da camada de hardware (driver). Ele não adiciona redundância ou maior confiabilidade (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 no 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 reduzir 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, eu 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 querer dar uma olhada no 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.
fonte
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!
fonte
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.
fonte
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 também pode oferecer 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:
fonte
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:
No Ubuntu, eu prefiro usar o RAID5 MD com LVM.
fonte
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 trabalho do XOR. O RAID1 e o RAID10 no software Linux funcionam muito bem e, a partir daí, 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 é minha configuração favorita do Linux, mas eu aceitaria o ZFS a qualquer momento.
fonte
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 facilmente e para tirar instantâneos.
fonte
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, 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 realizar seu trabalho, mas não alocá-lo em excesso e acabar perdendo 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. Acabei configurando 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 não Realmente faça provisionamento thin e o XFS permite apenas o crescimento de 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.
fonte
Algumas coisas a considerar se você permanecer no Linux:
fonte
Use o utilitário "mdadm" para criar uma matriz RAID-5 a partir 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.
fonte
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, trabalhe nele por algum tempo e salve-o, isso seria melhor (do ponto de vista da rede) que o NFS, pelo menos o NFS mais antigo.
fonte
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, no entanto, 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.
fonte
Desculpe, isso seria um comentário, mas eu não tenho o representante ...
O ZFS tem soma de verificação em todos os lugares
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.
fonte
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 estiver 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 um por vez e troque-o quando estiver cheio ou em um período de tempo antecipando uma falha (use também o recurso SMART para se livrar disso). Use um disco de transporte ou use algum adaptador de disco SCSI / SATA externo para não precisar 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ê acaba desperdiçando alguns discos (porque você o deixa ligado, corre o risco de ser danificado por apenas deixá-lo ligado? Estúpido ou não?). Se você quiser mais dados de dados, use uma configuração RAID para isso, 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 você sempre precisará de um meio de armazenamento confiável e um disco em execução não é um deles. Um disco desligado e bem salvo (em um local fresco e sem umidade) é um meio de armazenamento confiável. Se você quiser mais dados de dados, use uma configuração RAID para isso, 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 você sempre precisará de um meio de armazenamento confiável e um disco em execução não é um deles. Um disco desligado e bem salvo (em um local fresco e sem umidade) é um meio de armazenamento confiável. Se você quiser mais dados de dados, use uma configuração RAID para isso, 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 você sempre precisará de um meio de armazenamento confiável e um disco em execução não é um deles. Um disco desligado e bem salvo (em um local fresco e sem umidade) é um meio de armazenamento confiável. Mas você sempre precisará de um meio de armazenamento confiável e um disco em execução não é um deles. Um disco desligado e bem salvo (em um local fresco e sem umidade) é um meio de armazenamento confiável. Mas você sempre precisará de um meio de armazenamento confiável e um disco em execução não é um deles. Um disco desligado e bem salvo (em um local fresco e sem umidade) é um meio de armazenamento confiável.
fonte