Supondo que você queira evitar serviços baseados em nuvem, a abordagem tradicional de grande empresa é adquirir hardware ou software que possa mesclar muitos discos separados em um único sistema de arquivos lógico. Existem muitas maneiras possíveis de fazer isso. Vou enumerar alguns:
-
O uso de sistemas de arquivos distribuídos como o glusterfs permitirá que você tenha vários servidores, cada um com sua própria CPU, RAM e armazenamento, e tenha um único sistema de arquivos lógico compartilhado entre todos eles.
-
Você também pode levar esse conceito distribuído um passo além e agrupar todo o sistema, sopa em porcas, de modo que pareça que você está executando um computador lógico, quando na verdade é uma série de computadores em rede no quadril (de preferência através de redes de muito alta velocidade).
-
Você pode economizar na compra de placas-mãe, chassii, CPUs, RAM, etc., adquirindo um "servidor de armazenamento", que é um servidor corporativo moderadamente poderoso que está conectado a vários discos rígidos - instalado diretamente. no rack, ou conectado via fibre channel ou SAS a um rack de armazenamento externo, às vezes contendo discos rígidos de 60 a até mais. Nessas configurações, os discos rígidos são geralmente unidos em um dispositivo lógico usando um controlador RAID de hardware ou um backplane. Claro, este método acabará por atingir um máximo. capacidade, se você tiver todos os discos que você pode caber em um único rack na densidade máxima do disco, caso em que você pode escalar tendo um cluster de camada de sistema ou camada de sistema desses servidores de armazenamento.
Dependendo do tamanho exato de armazenamento que você espera precisar nos próximos N
anos (onde N é o número de anos que você está disposto a planejar com antecedência), algumas dessas soluções serão mais caras ou mais difíceis administrar do que outros.
No exemplo extremo de precisar de muitos milhares de terabytes de armazenamento redundante, na escala do que o Amazon S3 oferece aos seus clientes de downstream, você praticamente precisa ter algum tipo de sistema de cluster, geralmente com infraestrutura centralizada para gerenciá-lo. Nesses casos, uma rede inter-node muito rápida é essencial para manter um bom desempenho. Definitivamente, olhe para o 10G ethernet no mínimo.
A julgar pelo fato de que você disse que atualmente está rodando em um único disco rígido , a maneira mais econômica de escalar a partir daqui sem aumentar sua escala fora de proporção seria compre um servidor 2U ou 3U que consiga armazenar 4 a 8 discos rígidos e coloque um monte de discos no RAID. RAID10, RAID5 e RAID6 são configurações bastante comuns para esse número de discos, mas se você for com RAID5 / RAID6, certifique-se de usar um controlador RAID de hardware para evitar a carga indevida da CPU.
Você provavelmente pode dimensionar até cerca de 16 TB de armazenamento utilizável (com redundância) usando esse método e os discos atualmente disponíveis, mas esteja ciente de que discos de maior capacidade também tendem a ser mais lentos, com menor taxa de transferência e maiores tempos de resposta, É por isso que sites de tráfego muito alto tendem a usar discos com menor capacidade ... o que obviamente significa que você precisará de mais deles para atingir a mesma capacidade utilizável. : /