Convert2RHEL é um serviço da Red Hat que converte sistemas operacionais semelhantes ou derivados do Red Hat Enterprise Linux (RHEL), como o CentOS Linux e o Oracle Linux. Para ver uma lista completa dos sistemas operacionais compatíveis, leia este documento. Para saber mais informações, leia este post de Terry Bowling e este outro sobre o Oracle Linux.
O Red Hat Satellite 6.10 apresentou pela primeira vez a capacidade de realizar operações em massa do Convert2RHEL. Escrevi sobre isso neste blog post. O Satellite 6.11 aproveita esses recursos de duas maneiras:
-
Um Ansible role automatiza a configuração/preparação do servidor Satellite para o Convert2RHEL.
-
Um playbook do Ansible automatiza as conversões de host.
O fluxograma abaixo apresenta uma visão geral de alto nível das tarefas necessárias para executar uma operação em massa do Convert2RHEL no Satellite 6.11.
Quando estiver tudo pronto, registre os hosts do Centos/Oracle Linux no Satellite e agende uma tarefa para converter seus hosts para o RHEL.
Observe que o Ansible role pode ser aplicado manualmente ao servidor Satellite, com um servidor Ansible separado.
Aqui detalhamos todas as etapas necessárias para implementar essa nova automação.
Prepare o servidor Satellite
Primeiro, siga estas instruções para importar os Ansible roles incluídos.
Primeiro, acesse Configure > Roles.
Clique em "Import…".
Clique em "Select All" e depois em "Submit".
Em seguida, teremos que criar variáveis para o Ansible role antes de executá-lo no servidor Satellite. Essas variáveis informarão ao Ansible role como você deseja configurar a operação em massa do Convert2RHEL em seu servidor Satellite. Isso inclui especificar um manifesto de subscrição, uma organização, um local, credenciais de administrador, etc.
Descobri que a maneira mais fácil e rápida de configurar as variáveis do Ansible role é usar o serviço de linha de comando Hammer no servidor Satellite. Você também pode configurar as variáveis do Ansible role pela IU da web do Satellite.
Neste servidor Satellite específico, estou definindo as seguintes variáveis.
Variável |
Valor |
satellite_rhel_wait_for_syncs |
true |
satellite_manifest_path |
/usr/share/satellite/manifest_satellite_20220815T193102Z.zip |
satellite_organization |
Acme Org |
satellite_password |
Ha ha no you don't |
satellite_username |
myee |
satellite_server_url |
|
satellite_validate_certs |
true |
satellite_content_rhel_enable_rhel7 |
true |
satellite_content_rhel_enable_rhel8 |
true |
Veja como criar as variáveis do Ansible role com o serviço Hammer.
satellite_rhel_wait_for_syncs
O Ansible role configura e sincroniza os repositórios necessários para executar a operação em massa do Convert2RHEL. A variável satellite_rhel_wait_for_syncs instrui a operação a aguardar a sincronização dos repositórios.
Digite o seguinte na interface da linha de comando do servidor Satellite ao fazer login como raiz:
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_rhel_wait_for_syncs --variable-type boolean --default-value false --override true
satellite_manifest_path
Quando o Ansible role é executada, ela faz upload do manifesto de subscrição, garantindo que todos os seus novos hosts estejam adequadamente licenciados. Se você já tiver feito upload de um manifesto válido, terá que fazer isso novamente, infelizmente.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_manifest_path --variable-type string --default-value "/usr/share/satellite/manifest_satellite_20220815T193102Z.zip" --override true
satellite_organization/usr
Minha organização do Satellite é "Acme Org".
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_organization --variable-type string --default-value "Acme Org" --override true
satellite_password
O Ansible role exigirá credenciais de administrador do Satellite. Digite a senha aqui.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_password --variable-type string --default-value "YOUR_ADMIN_PASSWORD" --override true
Observação: para evitar o uso de senhas, você pode configurar tokens de acesso pessoal.
satellite_username
Digite o nome de usuário administrativo aqui.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_username --variable-type string --default-value "myee" --override true
satellite_server_url
A URL do servidor Satélite é a URL que os hosts precisarão acessar com o serviço curl.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_server_url --variable-type string --default-value "https://ip-172-31-29-4.us-west-1.compute.internal" --override true
satellite_validate_certs
Esse valor deve ser definido como true.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_validate_certs --variable-type boolean --default-value true --override true
satellite_content_rhel_enable_rhel7
Essa variável especifica que você deseja que o Ansible role sincronize o conteúdo do RHEL7 a fim de habilitar a conversão de hosts do Centos 7 (ou Oracle) para o RHEL7. Se você não quiser que o conteúdo do RHEL7 seja sincronizado, use essa variável para especificar false.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_content_rhel_enable_rhel7 --variable-type boolean --default-value true --override true
satellite_content_rhel_enable_rhel8
Essa variável especifica que você deseja que o Ansible role sincronize o conteúdo do RHEL8 a fim de habilitar a conversão de hosts do Centos 8 (ou Oracle) para o RHEL8. Se você não quiser que o conteúdo do RHEL8 seja sincronizado, use essa variável para especificar false
.
hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_content_rhel_enable_rhel8 --variable-type boolean --default-value true --override true
Você pode verificar se suas variáveis estão definidas corretamente na interface web. Acesse o submenu Ansible Variables.
Verifique todas as variáveis até encontrar as que você acabou de criar.
Agora precisamos configurar o Satellite para permitir a execução de tarefas de execução remota nele mesmo.
Observação: esta etapa não é necessária se você já puder executar tarefas de execução remota no servidor Satellite.
Faça login no servidor Satellite como raiz e execute o seguinte comando:
satellite-installer \ --foreman-proxy-plugin-remote-execution-ssh-install-key true
A saída será semelhante à tela abaixo.
Em seguida, aplicaremos o Ansible role ao servidor Satellite.
Clique em Hosts > All Hosts.
Edite seu servidor Satellite.
Clique na guia Ansible Roles.
O role do Convert2RHEL está na segunda página do submenu. Clique no sinal de + para atribuir o role redhat.satellite.convert2rhel ao seu servidor Satellite.
Em seguida, clique em "Submit".
Você será redirecionado para a página de informações do host. Clique no botão "Schedule Remote Job" e selecione "Run Ansible roles".
Você será redirecionado para uma página exibindo o status da tarefa. Clique no host do Satellite para ver o status da tarefa em tempo real.
Aqui você pode ver cada ação na tarefa (job) que está sendo executada.
Observação: o Ansible role sincroniza o conteúdo necessário, cria grupos de hosts e chaves de ativação, entre outras tarefas. O Satellite 6.11 tem um bug onde a chave de ativação criada para registrar hosts do CentOS 7, "Convert2RHEL7", habilita o repositório Convert2RHEL8. Para contornar esse bug, você deve substituir esse repositório na chave de ativação "convert2rhel_centos7".
Execute a conversão
IMPORTANTE: antes de executar a conversão, os hosts candidatos devem estar atualizados e reinicializados com o kernel mais recente.
Primeiro, precisaremos registrar nossos hosts a serem convertidos. Nesse caso, estou convertendo hosts do CentOS7. Clique em Hosts > Register Host.
Nos meus hosts CentOS de teste, não copiei os arquivos da autoridade de certificação do servidor Satellite. Você pode obter mais informações sobre como fazer isso aqui.
No menu Register Host, selecione 1) Host group "CentOS 7 converting", 2) "Insecure" e 3) "Advanced". A opção "Insecure" permite que o script seja executado primeiro sem verificar o certificado autoassinado. A comunicação subsequente é totalmente segura. Se quiser evitar o uso do método "Insecure", leia sobre a importação de certificados aqui.
Em seguida, clique em "Advanced".
Execute as seguintes tarefas no contexto "Advanced" do menu "Register Host".
-
Verifique se "Activation Keys" foram herdadas do grupo de hosts "convert2rhel_centos7". Você não precisará clicar em nada aqui.
-
Clique em "Generate". Isso gerará o script curl que você copiará e colará na CLI do host do CentOS.
-
Clique no botão Copy para copiar o script curl.
Agora faça login em um de seus hosts candidatos. Exporte o local correto do seu host.
export LANG=pt-br.UTF-8
Cole o script curl e execute-o. Veja um exemplo de saída.
Repita esta tarefa para todos os seus hosts candidatos.
No menu Hosts, você vê todos os seus hosts do CentOS registrados no Satellite.
Para iniciar a operação Convert2RHEL, execute as seguintes tarefas.
-
Selecione os hosts candidatos.
-
Clique em "Select Action" e selecione "Schedule Remote Job".
No menu Job invocation, execute as seguintes tarefas.
-
No menu suspenso "Job category", selecione "Convert 2 RHEL".
-
No menu suspenso "Activation Key", selecione "convert2rhel_rhel7".
-
Clique em "Submit" para iniciar a operação em massa do Convert2RHEL.
Você será redirecionado para o menu "Job Overview", onde poderá optar por visualizar o status em tempo real da tarefa em cada host clicando no host.
Esta é o preview em tempo real da tarefa.
Como resultado, todos os hosts foram convertidos para RHEL de uma vez.
Para mais informações, consulte a documentação oficial do Convert2RHEL aqui.
Sobre o autor
As a Senior Principal Technical Marketing Manager in the Red Hat Enterprise Linux business unit, Matthew Yee is here to help everyone understand what our products do. He joined Red Hat in 2021 and is based in Vancouver, Canada.
Navegue por canal
Automação
Últimas novidades em automação de TI para empresas de tecnologia, equipes e ambientes
Inteligência artificial
Descubra as atualizações nas plataformas que proporcionam aos clientes executar suas cargas de trabalho de IA em qualquer ambiente
Nuvem híbrida aberta
Veja como construímos um futuro mais flexível com a nuvem híbrida
Segurança
Veja as últimas novidades sobre como reduzimos riscos em ambientes e tecnologias
Edge computing
Saiba quais são as atualizações nas plataformas que simplificam as operações na borda
Infraestrutura
Saiba o que há de mais recente na plataforma Linux empresarial líder mundial
Aplicações
Conheça nossas soluções desenvolvidas para ajudar você a superar os desafios mais complexos de aplicações
Programas originais
Veja as histórias divertidas de criadores e líderes em tecnologia empresarial
Produtos
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Red Hat Cloud Services
- Veja todos os produtos
Ferramentas
- Treinamento e certificação
- Minha conta
- Suporte ao cliente
- Recursos para desenvolvedores
- Encontre um parceiro
- Red Hat Ecosystem Catalog
- Calculadora de valor Red Hat
- Documentação
Experimente, compre, venda
Comunicação
- Contate o setor de vendas
- Fale com o Atendimento ao Cliente
- Contate o setor de treinamento
- Redes sociais
Sobre a Red Hat
A Red Hat é a líder mundial em soluções empresariais open source como Linux, nuvem, containers e Kubernetes. Fornecemos soluções robustas que facilitam o trabalho em diversas plataformas e ambientes, do datacenter principal até a borda da rede.
Selecione um idioma
Red Hat legal and privacy links
- Sobre a Red Hat
- Oportunidades de emprego
- Eventos
- Escritórios
- Fale com a Red Hat
- Blog da Red Hat
- Diversidade, equidade e inclusão
- Cool Stuff Store
- Red Hat Summit