Replicação, failover e failback

O Netcool/Impact usa o Apache Derby para replicar dados e configuração das ferramentas de relatório do MWM e Netcool/Impact.

Replicação e failover

A replicação e o failover ocorrem automaticamente quando você usa um cluster do Netcool/Impact com dois servidores. A definição dos servidores participantes é definida na origem de dados ImpactDB. A replicação é controlada pelo serviço de banco de dados do Impact que é iniciado e interrompido automaticamente. Quando o servidor principal não está disponível, o servidor secundário detecta isso e se torna o servidor principal. Mais tarde, quando o servidor principal anterior se tornar novamente on-line, ele se torna o servidor secundário.

Replicação e failback

A replicação e o failback são semelhantes, mas requerem uma propriedade no arquivo $IMPACT_HOME/etc/<ServerName>_server.props em seus Servidor do Impact primários preferenciais; a propriedade deve ser configurada como true:
 impact.server.preferredprimary=true
O cluster do Netcool/Impact sempre tenta tornar o servidor preferencial o servidor principal do cluster. Quando o servidor preferencial não está disponível, o servidor secundário detecta isso e se torna o servidor principal. Mais tarde, quando o servidor preferencial volta a ficar on-line, ele assume novamente o controle como servidor principal.

Como replicar um cluster que usa três ou mais Impact Servers

Para assegurar que o servidor preferencial sempre seja o servidor principal quando ele estiver disponível, a melhor prática será configurar impact.server.preferredprimary=true no $IMPACT_HOME/etc/<ServerName>_server.props no servidor preferencial primário. Uma reinicialização do servidor é necessária.

Para assegurar que o servidor preferencial secundário sempre seja o servidor primário quando o servidor preferencial primário não estiver disponível, a melhor prática será configurar impact.server.secondary.preferredprimary=true no $IMPACT_HOME/etc/<ServerName>_server.props no servidor preferencial secundário. Uma reinicialização do servidor é necessária.

É necessário configurar a propriedade impact.server.secondary.preferredprimary como true no servidor secundário que contém o ImpactDB. Se um servidor que não for o ImpactDB tiver impact.server.secondary.preferredprimary configurado como true e um servidor ImpactDB for inicializado, o servidor com o ImpactDB obterá prioridade para se tornar o servidor principal atuante.

Se você estiver executando três ou mais Impact Servers em um cluster do Netcool/Impact, inicie o Impact Servers na sequência a seguir para replicar o cluster.

Inicie o servidor principal primeiro; em seguida, o servidor secundário, seguido pelos próximos e subsequentes Impact Servers no cluster. É possível também iniciar o servidor secundário primeiro e depois o principal. Os servidores principal e secundário que estão definidos na origem de dados ImpactDB devem sempre ser os dois primeiros Impact Servers a iniciar.

O Apache Derby suporta somente um par de bancos de dados Derby para replicação.

Executando dois servidores de impacto instalados no mesmo host

É possível executar dois servidores Impact instalados no mesmo host incluindo a propriedade impact.server.derby.forcebackup no arquivo $IMPACT_HOME/etc/<ServerName>_server.props.

Configurar esta propriedade para true força esta instância do servidor a ser o backup do banco de dados Derby. O padrão para esta propriedade é false.

Erro fatal de replicação nos arquivos de log

Na implementação do cluster do Netcool/Impact com três servidores, talvez você veja a mensagem a seguir nos arquivos de log:
DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE05, SQLERRMC: 
Os arquivos de log no mestre e escravo não estão sincronizados para o banco de dados replicado
'ImpactDB'. O instantâneo do log mestre é 1:899343, enquanto o instantâneo do log escravo
é 1:671791. Isso é FATAL para a replicação - a replicação será interrompida.
Essa mensagem de erro é esperada durante a fase de reinicialização de failover ou failback do Servidor do Impact. O sistema recupera-se depois que essa fase de reinicialização é concluída.

Se você vir esse erro em um cluster do Netcool/Impact com dois servidores, significa que o serviço ImpactDatabase secundário falhou ao ser iniciado e deve ser reiniciado manualmente.

Conexão esperada recusou erro nos arquivos de log

Ao iniciar o servidor secundário, você pode ver a seguinte mensagem SQL do Derby nos arquivos de log:
Conexão recusada porque o banco de dados está no modo escravo de replicação. 
java.sql.SQLException: ERROR XRE08: DERBY SQL error: SQLCODE: -1, 
SQLSTATE: XRE08, SQLERRMC: 
O modo escravo de replicação foi iniciado com êxito para o banco de dados 'replicationdb'. 
Conexão recusada porque o banco de dados está no modo escravo de replicação.

Essa mensagem de erro é esperada e é a confirmação de que o servidor secundário está agora no modo escravo de replicação.