Upgrade de versão a quente do Mediation Controller¶
Importante
A documentação do upgrade de versão a quente do Mediation Controller destina-se a qualquer Mediation Controller que funcione com Debian 11. A versão de Debian pode ser verificada com o comando seguinte (a executar por SSH ou em acesso de consola):
1 | |
Informação
Recordamos que a mudança para root nas máquinas Debian deve ser efetuada com o comando seguinte:
1 | |
Planeamento e preparação¶
Abertura dos fluxos¶
Ao fazer o upgrade do produto, é necessário transferir muitos pacotes dos repositórios Debian, devido à passagem da versão 11 para a versão 12 do Debian. O acesso TCP 80 a security.debian.org e a ftp.fr.debian.org deve estar aberto.
Para testar a abertura dos fluxos na máquina, pode iniciar-se uma sincronização dos repositórios Debian. Se forem apresentadas mensagens de erro relativas ao acesso aos repositórios Debian, o fluxo de rede não está aberto, provavelmente bloqueado pelo firewall da empresa. A sincronização dos repositórios pode ser iniciada com o comando seguinte:
1 | |
Transferência do mirror e das ferramentas necessárias¶
O mirror de CyberElements Cleanroom 4.6 pode ser transferido a partir desta ligação (requer a criação de uma conta de cliente): Systancia Marketplace
Além do mirror, serão necessárias ferramentas de terceiros para o processo de upgrade:
- Um cliente SSH (no Windows, pode utilizar-se a ferramenta PuTTY)
- Um cliente SCP (no Windows, podem utilizar-se as ferramentas WinSCP ou FileZilla)
Instalação e utilização da ferramenta screen¶
A ferramenta screen permite abrir vários terminais de shell numa única consola. É indispensável utilizar esta ferramenta para o upgrade para a versão CyberElements Bastion, a fim de eliminar a dependência da estabilidade da ligação de rede. De facto, sem a ferramenta screen, a instalação seria interrompida em caso de corte da ligação SSH com os servidores CyberElements Bastion.
Ao utilizar a ferramenta screen, ao voltar a ligar-se à consola de shell do equipamento CyberElements Bastion, é possível recuperar o terminal no qual o processo de atualização foi executado.
O pacote screen deve ser instalado com a linha de comandos seguinte:
1 | |
Para abrir um novo terminal screen, deve executar-se o comando seguinte:
1 | |
Substitua <ID> por um nome que identifique a sessão.
Exemplo
Nos upgrades de versão de CyberElements, o identificador cye-upgrade é facilmente reconhecível. O comando seria, portanto, o seguinte:
1 | |
Para recuperar um terminal aberto com screen, basta executar o comando seguinte:
1 | |
Substitua <ID> pelo nome definido na abertura da sessão.
Exemplo
O terminal anteriormente aberto com o identificador cye-upgrade pode ser recuperado com o comando seguinte:
1 | |
Para fechar o terminal quando o upgrade estiver concluído, introduza no terminal o comando exit ou o atalho de teclado ctrl+d.
Regressa então à consola. A mensagem «screen is terminating» confirma que o terminal foi fechado.
Ampliação do espaço em disco das appliances virtuais¶
As appliances virtuais Systancia Cleanroom 4.4 ou 4.5 exigem que seja acrescentada uma ampliação de disco de 2 GB à partição /usr. Esta operação é necessária para dispor de espaço em disco suficiente para o upgrade de versão e evitar ficar bloqueado durante a operação.
Ao ligar-se ao Mediation Controller, seja por SSH ou em modo consola, uma mensagem de boas-vindas informa-o de que está ligado a uma máquina Systancia. Uma linha adicional indica a versão da appliance.
Exemplo
Uma appliance virtual Mediation Controller na versão 4.5 dará o resultado seguinte:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Se a máquina não for uma appliance virtual fornecida com a versão 4.4 ou 4.5, este capítulo pode ser ignorado, passando diretamente ao upgrade de versão.
Cópia de segurança fortemente recomendada
As etapas seguintes alteram o particionamento do disco do Mediation Controller. Se tiverem sido feitas alterações manuais, é possível que estas instruções não sejam adequadas e que a máquina fique bloqueada.
Antes de continuar, faça uma cópia de segurança da máquina ou, se necessário, duplique a máquina virtual. Não podem ser utilizados snapshots porque, em particular com o VMware, impedem a ampliação de um disco.
No hipervisor, amplie em 2 GB adicionais o espaço em disco da máquina virtual. Se não for possível ampliar o disco, verifique que não existem snapshots e, caso contrário, desligue a máquina virtual se a ampliação a quente não for suportada.
Uma vez ampliado o espaço em disco ao nível da máquina virtual, são necessários os comandos seguintes, a executar como root, para ampliar a partição /usr:
1 2 3 4 5 6 | |
Upgrade de versão¶
Atualização dos pacotes Debian¶
Uma vez que o upgrade do CyberElements Bastion exige o upgrade do Debian, recomenda-se atualizar corretamente os pacotes do Debian 11 antes de passar para o Debian 12. Para isso, execute os seguintes comandos como root (atualização do sistema e depois remoção dos pacotes desnecessários):
1 2 3 | |
Podem aparecer mensagens a pedir-lhe para modificar a configuração de vários ficheiros de configuração. Nesses casos, selecione a opção que mantém a configuração atual.
Preparar os controladores do Microsoft SQL Server¶
São necessárias operações adicionais se os controladores do Microsoft SQL Server estiverem instalados (é o caso das appliances virtuais fornecidas pela Systancia).
Para verificar se estão presentes no servidor, pode executar-se o comando seguinte como root:
1 | |
Se não aparecer qualquer resposta, os controladores não estão instalados e pode passar à etapa de preparação do espelho.
Caso contrário, se os controladores estiverem instalados, devem ser listados dois pacotes: msodbcsql17 e mssql-tools. Siga as instruções desta secção.
Exemplos
Um servidor no qual os controladores não estão instalados daria o resultado seguinte com o comando anterior:
1 | |
Um servidor no qual os controladores estão instalados dará um resultado semelhante a este (as versões dos pacotes podem diferir):
1 2 3 | |
Os comandos seguintes são necessários para instalar uma versão específica dos pacotes e garantir que o upgrade de versão seja bem-sucedido:
1 | |
Configure o repositório da Microsoft adaptado ao Debian 12 para preparar o upgrade de versão:
1 | |
Preparação do mirror CyberElements Cleanroom 4.6¶
O mirror obtido durante a fase de preparação (ficheiro com a extensão tgz) deve ser enviado para o servidor por SCP. Deve ser colocado no diretório /tmp/.
Em seguida, prepare o mirror executando os comandos seguintes como root (os ficheiros residuais de um upgrade de versão anterior serão eliminados):
1 2 3 | |
Configuração do APT¶
O gestor de pacotes APT está configurado para obter os pacotes do Debian 11; deve ser reconfigurado para obter os pacotes do Debian 12. É igualmente necessário atualizar a referência ao espelho local do CyberElements Bastion. Para isso, execute os seguintes comandos como root:
1 2 | |
Além da configuração dos novos repositórios, recomendamos vivamente aplicar a definição seguinte, para indicar ao APT que não instale as dependências recomendadas que não sejam estritamente necessárias, a fim de reduzir o número de componentes instalados. O comando seguinte aplica esta definição como root:
1 | |
Por último, é necessário atualizar a lista de pacotes dos repositórios com o comando seguinte:
1 | |
Desencadear o upgrade de versão¶
Aceda ao servidor Mediation Controller por SSH e mude para root, depois abra um screen como indicado acima.
Comece por atualizar alguns pacotes específicos para que o upgrade de versão possa ser realizado. É normal que apareça uma mensagem de erro ao executar o primeiro comando; o segundo comando corrige-o:
1 2 | |
Ao atualizar um Mediation Controller de Debian 11 para Debian 12, o pacote collectd é atualizado e passa a ser incompatível com o ficheiro de configuração gerado pelo CyberElements Bastion (/etc/collectd/collectd.conf). Isto pode provocar um erro durante a atualização.
Para o evitar, desative o collectd:
1 2 | |
Em seguida, o upgrade de versão pode ser iniciado com o comando seguinte:
1 | |
Durante o upgrade de versão, serão colocadas várias questões sobre se deve conservar os ficheiros de configuração e atualizá-los conforme a configuração standard do Debian 12, ou manter a configuração específica existente. Seguem-se as nossas recomendações para a maioria dos ficheiros que poderá encontrar:
| Ficheiro de configuração | Ação recomendada |
|---|---|
| /etc/issue | Conservar, responda N |
| /etc/issue.net | Conservar, responda N |
| /etc/security/limits.conf | Conservar, responda N |
| /etc/login.defs | Conservar, responda N |
| /etc/shibboleth/shibboleth2.xml | Conservar, responda N |
| /etc/shibboleth/shibd.logger | Aplicar as alterações, responda Y |
| /etc/default/ntpsec | Aplicar as alterações, responda Y |
| /etc/snmp/snmpd.conf | Aplicar as alterações, responda Y |
| /etc/logrotate.d/IPdivaServer | Aplicar as alterações, responda Y |
| /etc/ssh/sshd_config | Conservar, responda Keep the local version currently installed |
| /etc/ssh/ssh_config | Aplicar as alterações, responda Y |
| /etc/apache2/ports.conf | Conservar, responda N |
| /etc/init.d/apache2 | Conservar, responda N |
| /etc/modsecurity/modsecurity.conf-recommended | Aplicar as alterações, responda Y |
| /etc/ipdiva/httpd/commonParameters.conf | Aplicar as alterações, responda Y |
| /etc/ipdiva/care/djangosettings.ini | Aplicar as alterações, responda Y |
| /etc/crontab | Aplicar as alterações, responda Y |
| /etc/openssl.cnf | Aplicar as alterações, responda Y |
| /etc/audit/rules.d/audit.rules | Conservar, responda N |
| /etc/pam.d/su | Conservar, responda N |
| /etc/sysctl.conf | Conservar, responda N |
Aceite a mensagem de configuração do pacote glibc: 
Aceite o reinício automático dos serviços: 
Uma vez concluído o upgrade de versão, execute os comandos seguintes para reativar o collectd, remover os pacotes desnecessários e reiniciar a máquina:
1 2 3 4 | |
Ações específicas dos Mediation Controller em Cluster¶
No servidor Mediation Controller SLAVE, execute os comandos seguintes para ressincronizar o segredo partilhado entre o Mediation Controller MASTER e o SLAVE:
1 2 | |
Upgrade da instância de base de dados PostgreSQL¶
No servidor Mediation Controller, atualize a instância de base de dados PostgreSQL da versão 13 para a versão 15. Para isso, execute as instruções seguintes com os direitos root adequados.
Verifique o estado das instâncias PostgreSQL antes da migração:
1 | |
Execute os comandos seguintes para atualizar a instância de base de dados para a versão 15 do PostgreSQL:
1 2 3 4 | |
Verifique que a instância de base de dados foi atualizada com êxito. Devem aparecer duas instâncias, uma na versão 13 e outra na versão 15, sendo esta última a única ativa. A verificação é feita com o comando seguinte:
1 | |
Se o upgrade de versão foi bem-sucedido, a instância de base de dados na versão 13 pode ser eliminada:
1 | |
A eliminação dos pacotes PostgreSQL da versão 13 pode ser iniciada:
1 | |
Migração da base de dados do CyberElements Bastion¶
A configuração do produto é armazenada na base de dados, que tem de ser migrada para poder conter as configurações das alterações introduzidas pela nova versão. A operação é realizada no Mediation Controller como root.
Arquitetura Cluster
Numa arquitetura Cluster, a operação deve ser realizada a partir de um único Mediation Controller, qualquer que ele seja.
É também necessário executar o comando seguinte:
1 | |
A migração dos dados é desencadeada com um comando equivalente a este:
1 | |
Em que <org_clr> deve ser substituído pelo nome da organização a migrar. Tenha em conta que, se o Mediation Controller tiver várias organizações (multi-tenant), terá de executar o comando tantas vezes quantas as organizações a migrar.
Exemplo
Para uma plataforma CyberElements Bastion que tenha as organizações systancia e systancia-test, terá de executar os comandos seguintes:
1 2 | |
Após a migração da base de dados, o serviço Apache2 tem de ser reiniciado:
1 | |
Restaurar as configurações¶
Algumas configurações foram substituídas durante o processo de upgrade de versão e têm de ser restauradas.
Ficheiro commonParameters.conf:
Desloque as etiquetas <Location> relativas aos HTML5 Gateway, que se encontram normalmente no fim do ficheiro, do ficheiro /etc/ipdiva/httpd/commonParameters.conf.dpkg-old para /etc/ipdiva/httpd/commonParameters.extra.conf (crie o ficheiro se não existir). Se não existir nenhuma etiqueta <Location>, podem ser copiados os exemplos seguintes.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
Ficheiro djangosettings.ini:
Copie a informação da linha 2 «allowed_hosts» do ficheiro /etc/ipdiva/care/djangosettings.ini.dpkg-old para o ficheiro /etc/ipdiva/care/djangosettings.ini. Isto pode ser automatizado com o comando seguinte, executado como root:
1 | |
Aplicar os restauros:
Para aplicar os restauros, é necessário reiniciar o serviço Apache2 como root:
1 | |
Validação¶
Uma vez concluído o upgrade de versão, a infraestrutura CyberElements Bastion deve ser validada para garantir que funciona corretamente antes do regresso à produção. Se a validação falhar, considere uma marcha atrás através do restauro das cópias de segurança dos servidores CyberElements Bastion.
Aceda à interface de administração de uma organização e, em seguida, vá ao menu «About» da barra de controlo para verificar que a versão do Mediation Controller foi corretamente atualizada para a 4.6.
Podem iniciar-se os primeiros testes de funcionamento da plataforma, mas recomendamos utilizar a versão 4.6 do Edge Gateway para garantir um desempenho ótimo das aplicações CyberElements Bastion.