Agora vamos subir nosso cluster em Ceph. Vamos utilizar 3 hosts, um deles será o manager, monitor e também o osd (object storage daemon). Vamos utilizar a versão do Ceph 15.2 , onde estão instalado nos hosts o Centos 8.2 com 2 disco cara um para o S.O e outro para o Ceph.
Vamos efetuar o deploy utilizando o cephadm, uma maneira fácil de configurar e gerenciar.
O Cephadm implanta e gerencia um cluster Ceph conectando-se a hosts do daemon do gerenciador via SSH para adicionar, remover ou atualizar os contêineres daemon Ceph. Ele não depende de configuração externa ou ferramentas de orquestração como Ansible, Rook ou Salt.
Cephadm gerencia todo o ciclo de vida de um cluster Ceph. Ele começa inicializando um minúsculo cluster Ceph em um único nó (um monitor e um gerenciador) e, em seguida, usa a interface de orquestração para expandir o cluster para incluir todos os hosts e provisionar todos os serviços e daemons Ceph. Isso pode ser executado por meio da interface de linha de comando (CLI) ou painel (GUI) do Ceph.
Cephadm é novo na versão Octopus v15.2.0 e não oferece suporte a versões anteriores do Ceph.
Uma visão geral do cluster
Vamos configurar NTP nos 3 servers, use essa mesma configuração para eles.
Instale o Chrony:
# dnf -y install chrony
Edita o arquivo
/etc/chrony.conf e deixei-o assim:
pool a.st1.ntp.br iburst
pool b.st1.ntp.br iburst
pool c.st1.ntp.br iburst
pool a.ntp.br iburst
pool b.ntp.br iburst
pool c.ntp.br iburst
Salve o arquivo e inicie o serviço
# systemctl enable --now chronyd
Agora vamos instalar o Podman em todos os servers, pois o Ceph irá rodar em contêineres:
# dnf install podman -y
Vamos ajustar a versão do Python para 3.6. Instale em todos os servers e ajuste o mesmo:
# dnf module -y install python36
# alternatives --config python
Agora no server 1, instale o cephadm:
# dnf -y install cephadm
Crie o diretório "ceph" no
/etc:
# mkdir /etc/ceph
Vamos iniciar o deploy com "cepham bootstrap --mon-ip" e o "ip one" será o nosso monitor, que no caso é o server 1:
# cephadm bootstrap --mon-ip 192.168.122.11
Vamos criar um alias do cephadm shell, somente para Ceph para facilitar o trabalho:
# alias ceph='cephadm shell -- ceph'
# echo "alias ceph='cephadm shell -- ceph'" >> ~/.bashrc
Ceph rodando em contêiner no podman:
Agora vamos adicionar os Server2 e Server3. Copie a chave publica do SSH para os servers:
# ssh-copy-id -f -i /etc/ceph/ceph.pub root@server2
# ssh-copy-id -f -i /etc/ceph/ceph.pub root@server3
Vamos add os servers ao cluster:
# ceph orch host add server2
# ceph orch host add server3
Podemos verificar se esta ok:
# ceph orch host ls
Verifica os device que vamos utilizar para o Ceph, se esta em "True" (AVAIL = True):
# ceph orch device ls
Vamos configurar os OSD em cada hosts:
# ceph orch daemon add osd server1:/dev/vdb
# ceph orch daemon add osd server2:/dev/vdb
# ceph orch daemon add osd server3:/dev/vdb
Espere por alguns minutos e podemos verificar o status:
# ceph -s