Continuação - Migrando para InterSystems IRIS – Parte 02 – (Trocando de sistema operacional e de hardware).
Continuação:
Migrando para InterSystems IRIS – Parte 02 – Trocando de sistema operacional e de hardware.
Olá, comunidade! Nesta continuação da segunda parte do artigo vamos apresentar dicas do processo de migração do InterSystems Caché e ou Ensemble para IRIS com um desafio um pouco maior, pois agora vamos trocar de máquina e sistema operacional.
Como comentado na 1ª parte do artigo, a ideia é passar dicas e não substituir os documentos oficiais que estão disponíveis no WRC, que são eles:
- InterSystems IRIS Adoption Guide;
- How to migrate to InterSystems IRIS.
Cenário atual:
O ambiente está rodando em uma máquina que não possui mais garantia do fabricante e o sistema operacional atual é o um RedHat 6 com uma instância de Ensemble 2018.1.5. O desafio é migrar para InterSystems IRIS 2021.1 para um novo hardware com o RedHat 8.
Como parte do processo de migração, você já verificou os pré-requisitos das plataformas suportadas para a plataforma InterSystems IRIS, de qualquer forma vou deixar o link aqui para que você possa consultar novamente:
Sistema operacional:
Ensemble:
A aplicação que roda nesta instância possui um único namespace com dois bancos de dados, sendo:
- Database para globais;
- Database para rotinas.
Aqui vai a primeira dica, é recomendado que a base das suas rotinas e globais sejam segregadas. Para ambientes onde rotinas e globais convivem no mesmo banco de dados é demando procedimentos adicionais que serão tratados nos próximos artigos.
Uma observação (sempre vale a pena lembrar) para o cenário atual, a migração aqui apresentada é válida para as plataformas InterSystems Caché e Ensemble, o que difere nos procedimentos é que para Ensemble possuem as etapas da Produção, e todas as dicas aqui mencionadas são baseadas na documentação oficial da InterSystems que vocês podem fazer o download no WRC.
Instalação corrente do Ensemble:
Namespace com bancos segregados:
Estrutura no SO:
- Dados:
- Rotinas:
Agora que já conhecemos o cenário atual, vamos para primeira etapa do processo de migração:
BACKUP / BACKUP / BACKUP / BACKUP / BACKUP / BACKUP / BACKUP / BACKUP / BACKUP
E realizar o procedimento em:
AMBIENTE DE TESTE / AMBIENTE DE TESTE / AMBIENTE DE TESTE / AMBIENTE DE TESTE
Pronto backup realizado, vamos para a etapa seguinte:
- Vamos desligar a produção:
Uma dica importante: caso você possua mais de uma produção, lembre-se que você pode para todas as produções via terminal:
- Agora vamos parar o Ensemble ou Caché com segurança:
Lembre-se de passar o nome da instância, e no nosso exemplo a instância se chama:
PRODENSEMBLE
- Importante verificar o ccconsole.log se não ocorreu nenhum problema durante o shutdown:
Antes de continuar os próximos passos, vamos aqui para algumas dicas, mediante questionamentos que já obtivemos de alguns clientes.
Um dos principais questionamentos:
“Preciso mesmo fazer uma parada total do ambiente para copiar os dados para o novo servidor? Não possa executar o utilitário de backup do InterSystems Caché e ou Ensemble?”
Tenho duas respostas para esse questionamento:
-
- Neste caso depende de como sua aplicação está escrita, pois não se faz necessário para o ambiente todo, e sim o banco que será copiado, ou seja, o banco que será copiado precisa estar desmontado.
- Não é possível utilizar o procedimento de backup no InterSystems Caché e ou Ensemble e restaurar no InterSystems IRIS, se faz a necessidade uma cópia fria do banco.
Neste caso vamos exemplificar o banco desmontado:
- Agora que executamos a parada total do ambiente ou o banco está desmontado, se faz necessário copiar o CACHE.dat para o novo servidor.
Novo ambiente:
Temos como premissa que a nova instância do InterSystems IRIS já se encontra instalado na nova máquina.
Caso tenha alguma dúvida no procedimento de instalação do IRIS, você pode consultar nossa documentação no seguinte link:
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCI
Vamos confirmar alguns dados do novo ambiente:
Sistema operacional:
Instalação do IRIS:
Aqui você pode perceber algumas diferenças:
Nome da nova instância: PRODIRIS
Diretório de instalação: /opt/iris
Portas defaults (Webserver): (SuperServer port = 1972, WebServer = 52773)
Vamos verificar a instalação da nova instância agora:
É possível observar que só existem os namespaces defaults da instalação.
Para banco de dados a mesma situação, somente os bancos defaults da nova instalação.
Agora que já verificamos que o ambiente o novo ambiente está operacional, vamos para as etapas de trazer os dados e as aplicações do ambiente anterior:
- Como primeira etapa da migração dos dados, precisamos relembrar uma dica da primeira parte do artigo: verificar a tabela de Endiannes. Se ainda possui alguma dúvida passa lá na primeira parte do artigo:
https://pt.community.intersystems.com/post/migrando-para-o-intersystems-iris-parte-1
- Agora precisamos renomear o nome dos bancos, com é citado no guia: InterSystems IRIS Adoption Guide, existe um capítulo com o nome: Different Names. Onde é possível ver com detalhes as diferenças de nomes do ambiente InterSystems Caché e ou Ensemble para o Intersystems IRIS, com exemplo:
- Vamos verificar a estrutura dos arquivos pós a cópia:
Agora com os nomes renomeados:
- Com os nomes renomeados vamos criar o banco de dados dentro do Portal:
Quando selecionado o caminho com o banco de dados copiado, o IRIS identificará que o banco já existe.
Com os bancos de dados criados, agora é possível criar o namespace apontando para os bancos:
Com os bancos criados e namespace criados, antes de ir para o próximo passo, fica como dica verificar a integridade do banco de dados.
Após a execução verifique o Log de integridade:
- Nesta etapa para o cenário que existam páginas CSP, elas precisam ser copiadas também para a nova estrutura e criar o aplicativo no portal:
- Com tudo copiado, vamos compilar as Rotinas, Classes e CSP, mesmo procedimento executado na sessão deste artigo:
https://pt.community.intersystems.com/node/511436
- Com tudo compilado, podemos verificar os dados via SQL ou Globais
- Agora é testar a aplicação e a produção:
Obrigado por acompanhar este artigo e até a próxima parte que o tema será:
Migrando uma instância com Mirror/Shadow de Caché/Ensemble para IRIS