Skip to main content

Processo de atualização

Introdução

Este documento apresenta os passos para a atualização do sistema operacional Red Hat Enterprise Linux 7.9 para a versão 8.6 com o foco no servidor do MD2 Quality Manager, portanto haverão alguns pontos específicos referentes à aplicação.

Recomendamos que seja feito um snapshot de segurança do servidor antes de iniciar o processo de upgrade do Sistema Operacional.

Preparando o servidor para a atualização

Ao atualizar o sistema operacional, o PostgreSQL será desinstalado. Para evitar as perda de dados, será necessário fazer um backup do banco de dados, dos arquivos de configurações e fazer a desinstalação manual do PostgreSQL. 

Crie um diretório para salvar o backup do banco de dados:

sudo mkdir /opt/bkp_psql

Entre na pasta recém-criada e faça o backup dos arquivos necessários:

cd /opt/bkp_psql/
pg_dump -h 127.0.0.1 -U md2net -d qualitymanager | gzip --best > ./bkp_DB_QM.psql.gz
pg_dump -h 127.0.0.1 -U md2net -d mensageria_qm | gzip --best > ./bkp_DB_MENSAGERIA.psql.gz
sudo cp /var/lib/pgsql/12/data/pg_hba.conf /opt/bkp_psql/
cp /var/lib/pgsql/12/data/postgresql.conf /opt/bkp_psql/

Desinstale o PostgreSQL:

sudo yum remove postgresql
sudo yum remove postgresql12-libs-12.13-1PGDG.rhel7.x86_64
sudo rm -rf /etc/yum.repos.d/pgdg-redhat-all.repo
reboot now
Atualizando SO

Verifique versão do SO antes da atualização do sistema RHEL 8:

cat /etc/redhat-release

9.jpg

Habilite o repositório Base:

subscription-manager repos --enable rhel-7-server-rpms

Habilite o repositório Extras onde o Leapp (utilitário de autosserviço) e suas dependências estão disponíveis:

subscription-manager repos --enable rhel-7-server-extras-rpms

Defina o Red Hat Subscription Manager para consumir o mais recente conteúdo RHEL 7:

subscription-manager release --unset
yum version lock clear
yum update
reboot now

Instale o utilitário Leapp:

yum install leapp-upgrade

Para avaliar a possibilidade de atualização de seu sistema, inicie o processo de pré-atualização através do comando leapp preupgrade. Durante esta fase, o utilitário Leapp coleta dados sobre o sistema, avalia a possibilidade de atualização e gera um relatório de pré-atualização.

O relatório de pré-atualização estará disponível no arquivo /var/log/leapp/leapp-report.txt. O relatório resume os problemas potenciais e propõe soluções recomendadas. O relatório também o ajuda a decidir se é possível ou aconselhável proceder com a atualização.

leapp preupgrade

5.jpg

No caso do ambiente de laboratório, foi acusado dois problemas que impossibilitaram a atualização no momento. Para verificar mais detalhadamente basta abrir o arquivo leapp-report.txt:

vim /var/log/leapp/leapp-report.txt

6.jpg

Para corrigir os pontos encontrados pelo pre-upgrade, foram executados os seguintes comandos:

rmmod pata_acpi
leapp answer --section remove_pam_pkcs11_module_check.confirm=True

Após a execução dos comandos, o pre-upgrade foi executado novamente para verificar se haveria mais algum problema:

leapp preupgrade

7.jpg

Com tudo OK, o servidor está pronto para o upgrade:

leapp upgrade

8.jpg

Quando o processo finalizar, reinicie o servidor:

reboot now

Nesta fase, o sistema inicia em uma imagem de disco RAM inicial baseada no RHEL 8, initramfs. O Leapp atualiza todos os pacotes e reinicia automaticamente para o sistema RHEL 8.

Verifique a versão do SO pós-atualização do sistema RHEL 8:

cat /etc/redhat-release

10.jpg

Subindo a aplicação do Quality Manager após atualização do SO

Após a atualização para o RHEL 8.6 será necessário seguir alguns passos antes de acessar o Quality Manager.

Primeiramente, deve-se reinstalar o Postgresql. Sigo os comandos abaixo:

sudo yum install @postgresql:12
sudo yum install postgresql-contrib
/usr/libexec/initscripts/legacy-actions/postgresql/initdb
systemctl start postgresql
systemctl enable postgresql

Pare o serviço do PostgreSQL para voltar o backup feito antes da atualização do SO:

systemctl stop postgresql

Acesse o diretório com os backups:

cd /opt/bkp_psql/

Faça a manipulação dos arquivos:

sudo mv /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/bkp_pg_hba.conf
sudo cp pg_hba.conf /var/lib/pgsql/data/
sudo mv /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/bkp_postgresql.conf
sudo cp postgresql.conf /var/lib/pgsql/data/
cd /var/lib/pgsql/data/
chown -R postgres: postgresql.conf pg_hba.conf
chmod 700 pg_hba.conf postgresql.conf

Inicie o serviço do PostgreSQL:

systemctl start postgresql

Recrie os usuários md2net e mdm:

sudo -i -u postgres psql -c "create user md2net with encrypted password 'md2net2018';"
sudo -i -u postgres psql -c "alter user md2net with superuser;"
sudo -i -u postgres psql -c "create user mdm with encrypted password 'md2net2018';"

As senhas informadas nos comandos acima podem ser alteradas, adequando à politica de segurança da empresa.

Recrie os databases qualitymanager e mensageria:

sudo -i -u postgres psql -c "create database qualitymanager with owner md2net;"
sudo -i -u postgres psql -c "create database mensageria_qm with owner md2net;"
sudo psql -h 127.0.0.1 -U md2net qualitymanager -c "create extension "unaccent";"

Execute os dumps feitos dos databases antes da atualização do SO:

cd /opt/bkp_psql/
gunzip -c bkp_DB_QM.psql.gz | psql -h 127.0.0.1 -U md2net qualitymanager
gunzip -c bkp_DB_MENSAGERIA.psql.gz | psql -h 127.0.0.1 -U md2net mensageria_qm

Verifique a versão do Java:

java -version

11.jpg

No caso do servidor usado como laboratório, após a atualização do SO, foi instalado o Java 8. Atualmente o Quality Manager está homologado para a versão 11.0.17 e para voltarmos para a versão correta do Java, os comandos abaixo devem ser executados:

sudo update-alternatives --config java

12.jpg

Selecione a opção referente ao Java 11.0.17.

13.jpg

Execute o comando abaixo para pegar o diretório em que o Java está instalado. Você precisará deste diretório para alterar a variável JAVA_HOME presente no arquivo do serviço do Tomcat9:

14.jpg

sudo vim /etc/systemd/system/tomcat9.service

15.jpg

systemctl daemon-reload
systemctl start tomcat9
systemctl start mensageria
systemctl stop firewalld

Tente acessar a aplicação pelo browser:

  • Quality Manager

image-1674581106162.png

image-1674581118525.png

  • Portal do Titular

image-1674581128716.png

  • Mensageria

image-1674581139551.png

image-1674581146605.png