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
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
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
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
Com tudo OK, o servidor está pronto para o upgrade:
leapp upgrade
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
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
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
Selecione a opção referente ao Java 11.0.17.
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:
readlink -f $(which java)
sudo vim /etc/systemd/system/tomcat9.service
systemctl daemon-reload
systemctl start tomcat9
systemctl start mensageria
systemctl stop firewalld
Tente acessar a aplicação pelo browser:
- Quality Manager
- Portal do Titular
- Mensageria
No Comments