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.857 ]

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

LAMP no Fedora 17

Criando Imagens com Buildah

Instalando Zabbix no CentOS 7

GlusterFS - Um Sistema de Arquivos Distribuídos

Subindo o Zabbix e Grafana no Podman com Pod

Leitura recomendada

Sistemas de arquivos - Conceitos básicos

Trabalhando com boot duplo ou múltiplo: estação para testes de sistemas operacionais

Entendendo as permissões de arquivos (chmod)

Removendo vírus de Windows com LiveCD GNU/Linux

Criando discos virtuais em máquinas remotas

  
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