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