Elevate your Centos upgrade game!

Olá a todos.

Por esta altura toda a gente que conseguia já migrou os servidores Centos 7 que possuía para uma nova distribuição suportada.
Contudo para os que ainda não migraram, e que ainda querem fazer cross migration, fiz este post onde falo de uma tool excelente que descobri recentemente: o Elevate.

Este utilitário, feito pela mesma comunidade que nos trouxe o AlmaLinux, surgiu como uma ferramenta poderosa para facilitar o processo de migração, permitindo uma transição suave para outras distribuições binariamente compatíveis com RHEL, tais como o AlmaLinux, Rocky Linux e o Oracle Linux.

Iremos explorar em detalhes como realizar essa migração utilizando o Elevate, investigando desde os pré-requisitos até os passos finais de verificação após a migração completar.

AlmaLinux OS - Forever-Free Enterprise-Grade Operating System

Por que Migrar de CentOS 7?

O CentOS 7 tem sido uma escolha popular para servidores devido à sua estabilidade, compatibilidade e suporte de longo prazo pois é uma copia binária da distro dita como “enterprise grade”: O RHEL.
No entanto, com o fim do suporte de manutenção e segurança que terminou no passado junho de 2024 (obrigado por nada IBM), as organizações que ainda utilizam CentOS 7 estão a enfrentar um dilema: Continuar com uma versão sem suporte pode expor os sistemas a riscos de segurança significativos, além de limitar o acesso a atualizações de software e novas funcionalidades.

Dado este cenário, a migração para outra distribuição baseada em RHEL é essencial para garantir a continuidade do suporte, segurança e compatibilidade com os ecossistemas empresariais que dependem de uma base RHEL. É aqui que ferramentas como o Elevate entram em cena, simplificando o processo de migração e minimizando o risco de falhas ou incompatibilidades.

O que é o Elevate?

O Elevate é uma ferramenta desenvolvida pela comunidade AlmaLinux que permite a migração de uma versão de RHEL para outra, incluindo a transição de CentOS 7 para distribuições como AlmaLinux 8, Rocky Linux 8 ou Oracle Linux 8. A principal funcionalidade do Elevate é a integração do Leapp, uma ferramenta de atualização de versões do RHEL, com o projeto Package Evolution Service (PES), e aqui está a genialidade do processo. O PES fornece um conjunto de dados que mapeiam pacotes de software entre diferentes versões do RHEL, ajudando a identificar possíveis conflitos e resolvê-los automaticamente durante a migração.

Quais os Preparativos para a Migração?

Antes de iniciar o processo de migração, é essencial realizar uma série de preparativos para garantir que tudo corra conforme o desejado.

Backup Completo.

O primeiro e mais importante passo é a realizar é fazer um backup completo do sistema. Este tipo de migração envolve mudanças profundas no sistema operativo, e qualquer falha pode resultar em perda de dados na melhor das hipóteses, ou num sistema inutilizável. Portanto, certifiquem-se de que todos os dados críticos e configurações estejam devidamente salvaguardados e que vocês tenham um plano de recuperação em caso de falhas  – reposição de backup, snapshot, etc.
E claro… testem que o backup/restore realmente funciona…

Verificação de Compatibilidade de Hardware e Software

Nem todos os ambientes são passiveis para que seja efetuada uma migração direta. É crucial verificarem se o hardware em uso é compatível com a nova versão do sistema que será instalado. Para alem disso, façam uma auditoria dos pacotes de software e serviços em execução no sistema atual para garantir que eles estejam disponíveis e suportados na nova distribuição baseada em RHEL. Isto é efetuado através da criação de novo .repo files, com as versões dos ficheiros para a nova versão.

Atualização do Sistema Atual

Antes de iniciarem a migração, é uma boa prática garantir que o CentOS 7 esteja totalmente atualizado. Isso inclui a instalação de todas as atualizações de pacotes disponíveis e a verificação de que não há pacotes com bugs ou dependências em falha. Lembrem-se de atualizar os vossos repo files, para o novo url do vault.centos.org, pois os antigos foram descontinuados:

sudo yum update -y
sudo yum check

Esses comandos irão garantir que o sistema esteja na melhor condição possível antes de iniciar o processo de migração.

Instalando e Configurando o Elevate

Com os preparativos concluídos, o próximo passo é instalar o Elevate e iniciar o processo de migração.
O Elevate pode ser instalado diretamente dos repositórios do AlmaLinux. Para isso, siga os passos abaixo:

sudo yum install -y el-release
sudo yum install -y elevate-release
sudo yum install -y leapp-upgrade leapp-data-almalinux

Esses comandos irão instalar o Elevate junto com as dependências necessárias para a migração.

Configurando o Elevate

Antes de iniciarem a migração, algumas configurações tem de ser ajustadas. O Elevate permite que personalizem o processo de migração ajustando arquivos de configuração e variáveis específicas. O arquivo de configuração principal para o Leapp, que é a base do Elevate, pode ser encontrado em /etc/leapp/leapp.conf.

É recomendável validar este arquivo e ajustar as configurações conforme necessário, especialmente se houver requisitos específicos para o vosso ambiente. Além disso, qualquer configuração personalizada do sistema deve ser cuidadosamente ponderada para garantir que não cause problemas durante a migração.

Executando o Processo de Migração

Com o sistema preparado e o Elevate configurado, podemos agora iniciar o processo de migração.

Antes de realizar a migração efetiva, é prudente e muito recomendado fazer um teste a seco, que simula o processo sem fazer alterações reais no sistema. Isto irá a nos ajudar a identificar possíveis problemas e dará uma hipótese de os corrigir antes da execução final. Para fazer isso, executem:

sudo leapp preupgrade

Este comando executará uma verificação completa do sistema, reportando possíveis problemas que possam impedir a migração. Leiam cuidadosamente o log gerado em `/var/log/leapp/leapp-preupgrade.log` para entenderem qualquer erro ou advertência.

Realizando a Migração

Se o teste a seco não apontar problemas graves,  podemos prosseguir com a migração. O comando abaixo iniciará o processo:

sudo leapp upgrade

Este comando dará início à migração. O Elevate cuidará do processo de download e instalação dos pacotes necessários, resolução de dependências e execução de scripts de migração executado o que na giria é chamado de upgrade in-place.

Reinicialização e Verificação Pós-Migração

Após a conclusão do processo de migração, o sistema necessitará de ser reiniciado:

sudo reboot

Durante a reinicialização, o sistema completará a transição para a nova distribuição. Após o boot, é essencial verificar se tudo foi migrado corretamente.

Pós-Migração: Verificação e Ajustes

Depois de realizar a migração e reiniciar o sistema, é importante verificarmos o ambiente para garantir que a migração foi bem-sucedida.

Após a reinicialização, verifiquem todos os serviços críticos para garantir que estão funcionando corretamente. Isto inclui (mas não exclusive) servidores web, bases de dados, servidores de e-mail, e quaisquer outras aplicações essenciais. Usem o comando systemctl  para verificar o estado dos serviços:

sudo systemctl status nome-do-serviço

Se algum serviço não iniciar corretamente, investiguem os logs em `/var/log/` para identificar e resolver os problemas.

Verificação de Pacotes e Dependências.

Verifiquem se todos os pacotes foram migrados corretamente e se não há dependências em falha ou falta:

sudo dnf check

Esse comando irá ajudar a garantir que o ambiente de pacotes esteja  estável e que todas as dependências necessárias estejam satisfeitas.

Ajustes Finais

Com a verificação concluída, alguns ajustes finais podem ser necessários. Na minha experiência, estes ajustes incluem a reconfiguração de arquivos de configuração específicos – especialmente em apache – , otimização de desempenho e a instalação de novos pacotes que não estavam disponíveis durante a migração.

Conclusão:

Migrar de CentOS  para uma distribuição baseada em RHEL como AlmaLinux, Rocky Linux ou Oracle Linux é um passo crítico para garantir a continuidade do suporte e segurança do seu ambiente de TI. Embora o processo possa parecer intimidador ao inicio, o utilitário Elevate simplifica significativamente a migração, oferecendo uma abordagem estruturada e automatizada.

No entanto, como em qualquer operação de manutenção de sistemas, a preparação é a chave para o sucesso. Certifiquem-se de realizar backups completos, testar a migração em um ambiente de testes, e rever cuidadosamente todos os aspectos do sistema antes e depois da migração.

Ao seguir essas diretrizes e utilizando o Elevate corretamente,  podemos transitar para uma nova distribuição RHEL com confiança, garantindo que seus sistemas permaneçam seguros, atualizados e plenamente funcionais e o melhor de tudo, é que podemos fazer distro hopping entre elas.

Até ao próximo post, espero que as vossas férias ainda estejam a correr bem e já sabem onde me encontrar se virem algo menos correto.
Abraço

Nuno