Armazenar dados em grande escala não é como salvar um arquivo no disco rígido. Requer um gerenciador de software para controlar todos os bits que compõem os arquivos da sua empresa. É aí que os pacotes de gerenciamento de armazenamento distribuído como Ceph e Gluster entram em ação.
Ceph e Gluster são ambos sistemas usados para gerenciar armazenamento distribuído. Ambos são considerados armazenamento definido por software, o que significa que são amplamente independentes de hardware. Eles organizam os bits que compõem seus dados usando sua própria infraestrutura subjacente, que é o que define esta escolha: que estrutura subjacente você deseja que suporte seus dados?
Essa é uma decisão que você deseja tomar com base no tipo de dados que está armazenando, como esses dados são acessados e onde estão. Ceph e GlusterFS são boas escolhas, mas seus aplicativos ideais são sutilmente diferentes.
Armazenamento baseado em objeto para dados não estruturados: Ceph
Ceph é um sistema baseado em objeto, o que significa que ele gerencia os dados armazenados como objetos em vez de uma hierarquia de arquivos, espalhando dados binários pelo cluster. Métodos semelhantes de armazenamento de objetos são usados pelo Facebook para armazenar imagens e Dropbox para armazenar arquivos de clientes. Em geral, o armazenamento de objetos oferece suporte a dados não estruturados massivos, portanto, é perfeito para armazenamento de dados em grande escala. O sistema é mantido por uma rede de daemons na forma de monitores de cluster, servidores de metadados e armazenamento registrado. Isso se combina para tornar o Ceph capaz, mas mais complexo do que a concorrência.
O objeto incomum e o armazenamento baseado em bloco significam que o Ceph usa suas próprias ferramentas para gerenciar o armazenamento. Isso requer que os administradores de sistema se familiarizem com as ferramentas do Ceph. O verdadeiro funcionamento interno do Ceph pode ser difícil de entender à primeira vista. Basicamente, você precisa estar disposto a aprender como funciona para obter os benefícios. O sistema autogerenciado e de autocorreção pode reduzir as despesas operacionais contínuas ao longo do tempo e o Ceph pode ser executado em hardware de servidor padrão da indústria.
O sistema também pode criar armazenamento em bloco, fornecendo acesso a imagens de dispositivo de bloco que podem ser removidas e replicadas em todo o cluster. Os aplicativos podem acessar o Ceph Object Storage por meio de uma interface RESTful que oferece suporte às APIs Amazon S3 e Openstack Swift. O objetivo é alto desempenho, armazenamento massivo e compatibilidade com o código legado.
Armazenamento em bloco em árvores hierárquicas: GlusterFS
GlusterFS, mais conhecido como Gluster, é um armazenamento de arquivos mais tradicional. É fácil de configurar e uma construção compilada corretamente pode ser usada em qualquer sistema que tenha uma pasta. A flexibilidade e facilidade de uso são as principais vantagens do sistema. Embora possa ser dimensionado para capacidades enormes, o desempenho tende a degradar rapidamente. É mais adequado para tamanhos médios de arquivos grandes (maiores que 4 MB) e acesso sequencial. Um cluster pode se espalhar por servidores físicos, virtuais e em nuvem, permitindo virtualização de armazenamento flexível.
Gluster usa armazenamento em bloco, o que significa que pedaços de dados são armazenados em espaço aberto em dispositivos de cluster conectados. O armazenamento baseado em blocos e arquivos usa um sistema de arquivos que organiza os arquivos em árvores hierárquicas. Ele agrega servidores geograficamente distintos sobre Ethernet para criar um sistema de arquivos de rede paralelo escalonável. O Gluster é essencialmente uma versão baseada em cluster do FUSE e NFS, fornecendo uma arquitetura familiar para a maioria dos administradores de sistema. Ele foi projetado para ser simples, fácil de manter e amplamente utilizável, mas não tem a velocidade de acesso que o Ceph pode oferecer nas circunstâncias certas.
Conclusão
O Ceph é mais adequado para o acesso rápido a dados não estruturados, que constituem a grande maioria dos arquivos no mundo. O Gluster é melhor para acesso a dados sequenciais, como streaming de vídeo, ou para aplicativos onde a velocidade não é tão importante, como backup.
Qual sistema de armazenamento de arquivos você está usando?