Que armazenamento usar para um arquivo de arquivos da web?

3

Se você estivesse configurando um site para um arquivo de arquivo de 10TB, principalmente imagens ISO (600MB-5GB), que tipo de arquitetura e armazenamento você usaria?

Gostaria de aumentar a capacidade de entrega de, digamos, 100 usuários simultâneos para 1000 usuários, sem perder o hardware inicial (se for realista).

Eu também gostaria de poder aumentar a capacidade de armazenamento de 10TB para 100TB da mesma maneira.

Eu não posso assumir nada sobre o conjunto de arquivos ativo neste estágio. Pode acabar sendo apenas um arquivo que pode ser armazenado em cache na RAM, mas também pode ser 95% do arquivo.

Você usaria um único servidor voltado ao público com um DAS?

Você usaria armazenamento em camadas como a Sun 7410 e expandiria a capacidade de entrega com seus módulos de cache SSD?

E o hardware de commodity com um sistema de arquivos distribuído como o MogileFS e o GlusterFS?

Qual é a melhor maneira de definir algo assim para facilitar o crescimento?

    
por olivert 20.07.2009 / 01:28

2 respostas

4

Para tamanhos e expansões semelhantes, usamos servidores supermicro 3U . Cada servidor pode comportar 14 drives (existem 14 portas sata integradas na placa-mãe, então não tivemos que comprar uma placa RAID, e temos 1 slot deixado vazio nos casos). Cada unidade é compartilhada via AOE para o servidor front-end. Temos blocos RAID-10 de 14 drives (com o linux md), e eles são colocados juntos com o LVM .

Se você tiver o cuidado de não colocar quaisquer duas unidades espelhadas dos blocos raid-10 no mesmo servidor de back-end, então este sistema é redundante, ele pode até suportar uma perda de um servidor backend completo.

É fácil crescer: basta comprar outro servidor, construir o ataque, expandir o lvm para ele e pronto. Nós usamos XFS que suporta redimensionamento online.

Atualmente, usamos unidades de 1 TB e 1,5 TB, e estamos planejando usar 2 TBs no futuro. As unidades não precisam ser todas do mesmo tamanho, apenas se estiverem no mesmo bloco de raid.

Para as suas necessidades, um servidor repleto de unidades 14x de 1.5TB ou 2TB seria um bom começo imo. Você nem precisa de um servidor de frontend separado para o início.

Nossa configuração pode facilmente produzir uma taxa de transferência de 1 Gb / s, acho que seria mais do que suficiente para um serviço da Web.

Posso ajudar você com informações mais detalhadas, se você gostar da ideia.

Editar:

Mais algumas coisas:

  • Esta é uma espécie de solução de armazenamento pobre de equipes domésticas. Se você tem o orçamento, não quer perder seu tempo, e quer ir para uma confiabilidade de alto nível, então provavelmente você deve comprar algum produto SAN real. O preço pode ser facilmente 10-30x mais alto, especialmente se você quiser ir para 100TB ou mais. Isso não significa que a solução acima não funcione - acontece, e acho que, para muitos propósitos, o preço extra de um produto SAN não vale a pena.

  • sobre a velocidade de backend: infelizmente não consigo fornecer números exatos ou medidas de teste. Mas eu posso te dizer, que até mesmo um bloco de 14 unidades de ataque-10 é rápido . Se você precisar de mais espaço, usará mais servidores de back-end e a velocidade geral de back-end aumentará ainda mais. Além disso, se qualquer um dos backends sofresse com muitos usuários simultâneos (o que duvido), você poderia ir de mirrorring bidirecional para 3-way ou até mais, melhorando a velocidade, o tempo de busca e até a confiabilidade.

  • sobre a velocidade de frontend: o frontend não precisa fazer muito mais que os forward packets. Um servidor moderno deve facilmente manter até 10gigabits / s, por isso não pode ser um gargalo tão cedo.

por 20.07.2009 / 02:26
1

Se você não quiser armazenamento local, posso recomendar com segurança o Nexsan SATABeast. Ele pode conter 42 discos em uma unidade 4U e, portanto, pode fornecer armazenamento bruto máximo de 40 TB (RAID5 com 1 sobressalente global). Ele tem Fibre Channel e iSCSI, com a opção de controladores duplos com failover (ativo / ativo).

    
por 20.07.2009 / 02:40

Tags