Configuração do Cluster Proxmox Ceph
Jornada Proxmox Parte 5
Versão 1
Emissão: 15 de setembro de 2022
Validade: Indeterminada
Tema: Proxmox Ceph Cluster Storage
Objetivo
Hoje iremos orientar a equipe técnica na configuração do Proxmox Ceph, integração nativa que a Proxmox disponibiliza para simplificar mais uma vez o administrador de rede na configuração do seu cluster e garantindo a alta disponibilidade com live migration. Seguiremos usando os três servidores Proxmox montados no nosso laboratório iniciados nas partes 1 e 2 dessa jornada. Desse modo esse material visa resolver a seguinte questão: Como configurar o Proxmox Ceph? A configuração de um Cluster Ceph é premissa para garantia da alta disponibilidade de um ambiente produtivo.
Esse é mais um material montado conforme o treinamento oficial de Proxmox da RunbookBR e não é comercializado, portanto, estando restrito a aplicação para nossas equipes internas.
Pré-Requisitos
- Antes de mais nada é importante ter realizados os passos na parte 1 da Jornada Proxmox da RunbookBR.
- Do mesmo modo, é providencial ter concluído a parte 2 da Jornada Proxmox da RunbookBR.
- Também recomendo que você possua conhecimento básico em redes de computadores e familiaridade com termologias relacionadas a tecnologia da informação.
- Para melhor aproveitamento desse material é importante que se tenha montado um ambiente com pelo menos três servidores Proxmox instalados.
Topologia proposta para o Laboratório do Cluster Proxmox Ceph
Lembrando que iremos disponibilizar no nosso ambiente: 2 servidores Intel Xeon E31270, all flash com oito discos SSD e duas interfaces de rede Gigabit Ethernet cada e 16 GB RAM.
Assim como, iremos montar um desktop Intel Core i5 2400 com um disco mecânico e 16 GB RAM e uma interface de rede.
Instalação do Serviço Ceph
Instalação base do Proxmox Ceph
A instalação do serviço do CEPH deverá ser feita em cada um dos nós que desejar.
Note que ao instalar o primeiro nó de CEPH, o serviço informa que não existe outra instalação de CEPH no cluster. É importante notar que essa informação na instalação dos próximos nós irá mudar uma vez que já teremos o serviço funcionando na no cluster.
Observe também a versão do CEPH, instale sempre a versão mais recente.
Existem muitos tutoriais na internet mostrando como fazer essa instalação via CLI, isso era necessário nas versões passadas do PROXMOX, mas hoje, tendo a interface totalmente preparada para essa finalidade, prefira usá-la. Perceba que no fim das contas ele te direcionará para o shell do Linux, e você terá que interagir minimamente com o shell. Confirme a instalação dos pacotes necessárias com Y, em seguida Enter.
No final do processo as bibliotecas do Ceph serão carregadas. Avance.
Configuração de Redes
Na próxima etapa, selecione para Public Network, a interface da rede LAN e para Cluster Network, a interface vmbr1, aquela que configuramos como interface conectada na rede SAN.
A Public Network é utilizada para gerência do Ceph, enquanto a Cluster Network é a rede de dados. A referida rede de dados será a rede utilizada para o sincronismo e paridade dos “discos” do cluster.
Em seguida, repita os passos nos outros nós que irão compor o cluster Ceph e finalize adicionando os três nós PVE no monitoramento do Ceph.
Lembrando que estamos trabalhando em um ambiente de laboratório. Prefira separar recursos (PVE) em produção para Storage e outros recursos para processamento.
Criando nossos Object Storage (OSD)
Agora é hora de criar nossas OSDs. OSD (Object Storage Daemon) é o componente responsável pelas operações de armazenamento de dados, recuperação, replicação. Entenda que cada OSD recebera parte da paridade no algoritmo de distribuição e cópias do Ceph. Mal comparando é como se cada OSD correspondesse a um disco em um esquema de RAID. Falarei mais detalhadamente sobre Ceph em artigos futuros.
Um ponto muito importante na configuração de um OSD está na configuração do Device Class. Visto que estamos trabalhando com discos SSD a escolha adequada dessa configuração vai afetar consideravelmente a performance do nosso sistema.
Repita o processo de criação de OSD para todos os discos que desejar incluir no cluster, em todos os servidores que têm discos disponíveis para o serviço do Ceph.
Criação do Pool de discos
Agora vamos a criação do Pool. Basicamente o Pool é a partição lógica que vai ficar disponível como um block storage utilizável no nosso cluster PVE. É nele que armazenaremos nossos vdisk de máquinas virtuais e containers por exemplo. É importante lembrar que sem um storage, NÃO é possível garantir algumas ações em um ambiente altamente disponível como o live migration ou hot migration como chamado em algumas bibliografias.
Obs: antes de seguir com a criação do nosso pool, você deve ter observado que já havia criado no Proxmox um Pool chamado “device_health_metrics”.
O Ceph é capaz de monitorar as métricas de saúde associadas aos discos do cluster. Por exemplo, erros de leitura e escrita, integridade de blocos físicos, entre tantas outras métricas recuperáveis para cada tipo de dispositivo de armazenamento. Tudo isso pode ser coletado pelo Ceph por meio da ferramenta smartctl que vem habilitado por padrão no Proxmox para mais uma vez agilizar o trabalho do sysadmin.
Create Pool
Agora vamos criar nosso Pool.
Vamos fazer a criação padrão, mas abaixo deixarei a referência de como devemos analisar cada um dos itens a serem parametrizados na nossa solução. Uma vantagem desse tipo de solução é que podemos alterar praticamente qualquer valor do nosso pool a qualquer momento conforme nossa necessidade de maior crescimento ou maior confiabilidade, maior desempenho ou maior disponibilidade. O Ceph é flexível e elástico com uma solução moderna de storage deve ser.
Se você não acompanhou a parte 4 desta jornada, lá em explico detalhamente os parametros presentes nesta etapa deste procedimento. Dê uma conferida lá! Jornada Proxmox Parte 4
Validando nosso Pool
Temos nosso Primeiro Pool de disco criado, perceba que o OSD Pool está disponível para todos os hosts do nosso cluster, mas, lembra que no nosso laboratório configuramos a rede SAN apenas para os servidores PVE01 e PVE02. Você acha que nesse cenário você será capaz de subir uma VM no PVE03 alocando os discos dados no Storage? A resposta é sim. Apesar do PVE03 não ter uma interface na rede SAN, a utilização do storage pelo PVE depende apenas da comuniação pela rede do cluster. Em caso de dúvidas volte no artigo 3 desta Jornada.
Importante perceber, também, que para acompanhamento do gráfico de evolução do consumo do nosso OSD, podemos acessar qualquer um dos nós, o qual terá o nosso OSD disponível para consulta do gráfico, discos e volumes armazenados no OSD.
Monitorando a saúde do Cluster Ceph
É muito importante que o administrador do servidor fique sempre de olho no painel de saúde do Proxmox Ceph. Os maiores problemas que ocorrem em uma infraestrutura são provenientes da comodidade em achar que um ambiente de alta disponibilidade vai sempre funcionar bem, mas vamos refletir sobre um cenário de exemplo… Você tem um servidor com 6 HDs e monta sua estrutura em RAID 10. O primeiro disco apresenta falha mas ninguém monitora. Daqui a pouco o segundo disco falha e ninguém sabe o que está acontecendo porque não há monitoramento. O que você acha que vai acontecer quando o terceiro disco falhar? A culpa é do RAID que não funcionou? Bem… toda solução por mais que te garanta disponibilidade tem um limite de falhas para suportar, por isso mesmo o monitoramento efetivo dos seus recursos computacionais são extremamente importantes. Cuide da saúde do seu Proxmox e do seu Ceph.
Conforme observado no exemplo abaixo, uma série de PGs não estão respondendo no tempo adequado. Isso se deve ao fato de termos estressado o trafego de dados da rede SAN com utilização de interfaces FastEthernet. Lembra que nos requisitos eu falei que a rede SAN precisa ser no mínimo Gigabyte? Está aí o resultado, uma rede estressada fica extremamente lenta o que pode significar perda de performance no seu ambiente de produção.
No exemplo abaixo podemos ver um exemplo de um ambiente sem falhas.
Conclusão
Enfim, vimos no artigo de hoje o passo a passo de como configurar um cluster Proxmox Ceph. Do mesmo modo entendemos alguns conceitos básicos de como funciona e como parametrizar um object store de respeito. Desse modo, nosso ambiente de alta disponibilidade já tem um cluster PVE totalmente funcional, um storage Ceph para armazenar nossas máquinas virtuais e containers. Então, a alocação das nossas máquinas virtuais nos discos compartilhados e a parametrização dos nossos grupos de HA já pode ser feito.
Nesse ínterim, acompanhe os próximos artigos dessa jornada que mostrará todas as etapas que precisam ser realizadas para alcançarmos nosso cenário proposto e termos nosso ambiente com 99,99% de disponibilidade.
Continue conosco porque na parte 6 dessa jornada iremos iniciar a configuração dos nosso grupos de H.A.
Do mesmo modo, não deixe de dar uma conferida no nosso canal no YouTube, até a próxima.
Primeiramente parabéns pelo trabalho. Conteúdo excelente e com muita didática. Não sou profissional de TI, apenas um entusiasta, e mesmo assim estou aprendendo muito. Se for possível gostaria de tirar uma dúvida. Se tenho apenas uma máquina, mas com dois HDs para storage, além do HD onde está instalado o proxmox, posso usar o ceph?
Pode sim, para fins de testes você pode instalar o ceph e usar o dois discos como osds