Eu tenho 40 anos em computação, mas eu nunca tive que construir um servidor como este, então isso pode ser uma questão n00b.
Eu tenho um cliente que vai oferecer arquivos de música de alta definição para download. Neste caso, significa 24 / 192Khz comprimido com FLAC = ~ 10GB / álbum. (Não, eu não quero discusir a conveniência do produto, apenas a configuração do servidor.) O catálogo terá cerca de 3.000 álbuns, com ambas as versões ultra-high e low def (para seus iPods, eu acho), dando sobre 35-40TB ou mais de dados primários.
Como esse é um produto muito especializado, o tamanho do mercado é relativamente pequeno (pense: pessoas que gastam US $ 20.000 + em seus sistemas de áudio), o que significa que na maioria das vezes o servidor estará 100% ocioso (ou próximo a isto). Eu tenho o que parece ser uma boa oferta de colocation da ColocationAmerica com uma conexão de 1Gbps e largura de banda de cerca de US $ 20 / TB, então agora eu só tenho que construir uma caixa para entregar as mercadorias.
O caso de uso de acesso a dados é write-once / read-many, então estou pensando em usar apenas o software RAID 1 para pares de unidades. Isso me permitiria (eu acho ) reconfigurar unidades sobressalentes para falhas na hora, sendo assim capaz de iniciar a reconstrução da segunda unidade antes que algum sysadmin perceba a luz vermelha no sistema ( eles trocam de graça). Seria ótimo se eu conseguisse fazer com que a maioria das unidades durasse / parasse de rodar se elas não fossem necessárias, o que será a maior parte do tempo para a maioria das unidades.
Eu não preciso de muito em termos de poder de computação - isso é apenas empurrar objetos gordos pelo cano - e assim o processador / placa-mãe pode ser bem modesto, desde que possa suportar esse número de unidades. / p>
Atualmente, estou considerando a seguinte configuração:
Chasis: Supermicro CSE-847E26-RJBOD1
Drives: 30 4TB SAS drives (Seagate ST4000NM0023 ?)
MB: SUPERMICRO MBD-X10SAE-O w/ 8GB
CPU: Xeon E3-1220V3 3.1GHz LGA 1150 80W Quad-Core Server
Então, eu estou indo na direção certa, ou isso é uma maneira completamente n00b / dinossauro de abordar o problema?
Atualização para esclarecer alguns pontos:
- Não tenho experiência com o ZFS, pois o último produto Sun que possuía estava de volta no final dos anos 80. Vou fazer um pouco de RTFMing para ver se parece certo.
- Eu realmente não preciso do sistema de arquivos para fazer algo espetacular, já que os nomes dos arquivos serão simples UUIDs, e os objetos serão equilibrados entre as unidades (como um grande sistema de cache). Então, eu realmente estava pensando neles como 40 sistemas de arquivos separados, e isso fazia o RAID 1 soar certo (mas eu admito a ignorância aqui).
- Como nossas expectativas atuais são de que provavelmente não faremos o download de mais de uma dúzia de arquivos ao mesmo tempo e, na maioria dos casos, haverá exatamente uma pessoa fazendo o download de um determinado arquivo, não sei se precisamos toneladas de memória para buffers. Talvez 8GB seja um pouco leve, mas eu não acho que 128GB farão mais do que consumir energia.
- Existem 2 máquinas separadas não mencionadas aqui: sua loja virtual atual e um Download Master quase completamente dissociado que lida com toda autenticação, gerenciamento de ingestos de novos produtos, imposição de políticas (afinal, este é o Playground da RIAA), criação de URL efêmera (e, possivelmente, transferência de downloads para mais de uma dessas feras, se o tráfego exceder as nossas expectativas), rastreamento de uso e geração de relatórios. Isso significa que esta máquina poderia quase ser construída usando gerbils em Quaaludes.
ZFS? Onde está o benefício?
OK, estou passando por vários guias do ZFS, FAQs, etc. Perdoe-me por parecer estúpido, mas estou realmente tentando entender o benefício de usar o ZFS sobre minha noção antediluviana de N pares de RAID1. Nesta página Práticas recomendadas (de 2006), elas até sugerem que não faça um dispositivo de 48 ZFS, mas 24 espelhos de 2 dispositivos - parece um pouco com o que eu estava falando. Outras páginas mencionam o número de dispositivos que devem ser acessados para entregar 1 (um) bloco ZFS. Além disso, lembre-se, a 10GB por objeto, e com 80% de utilização de disco, estou armazenando um total de 320 arquivos por unidade de 4TB . Meu tempo de reconstrução com o N RAID 1s, para qualquer falha de unidade, é uma gravação de 4 TB de um dispositivo para outro. Como o ZFS melhora isso?
Admito ser um dinossauro, mas disco é barato, RAID 1 Eu entendo, minhas necessidades de gerenciamento de arquivos são triviais, e o ZFS no Linux (meu sistema operacional preferido) ainda é um pouco jovem. Talvez eu seja muito conservador, mas quando estou olhando para um sistema de produção, é assim que eu rolo.
Agradeço a todos vocês por seus comentários que me fizeram pensar sobre isso. Ainda não estou completamente decidido e talvez tenha que voltar e fazer mais algumas perguntas sobre o assunto.