arquitetura do sistema de compartilhamento de arquivos pedindo conselhos

1

Estou usando a plataforma Windows para configurar um sistema de compartilhamento de arquivos baseado na web. Em mais detalhes, usuários individuais podem fazer upload e compartilhar documentos a partir da interface da Web (o conteúdo pode ser um grande documento, como arquivos de vídeo), um cenário semelhante ao Google Docs.

Meu problema atual é como tornar o armazenamento escalável? Em mais detalhes, tenho de 4 a 5 servidores front-end (para criar um farm de servidores web) e quero saber como configurar o sistema de armazenamento para armazenar arquivos enviados.

Eu quero que o armazenamento cresça automaticamente - ou seja, cada servidor web parece usar espaço em disco ilimitado (não há necessidade de lidar com problemas de disco completo); Outro problema é que eu não sei como armazenar arquivos de forma eficiente e confiável (por exemplo, se cada servidor web tiver seu armazenamento separado individual, suponha que abc.wmv seja armazenado no armazenamento do servidor web A, se o servidor web A falhar, ninguém pode acessar o abc .wmv). Outro problema que posso imaginar é, se eu aumentar o # do servidor web front-end, para o novo servidor web, como decidir quais arquivos carregados devem ser armazenados (devo migrar alguns arquivos de outros servidores web para o novo servidor web) ?

Estou pensando em usar a SAN, mas não tenho certeza se a SAN pode resolver todos os problemas. Quero aprender algumas práticas recomendadas para lidar com esse problema.

obrigado antecipadamente, George

    
por George2 17.12.2009 / 14:11

4 respostas

3

Você provavelmente desejaria um espaço de armazenamento compartilhado, como uma SAN, para poder gerenciar e fazer o backup central dos dados (e todos seriam sincronizados). Você não menciona que tipo de carga você espera ... dezenas de usuários, centenas? ... então seus servidores front-end podem ser um pouco exagerados para ter quatro ou cinco deles.

O uso de um array de armazenamento de back-end simplifica a configuração e o gerenciamento, além de permitir que você adicione servidores da Web se achar que eles são necessários. Então você precisa se concentrar em configurar o armazenamento e backup pesado. Ou seja, RAID 10, além de esquemas de armazenamento de backup para recuperá-lo se o RAID falhar. Novamente, você não menciona o quão pesado seu uso está planejado para ser e qual a carga que ele terá, então não sei se você gostaria de duplicar o seu hardware como um backup no caso de a SAN falhar e / ou configurar replicação de dados entre nós da SAN (em um link de alta velocidade para diferentes áreas geográficas, se necessário).

Isso pode ficar muito caro muito rápido e você pode até precisar de serviços para consultar uma empresa especializada em replicação de dados de alto volume. Se você é uma pequena startup, você poderia olhar para configurar um NAS dedicado para armazenamento e usar algo como DRBD para RAID através de ethernet para diferentes locais. Diferentes caminhos a serem considerados, mas impactam strongmente no orçamento e são afetados, novamente, pelo seu orçamento, experiência e expectativas de tempo de atividade necessárias (projetos residenciais são uma coisa, manter usuários comuns em pequenas empresas e hardware necessário para manter as informações do cartão de crédito do cliente fluindo e onde o tempo de inatividade de uma hora pode custar à sua empresa alguns milhares de dólares e seu pescoço será ainda outro) ...

    
por 17.12.2009 / 14:25
3

Existem várias maneiras de fazer isso, mas eu recomendo um NAS que gerencie seu próprio sistema de arquivos. Isso realmente depende do NAS embora. Minha experiência é principalmente com a NetApp e poderia facilmente acomodar o que você está pedindo, além de fornecer funcionalidade adicional (como o Disk De-dupe e um sistema avançado de snapshots). O hardware da NetApp é extremamente escalável, facilita o crescimento de um volume e suporta vários protocolos de rede diferentes. Como qualquer SAN / NAS profissional, você pagará por isso.

link

Na extremidade inferior, você pode considerar tentar algo como o diskstation DJ509 + da Synology. Eu só falei com pessoas que o usaram, mas muitas TIs "corporativas" ficaram muito impressionadas com a flexibilidade e o baixo custo.

link

O método mais barato seria fazer algo como usar o OpenSolaris e o ZFS. Você pode criar seu próprio hardware e criar seu próprio volume RAID. Eu não conheço ninguém que esteja usando isso em uma situação como a sua, mas ouvi falar de muitas pessoas impressionadas com o quão robusto é.

    
por 17.12.2009 / 14:27
1

O que você deseja é o MogileFS: link Nós temos muitos, muitos terabytes (um petabyte ainda não checou) de dados no MogileFS e isso continua aumentando bastante.

    
por 17.12.2009 / 17:15
0

Eu consideraria uma caixa NetApp, eles não são os mais baratos, mas são bastante flexíveis e podem oferecer a você compartilhamentos NFS thin-provisioned que parecem se adequar à sua necessidade e podem ser escalonados muito bem (iirc de 1.2PB) .

Alternativamente, você pode olhar para a tecnologia "scale-out" da HP, nem toda ela está em seu site, mas se você falar com o pessoal de vendas de armazenamento, eles têm coisas que podem ser exabytes.

    
por 18.12.2009 / 11:04