Como montar um HDR e quais os pré-requisitos necessários
Passos basicos para montar um HDR
Para mais informações ver manual "Administrator Guide".
Serv1 = servidor/banco primário
Serv2 = servidor/banco secundário
- Instalar o informix e copiar todas as configurações para o servidor secundário:
ONCONFIG , SQLHOSTS e devices
- Alterar o nome do servidor secundário nos arqivos:
hosts, hosts.equiv, SQLHOSTS
- Acertar configurações do HDR no onconfig em ambos servidores
- Garantir que o block size do LTAPE e TAPE dos servidores estão iguais.
- Configurar para que ambos servidores fiquem como trusted (hosts.equiv ou .netrc ou .rhosts) ou através da opção s=6 no SQLHOSTS (para mais info pesquisar sobre hosts.equiv ou sqlhosts ou netrc )
Observação: Quando é utilizado um alias especifico para ambiente de alta disponibilidade é altamente recomendado que o INFORMIXSERVER seja definido para este alias durante a configuração do primario e secundários. - Realizar um backup nivel 0 (full) com o ontape/onbar no servidor primário OU bloquear com
onmode -c blocke fazer o backup externo - Restaurar o backup fisico no servidor secundário, o banco irá ficar em Fast Recovery por não ter os logical logs restaurados, para restaurar utilizar:
$ ontape -p
Para backup externo, após copiar dos dados do banco para seus respectivos devices, utilizar comando:
$ ontape -p -e
Observação: Pode-se fazer backup externo para copia do banco, e ao invés de subir o Serv2 com o comando ontape -p -e utilizar ooninit -R(nao documentado), retirado no Redbook "IDS11 Extending Avaibiliting and Replication".
Pode-se também fazer o backup e restore "on fly" trabalhando em conjunto com o comando rsh :
$ ontape -s -L 0 -F -t STDIO| gzip -c|rsh maq "gzip -cd| ontape -p -t STDIO"
- Testar parte de rede (telnet nas portas de ambos servidores)
- Testar se servidor primario está trusted (com dbaccess do servidor secundario)
Observação: não é possível realizar o mesmo teste do Serv1 para o Serv2 porque o Serv2 estará em fast recovery neste momento. - Iniciar HDR no servidor primario:
$ onmode -d primary <serv_secundario>
- Iniciar HDR no servidor secundario:
$ onmode -d secondary <serv_primario>
- Aguardar sincronização do logical log
- Monitorar
Configurações
- OFF_RECVRY_THREADS é utilizado pelo recovery no Serv2 do HDR
- DRLOSTFOUND é utilizado apenas em uma situação especial, onde:
- Há transações em execução no Serv1 onde o inicio da transação já foi enviada ao Serv2.
- Ocorre uma falha em um servidor primário
- O Serv2 assume como Serv1, porém a transação em aberto não é commitada pois ou ela não foi finalizada ou o commit estava no HDR Buffer e não havia sido copiado.
- As transações em abertas são canceladas (rollback) e gerados arquivos no drlostfound com as informações sobre elas. - DRIDXAUTO é utilizado quando é detectado indice corrompido no Serv2.
Se este parametro estiver ativo, o indice é automaticamente enviado ao Serv2.
Se o indice for fragmentando ele irá enviar apenas o respectivo fragmento.
A tabela é travada neste procedimeento.
Pode-se alterar esta configuração dinamicamente com o comando$ onmode -d idauto
Em caso de transferencia manual, basta utilizar o comando$ onmode -d index
Lembrando que no caso de transferência manual , o indice inteiro é enviado. - LOG_INDEX_BUILDS define se, quando um indice é criado no Serv1, pode-se enviar apenas o comando de criação ao Serv2 e este cria o indice localmente ou é enviado os dados dos indice através do logical log (gerando um grande
overhead de rede e alta utilização do logical log) .
Observação: Para utilização de RSS é obrigatório a ativação deste parâmetro. Para RSS , se ativado, o Serv1 não aguarda por um ACK do RSS , permitindo um acesso imeditado ao indice no Serv1.
A transferência dos dados do indice pelo logical log é quebrada em várias transações. - ENCRYPT_HDR liga/desliga encriptação para HDR e ER.
- UPDATABLE_SECONDARY Ativa atualização dos dados no servidor secundário , tranformando o cluster em ativo-ativo
Monitoração
$ onsta -g ath | grep dr
dr_prsend : Envia dados do log buffer para Serv2
dr_secrecv : Recebe dados do Serv1 e repassa ao dr_secapply
dr_secapply : Aplica os dados em um recovery buffer
logrecvr : Executa o logical recovery dos dados do recovery buffer
dr_prping : Testa/monitora conexão com Serv2
dr_secping : Testa/monitora conexão com Serv1$ onsta -g con | grep drdrcb_bqe : Condição ocorre quando o HDR buffer ficca vazio
drbt_sndq : Condição que controla o envio de indices do Serv1 p/ Serv2 (existe apenas no Serv1)
drbt_rcvq : Condição que controla o recebimento de indice (existe apenas no Serv2)$ onstat -g driou tabela sysmaster:sysdri$ onstat -g [wmx|lmx|amx] | grep dr
drcb_bqe : Trava para fila de HDR buffer vazio
drcb_bqf : Trava para fila de HDR buffer cheia
drbt_lock : Trava para controle de replicação dos indices
drbt_sndq : Trava para controle de envio de indices
drbt_rcvq : Trava para controle de recebimento de indices
- 590 leituras
Tags:





Comentar