Esclarecimento necessário na implementação de Juju do encanto Ceph

1

Eu tenho 3 servidores que eu quero usar como um cluster de armazenamento em uma configuração do PoC OpenStack.

Cada servidor tem um pequeno / dev / sda para o SO, etc. e um grande / dev / sdb que eu espero usar como armazenamento pelo Ceph.

Eu posso usar o encanto Juju Ceph para implantar o Ceph em cada servidor.

Como esperado, o encanto do Ceph configura um Monitor Ceph em cada servidor e informa que um cluster com quorum foi formado.

Os documentos dizem que o encanto principal do Ceph também configura o Ceph-OSD para qualquer disco que encontre. No meu caso, apenas configura um OSD em um único servidor.

Eu entendi o encanto principal do Ceph corretamente? Deve configurar o 3 Ceph Mons e também 3 Ceph-OSDs (configurados para / dev / sdb)?

Meu conhecimento Ceph é mínimo, então eu ainda estou juntando a terminologia e os conceitos. Estou correto em pensar que um único Ceph-OSD pode gerenciar o armazenamento de blocos e objetos ou o Ceph aloca alguns OSDs apenas para bloqueio e outros apenas para armazenamento de objetos?

    
por Andrew Love 19.01.2016 / 16:48

2 respostas

1

Você se importaria de postar o arquivo de configuração usado para a sua implantação? Isso seria útil.
Dados seus detalhes sobre o hardware, eu pensaria que o charme configuraria 3 OSDs (1 por servidor em / dev / sdb). Você está correto sobre o Ceph gerenciar um único bloco e um pool de armazenamento.

    
por Chris Holcombe 19.01.2016 / 18:40
1

Isso pode parecer um pouco confuso no início, o charme 'ceph' configura tanto um mon, quanto um OSD. O charme ceph-osd apenas configura um OSD (no mon), mas funciona da mesma forma e com as mesmas opções. Você vai misturá-los dependendo da sua implantação, e você pode relacionar os encantos ceph e ceph-osd uns aos outros.

Para um cluster mínimo de 3 servidores (como você tem), você precisa de 3 mons e, assim, você criaria simplesmente 3 unidades do charme 'ceph' que configurará ambos os atributos mons e amp necessários. um OSD em cada unidade. Se você tivesse mais servidores (por exemplo, 6), você poderia configurar 3 unidades de ceph e 3 unidades de ceph-osd.

O armazenamento usado pelo ceph pode ser configurado com a opção osd-devices no encadeamento, ele pode aceitar o (s) caminho (s) do dispositivo em / dev ou um local do sistema de arquivos para colocar os arquivos que são / dev / vdb provavelmente precisará alterá-lo. Consulte a documentação aqui: link

Por último, com relação ao armazenamento de blocos e objetos, o ceph em um nível inferior fornece um serviço "rados" que armazena objetos e é acessado usando uma API rados de baixo nível. No cluster do Ceph (que possui vários OSDs), você pode criar vários "pools" para conter esses objetos. Cada pool tem um nome e os nomes dos objetos são exclusivos em um pool (mas você pode usar o mesmo nome de objeto em pools diferentes, eles são isolados uns dos outros) - você também pode definir várias opções em cada pool, como o número de cópias para armazenar cada parte dos dados. No entanto, tenha em mente que há uma sobrecarga em cada pool (em grande parte em termos de grupos de veiculações) e não é possível criá-los totalmente, mas é provável que você tenha alguns pools em sua instalação.

Além do cluster Ceph, você pode criar vários serviços, incluindo armazenamento em block (usando RBD - Rados Block Device) e armazenamento de objetos com uma API REST (usando radosgw). Ambos os serviços usam a API rados no nível baixo para armazenar e manipular os objetos, mas fornecem um serviço de nível superior, como um dispositivo de bloco ou uma interface HTTP REST para os objetos.

Com o gateway de armazenamento de objetos (radosgw) seus objetos são geralmente nomeados e criados da mesma maneira que estão dentro do gateway, o que pode ser óbvio, porém o RBD divide o volume de armazenamento em pedaços (por exemplo, pedaços de 4MB ) e cria um objeto para cada bloco e alguns objetos adicionais que armazenam metadados sobre o dispositivo de bloco inteiro.

Você pode executar ambos os serviços (ou mais) no mesmo cluster ceph e OSDs, mas geralmente colocará cada serviço em seu próprio pool (o radosgw na verdade usa vários pools).

Espero que ajude você a começar com o próprio charme, algumas noções básicas sobre o ceph e como o armazenamento em block e file pode coexistir em um cluster ceph. Ainda pode ser um pouco confuso em termos de terminologia ainda, então eu sugiro ter uma pesquisa no manual e procurar no youtube por uma das várias palestras que introduzem o ceph, que realmente ajudarão você a entender a terminologia.

    
por Trent Lloyd 19.01.2016 / 19:07