Pesquisa de site

Ceph vs GlusterFS vs MooseFS vs HDFS vs DRBD


Os sistemas de armazenamento na atual era florescente da computação em nuvem são um foco que vale a pena contemplar. Com as inúmeras ferramentas e sistemas disponíveis, pode ser difícil saber o que escolher e para qual finalidade. Este guia alivia essa confusão e fornece uma visão geral dos sistemas de armazenamento mais comuns disponíveis. Por favor, leia mais adiante para ter uma ideia sobre eles. Este guia irá se aprofundar na comparação de Ceph vs GlusterFS vs MooseFS vs HDFS vs DRBD.

1. Cefa

Ceph é um sistema de armazenamento robusto que fornece armazenamento exclusivo de objetos, blocos (via RBD) e arquivos em um sistema unificado. Se você deseja anexar dispositivos de bloco às suas máquinas virtuais ou armazenar dados não estruturados em um armazenamento de objetos, o Ceph oferece tudo isso em uma plataforma, ganhando uma bela flexibilidade. Tudo no Ceph é armazenado na forma de objetos, e o armazenamento de objetos RADOS é responsável por armazenar esses objetos, independentemente do tipo de dados. A camada RADOS garante que os dados permaneçam sempre em um estado consistente e confiável. Para consistência de dados, ele realiza replicação de dados, detecção e recuperação de falhas, bem como migração e rebalanceamento de dados entre nós de cluster.
O Ceph fornece um sistema de arquivos de rede compatível com POSIX (CephFS) que visa alto desempenho e grande armazenamento de dados e compatibilidade máxima com aplicativos legados. O acesso contínuo aos objetos usa ligações de linguagem nativa ou radosgw (RGW), uma interface REST compatível com aplicativos escritos para S3 e Swift. Por outro lado, o acesso às imagens de dispositivos de bloco distribuídas e replicadas em todo o cluster de armazenamento é fornecido pelo RADOS Block Device (RBD) do Ceph.

Recursos do Ceph

  • Uma plataforma única, aberta e unificada: armazenamento de blocos, objetos e arquivos combinados em uma plataforma, incluindo a adição mais recente do CephFS.
  • Interoperabilidade: você pode usar o Ceph Storage para fornecer uma das implementações de armazenamento de objetos S3 da Amazon Web Services (AWS) mais compatíveis, entre outras.
  • Thin Provisioning: A alocação de espaço é apenas virtual e o espaço real em disco é fornecido conforme e quando necessário. Isso proporciona muito mais flexibilidade e eficiência.
  • Replicação: no Ceph Storage, todos os dados armazenados são replicados automaticamente de um nó para vários outros nós. Uma triplicada dos seus dados está presente a qualquer momento no cluster.
  • Autocorreção: Os monitores monitoram constantemente seus conjuntos de dados. Caso falte uma das triplicadas, é gerada automaticamente uma cópia para garantir que haja sempre três cópias disponíveis.
  • Alta disponibilidade: no Ceph Storage, todos os dados armazenados são replicados automaticamente de um nó para vários outros nós. Isso significa que caso um determinado conjunto de dados em um determinado nó seja comprometido ou excluído acidentalmente, há mais duas cópias do mesmo, tornando seus dados altamente disponíveis.
  • O Ceph é robusto: seu cluster pode ser usado para qualquer coisa. Se você deseja armazenar dados não estruturados ou fornecer armazenamento em bloco para seus dados ou fornecer um sistema de arquivos ou deseja que seus aplicativos entrem em contato com seu armazenamento diretamente via librados, você tem tudo isso em uma plataforma.
  • Escalabilidade: o Ceph funciona em clusters que podem ser aumentados quando necessário, atendendo assim às necessidades futuras de escala.

Ceph é mais adequado para armazenamento em bloco, big data ou qualquer outro aplicativo que se comunique diretamente com librados. Tudo funcionará bem. Saiba mais sobre o Ceph na Documentação do Ceph

Instalação:

  • Instale o cluster Ceph 15 (Octopus) no CentOS 8
  • Instale o cluster de armazenamento Ceph 15 (Octopus) no Ubuntu

2. MooseFS

MooseFS, introduzido há cerca de 12 anos como um spin-off da Gemius (uma empresa europeia líder que mede a Internet em mais de 20 países), é um conceito inovador na indústria de armazenamento de Big Data. Ele permite combinar armazenamento e processamento de dados em uma única unidade usando hardware básico acessível.

Recursos do MooseFS

  • Redundância: Todos os componentes do sistema são redundantes e em caso de falha existe um mecanismo de failover automático e transparente para o usuário.
  • Computação em nós: suporte para agendamento de computação em nós de dados para melhor TCO geral do sistema, utilizando CPU ociosa e recursos de memória.
  • Instantâneos atômicos: provisionamento instantâneo e ininterrupto do sistema de arquivos em qualquer momento específico. Este recurso é ideal para soluções de backup online.
  • Armazenamento em camadas: A atribuição de diferentes categorias de dados a vários tipos de mídia de armazenamento para reduzir o custo total de armazenamento. Os dados importantes podem ser armazenados em discos SSD rápidos e os dados usados com pouca frequência podem ser movidos para unidades de disco rígido mecânicas mais baratas e mais lentas.
  • Clientes nativos: Desempenho aprimorado obtido por meio de componentes de cliente (montagem) dedicados especialmente projetados para sistemas Linux, FreeBSD e MacOS.
  • Lixeira Global: Um espaço virtual global para objetos excluídos, configurável para cada arquivo e diretório. Com a ajuda deste recurso vantajoso, os dados excluídos acidentalmente podem ser facilmente recuperados.
  • Limites de cota: O administrador do sistema tem flexibilidade para definir limites para restringir a capacidade de armazenamento de dados por diretório.
  • Atualizações contínuas: capacidade de realizar atualizações de um nó por vez, substituições e adições de hardware, sem interrupção do serviço. Este recurso permite manter a plataforma de hardware atualizada sem tempo de inatividade.
  • Recuperação Rápida de Disco: Em caso de falha no disco rígido ou no hardware, o sistema inicia instantaneamente a replicação paralela de dados de cópias redundantes para outros recursos de armazenamento disponíveis no sistema. Este processo é muito mais rápido do que a abordagem tradicional de reconstrução de disco.
  • Paralelismo: executa todas as operações de E/S em threads de execução paralelos para fornecer operações de leitura/gravação de alto desempenho.
  • Interfaces de gerenciamento: Fornece um rico conjunto de ferramentas administrativas, como interfaces baseadas em linha de comando e baseadas na Web.

Mais sobre MooseFS pode ser encontrado nas páginas do MooseFS.

3. GlusterFS

Gluster é um sistema de arquivos de rede escalonável gratuito e de código aberto. Usando hardware comum pronto para uso, você pode criar grandes soluções de armazenamento distribuído para streaming de mídia, análise de dados e outras tarefas que exigem uso intensivo de dados e largura de banda. Os sistemas de armazenamento escalável baseados em GlusterFS são adequados para dados não estruturados, como documentos, imagens, arquivos de áudio e vídeo e arquivos de log. Tradicionalmente, os sistemas de arquivos distribuídos dependem de servidores de metadados, mas o Gluster acaba com eles. Os servidores de metadados são um ponto único de falha e podem ser um gargalo para o dimensionamento. Em vez disso, o Gluster usa um mecanismo de hashing para localizar dados.

Recursos do Gluster

  • Escalabilidade: sistema de armazenamento escalável que fornece elasticidade e cotas.
  • Instantâneos: instantâneos de volume e nível de arquivo estão disponíveis e esses instantâneos podem ser solicitados diretamente pelos usuários, o que significa que os usuários não terão que incomodar os administradores para criá-los.
  • Arquivamento: o arquivamento é suportado tanto com volumes somente leitura quanto com volumes WORM (gravação única e leitura).
  • Para melhor desempenho, o Gluster armazena em cache dados, metadados e entradas de diretório para readdir().
  • Integrações: O Gluster está integrado ao gerenciador de virtualização oVirt e também ao monitor Nagios para servidores, entre outros.
  • Big Data: Para aqueles que desejam fazer análise de dados usando os dados de um sistema de arquivos Gluster, há suporte para Hadoop Distributed File System (HDFS).
  • libgfapi: Os aplicativos podem usar libgfapi para ignorar os outros métodos de acesso e conversar diretamente com o Gluster. Isso é bom para cargas de trabalho sensíveis a mudanças de contexto ou cópias de e para o espaço do kernel

Outros detalhes sobre o Gluster são encontrados em Gluster Docs

  • Configure o armazenamento GlusterFS com Heketi no CentOS 8/CentOS 7

4.HDFS

Hadoop Distributed File System (HDFS) é um sistema de arquivos distribuído que permite que vários arquivos sejam armazenados e recuperados ao mesmo tempo em altas velocidades. Ele funciona convenientemente em hardware comum e fornece a funcionalidade de processamento de dados não estruturados. Ele fornece acesso de alto rendimento aos dados do aplicativo e é adequado para aplicativos que possuem grandes conjuntos de dados. HDFS é um componente importante do Hadoop, junto com Hadoop YARN, Hadoop MapReduce e Hadoop Common. É um dos componentes básicos da estrutura Hadoop.

Recursos do HDFS

Replicação de dados

O HDFS foi projetado para armazenar de forma confiável arquivos muito grandes em máquinas em um cluster grande. Armazena cada arquivo como uma sequência de blocos; todos os blocos em um arquivo, exceto o último bloco, têm o mesmo tamanho. Os blocos de um arquivo são replicados para tolerância a falhas.

Namespace do sistema de arquivos

O HDFS oferece suporte a uma organização hierárquica de arquivos tradicional. Um usuário ou aplicativo pode criar diretórios e armazenar arquivos dentro desses diretórios. A hierarquia de namespace do sistema de arquivos é semelhante à maioria dos outros sistemas de arquivos existentes; pode-se criar e remover arquivos, mover um arquivo de um diretório para outro ou renomear um arquivo. O HDFS ainda não implementa cotas de usuários. O HDFS não oferece suporte a links físicos ou soft links.

Robusto

O objetivo principal do HDFS é armazenar dados de forma confiável, mesmo na presença de falhas. Os três tipos comuns de falhas são falhas NameNode, falhas DataNode e partições de rede.

Acessibilidade

O HDFS pode ser acessado a partir de aplicativos de muitas maneiras diferentes. Nativamente, o HDFS fornece uma API Java para uso dos aplicativos. Um wrapper de linguagem C para esta API Java também está disponível. Além disso, um navegador HTTP também pode ser usado para navegar nos arquivos de uma instância HDFS. O trabalho está em andamento para expor o HDFS por meio do protocolo WebDAV.

Escalabilidade

O HDFS foi projetado para armazenar de forma confiável arquivos muito grandes em máquinas em um cluster grande. O cluster pode ser aumentado ou reduzido dependendo das necessidades desejadas no momento.

Alta disponibilidade

O Hadoop Distributed File System foi projetado para armazenar de forma confiável arquivos muito grandes em máquinas em um grande cluster. Armazena cada arquivo como uma sequência de blocos; todos os blocos em um arquivo, exceto o último bloco, têm o mesmo tamanho. Os blocos de um arquivo são replicados para tolerância a falhas e, portanto, os dados estão altamente disponíveis em caso de falha.

Saiba mais sobre o HDFS nas páginas do HDFS.

5. DRDB

DRBD é um sistema de armazenamento replicado distribuído implementado como um driver de kernel, vários aplicativos de gerenciamento de espaço de usuário e alguns scripts de shell. Dispositivo de bloco replicado distribuído (um dispositivo de bloco lógico em um esquema de volume lógico) espelha dispositivos de bloco entre vários hosts para obter clusters altamente disponíveis. Clusters baseados em DRBD são frequentemente empregados para adicionar replicação síncrona e alta disponibilidade a servidores de arquivos, bancos de dados relacionais (como MySQL) e muitas outras cargas de trabalho. Uma implementação DRBD pode essencialmente ser usada como base para um sistema de arquivos em disco compartilhado, outro dispositivo de bloco lógico (por exemplo, LVM), um sistema de arquivos convencional ou qualquer aplicação que precise de acesso direto a um dispositivo de bloco.

Recursos do DRDB

  • DRDB tem autenticação de segredo compartilhado
  • É compatível com LVM (Gerenciador de Volume Lógico)
  • Há suporte para integração de agente de recurso de pulsação/marcapasso
  • Há suporte para balanceamento de carga de solicitações de leitura
  • Detecção automática dos dados mais atualizados após falha completa
  • Ressincronização delta
  • A implantação existente pode ser configurada com DRBD sem perder dados
  • Gerenciamento automático de largura de banda
  • Parâmetros de ajuste personalizáveis
  • Verificação de dados online com pares
  • Alta disponibilidade: o dispositivo de bloco espelha dispositivos de bloco entre vários hosts para obter clusters altamente disponíveis.
  • Ele se integra a soluções de virtualização como o Xen e pode ser usado tanto abaixo quanto no topo da pilha LVM do Linux

DRBD tem outros detalhes não abordados aqui. Encontre-os em DRBD Online Docs.

  • Instalar e configurar DRBD no CentOS 8 | RHEL 8

Conclusão

Os sistemas acima e seus recursos fornecem uma visão geral de seus componentes internos e do que eles são. Mais detalhes sobre eles são encontrados em suas diversas páginas da web referenciadas abaixo de cada um deles. Obrigado por ler e esperamos que tenha sido útil.

Confira também mais artigos em nosso site:

  • Melhores soluções de armazenamento para contêineres Kubernetes e Docker
  • Como configurar o servidor de armazenamento de objetos compatível com S3 com Minio
  • Folha de dicas de gerenciamento de armazenamento Stratis
  • Comparação de RAID vs LVM vs ZFS
  • Ext4 vs XFS – Qual escolher?

Artigos relacionados: