Ceph - Uma Plataforma de Armazenamento Distribuído

Ceph é SDS (Software-Defined Storage - traduzido: Armazenamento Definido por Software) de código aberto, onde implementa o armazenamento de objetos em um único cluster de computador distribuído e fornece 3 interfaces em 1: armazenamento em nível de Objeto, Bloco e Arquivo. O Ceph visa principalmente a operação totalmente distribuída sem um único ponto de falha, escalonável até o nível de exabyte.

[ Hits: 12.933 ]

Por: Daniel Lara Souza em 20/09/2020 | Blog: http://danniel-lara.blogspot.com/


Introdução



O Ceph emprega cinco tipos distintos de daemons:
  • Monitores de cluster (ceph-mon) que controlam os nós de cluster ativos e com falha, configuração de cluster e informações sobre o posicionamento de dados e o estado global do cluster;
  • Dispositivos de armazenamento de objeto (ceph-osd) que usam um armazenamento em disco direto com registro (chamado BlueStore, que desde a versão v12.x substitui o FileStore que usaria um sistema de arquivos);
  • Servidores de metadados (ceph-mds) que armazenam em cache e intermedeiam o acesso a inodes e diretórios dentro de um sistema de arquivos CephFS;
  • Gateways HTTP (ceph-rgw) que expõem a camada de armazenamento de objetos como uma interface compatível com Amazon S3 ou APIs OpenStack Swift;
  • Gerenciadores (ceph-mgr) que realizam monitoramento de cluster, contabilidade e tarefas de manutenção e interface com sistemas de monitoramento externo e gerenciamento (por exemplo: balanceador, painel de controle, Prometheus, plugin Zabbix).

Todos eles são totalmente distribuídos e podem ser executados no mesmo conjunto de servidores.

O Ceph faz striping de arquivos individuais em vários nós para obter um rendimento mais alto, semelhante ao RAID 0, distribuindo partições em vários discos rígidos. O balanceamento de carga adaptável é suportado pelo qual os objetos acessados com frequência são replicados em mais nós.

BlueStore é o tipo de armazenamento padrão e recomendado para ambientes de produção, que é a própria implementação de armazenamento do Ceph, fornecendo melhor latência e configurabilidade do que o back-end do armazenamento de arquivos e evitando as deficiências do armazenamento baseado no sistema de arquivos que envolve processamento adicional e camadas de cache.

O backend do Filestore ainda é considerado útil e muito estável; O XFS costumava ser o tipo de sistema de arquivos subjacente recomendado para ambientes de produção, enquanto o Btrfs era recomendado para ambientes de não produção. Os sistemas de arquivos ext4 não eram recomendados por causa das limitações resultantes no comprimento máximo dos objetos RADOS. Mesmo usando o BlueStore, o XFS é usado para uma pequena partição de metadados.

Uma visão geral de alto nível da organização interna do Ceph:
Linux: Ceph uma plataforma de Armazenamento distribuídos

Armazenamento de objetos

Um diagrama de arquitetura mostrando as relações entre os componentes da plataforma de armazenamento Ceph.

Ceph implementa armazenamento de objetos distribuídos - BlueStore. As bibliotecas de software do Ceph fornecem aos aplicativos clientes acesso direto ao confiável sistema de armazenamento de objetos distribuídos autônomo (RADOS) e também fornecem uma base para alguns dos recursos do Ceph, incluindo RADOS Block Device (RBD), RADOS Gateway e o Ceph Sistema de arquivos .

As bibliotecas de software "librados" fornecem acesso em C, C ++, Java, PHP e Python. O RADOS Gateway também expõe o armazenamento de objeto como uma interface RESTful que pode se apresentar como Amazon S3 nativa e APIs OpenStack Swift.

Bloco de armazenamento

O sistema de armazenamento de objetos do Ceph permite que os usuários montem o Ceph como um dispositivo de bloco com provisionamento dinâmico. Quando um aplicativo grava dados no Ceph usando um dispositivo de bloco, o Ceph distribui e replica automaticamente os dados no cluster. O RADOS Block Device (RBD) da Ceph também se integra com máquinas virtuais baseadas em kernel (KVMs).

O Ceph RBD faz interface com o mesmo sistema de armazenamento de objetos Ceph que fornece a interface librados e o sistema de arquivos CephFS, e armazena imagens de dispositivos de bloco como objetos. Uma vez que o RBD é baseado em librados, o RBD herda as habilidades dos librados, incluindo instantâneos somente leitura e reverter para instantâneo. Ao distribuir imagens em todo o cluster, o Ceph melhora o desempenho do acesso de leitura para grandes imagens de dispositivos de bloco.

O dispositivo de bloco pode ser virtualizado, fornecendo armazenamento de bloco para máquinas virtuais, em plataformas de virtualização como Apache CloudStack, OpenStack, OpenNebula, Ganeti e Proxmox Virtual Environment .

Sistema de arquivos

O sistema de arquivos do Ceph (CephFS) é executado no mesmo sistema de armazenamento de objeto que fornece armazenamento de objeto e interfaces de dispositivo de bloco.

O cluster de servidor de metadados Ceph fornece um serviço que mapeia os diretórios e nomes de arquivo do sistema de arquivos para objetos armazenados em clusters RADOS. O cluster do servidor de metadados pode expandir, ou contrair, e pode rebalancear o sistema de arquivos dinamicamente para distribuir dados uniformemente entre os hosts do cluster. Isso garante alto desempenho e evita cargas pesadas em hosts específicos dentro do cluster.

Os clientes montam o sistema de arquivos compatível com POSIX usando um cliente de kernel Linux. Um cliente mais antigo baseado em FUSE também está disponível. Os servidores funcionam como daemons Unix regulares .

Um diagrama de arquitetura mostrando as relações entre os componentes da plataforma de armazenamento Ceph:
Linux: Ceph uma plataforma de Armazenamento distribuídos
    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação
   3. Configuração
Outros artigos deste autor

Docker Swarm no CentOS 8

Cockpit Web Console

MariaDB + phpMyAdmin no Ubuntu 12.04 LTS

AlmaLinux - Sua Alternativa ao CentOS

Rocky Linux - Novo Substituto do CentOS

Leitura recomendada

Arquivos duplicados? fdupes neles!

Configuração de Servidor NFSv4 no CentOS 6

Fazendo particionamento avançado no Debian

Criando um pacote TXZ no Slackware

Acessando disquetes no Linux

  
Comentários
[1] Comentário enviado por maurixnovatrento em 20/09/2020 - 19:21h


Muito bom.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts