Exemplo de topologia e recuperação de falhas
O diagrama a seguir mostra uma amostra de topologia com três grupos de gravação múltipla, cada um contendo três DSAs de gravação múltipla. Todos os DSAs terão o mesmo prefixo.
cad140br
Amostra de topologia
O diagrama a seguir mostra uma amostra de topologia com três grupos de gravação múltipla, cada um contendo três DSAs de gravação múltipla. Todos os DSAs terão o mesmo prefixo.
Cada grupo tem um hub de gravação múltipla configurado (em vermelho). Um exemplo de write-precedence para cada DSA roteador está incluído.

Recuperação de falhas
Enquanto a recuperação do DISP de gravação múltipla garante que os dados permaneçam consistentes em todos os pares de replicação durante interrupções, às vezes, um DSA deve ser recriado. O DSA deverá ser recriado se houver uma falha de hardware ou de disco, ou se houver corrompimento do banco de dados. Nesses casos, um procedimento de recuperação de falhas garante que todos os DSAs estão ativos e em execução com dados consistentes. Essas situações normalmente surgem quando o DSA precisa ser recriado a partir de um backup ou quando o DSA não é iniciado devido a erros relacionados à grade. A inclusão de novos grupos de gravação múltipla ou DSAs pode seguir um processo semelhante ao de sincronização de dados entre pares. Considere seguir um procedimento de recuperação de falhas após uma interrupção prolongada. Usar um procedimento de recuperação é mais eficiente do que deixar para o DISP de gravação múltipla a tarefa de reconciliar alterações de grande porte.
Como ocorre com qualquer procedimento de recuperação de falhas, use-o primeiro em um ambiente de teste para que as etapas específicas da implantação possam ser documentadas.
Ao usar hubs do grupo de gravação múltipla, existem dois cenários de recuperação de falhas. As etapas a seguir garantem que os DSAs ainda estarão ativos durante a recuperação.
As etapas de recuperação usam a amostra de topologia como referência e podem ser personalizadas para uma implantação específica.
Recuperação do par do grupo de gravação múltipla
Um DSA em um grupo de gravação múltipla precisa de ressincronização para que fique alinhado ao hub de gravação múltipla que atende o grupo.
Cenário de falhas:
O DSA US2 falhou ao iniciar, com um erro relacionado à grade, depois que o computador em que ele estava sendo executado parou devido a uma pane do kernel.
Etapa 1
: certifique-se de que o DSA sendo recuperado esteja no estado interrompido.- dxserver stop US2
Etapa 2
: defina US2 com uma hora (agora) antes de tirar o instantâneo de dados (despejo online) de US1. Essa etapa garante que os DSAs que estão replicando para US2 enviarão apenas atualizações de recuperação da hora em que o instantâneo de dados foi tirado.- Host F: execute dxdisp US2 (este comando define a hora em que US2 foi atualizado pela última vez por US3)
- Host D: execute dxdisp US2 (este comando define a hora em que US2 foi atualizado pela última vez por US1)
Etapa 3
: quando for viável, faça um despejo online do DSA do hub (US1). Quanto antes o instantâneo for gerado após a execução do comando dxdisp, menor será o número de atualizações a serem reaplicadas a US2 durante a recuperação. Dessa forma, a recuperação é mais eficiente.- Host D: usando Telnet, faça conexão com o console do DSA de US1 (hub) e execute o comando dump dxgrid-db; para iniciar o despejo online. Use o comando logout; e, em seguida, saia do console do DSA.
- Host D: verifique o warn-log de US1 para ver quando o despejo foi iniciado e, mais importante, quando foi concluído.
- Host D: assim que o despejo estiver concluído, um arquivo denominado $DXHOME/data/US1.zdb será criado. Copie esse arquivo no Host E. Por exemplo, copie em Host E: /tmp/US1.zdb.
Observação
compacte os arquivos antes de copiá-los entre computadores, já que a maioria dos arquivos de grade têm boa compactação. Verifique se a marca de data e hora é recente para garantir que o comando de backup online criou o arquivo que está sendo copiado.Etapa 4
: impeça que US2 reproduza as atualizações no hub e nos pares.- Host E: dxdisp US1
- Host E: dxdisp US3
Etapa 5
: agora que um instantâneo do hub foi tirado, essa informação pode ser copiada.- Host E: remova o log antigo da transação (se ativado) - remove $DXHOME/data/US2.tx
- Host E: copie (e descompacte) o arquivo de grade de backup que foi gerado na Etapa 3, por exemplo, copie /tmp/US1.zdb $DXHOME/data/US2.db
- Host E: dxserver start US2
- Host E: após um curto período, US2 estará novamente sincronizado com US1. O andamento da recuperação do DISP de gravação múltipla pode ser acompanhado no alarm-log de US2.
Observação
US2 não permite inculações de roteadores ou aplicativos até que a recuperação esteja concluída. O tempo de recuperação pode ser maior se houver um grande volume de atualizações ocorrendo em paralelo.Recuperação do hub do grupo de gravação múltipla
Quando o DSA do hub de um grupo de gravação múltipla precisa de ressincronização, o cenário é um pouco mais complicado. Nesse caso, os DSAs atendidos pelo hub também precisam de sincronização, por causa da forma como as atualizações fluem nesse estilo de topologia de rede. Quando um hub é sincronizado, todos os DSAs do grupo que é atendido pelo hub precisam de sincronização.
Cenário de falhas
: o DSA US1 falhou ao iniciar, com um erro relacionado à grade, depois que o computador em que ele está sendo executado para devido a uma pane do kernel.Etapa 1
: certifique-se de que o grupo de DSAs sendo recuperado esteja no estado interrompido.- dxserver stop US1
- dxserver stop US2
- dxserver stop US3
Etapa 2
: defina US1 com uma hora (agora) em cada hub antes de tirar o instantâneo de dados (despejo online) de um dos outros hubs. Essa etapa garante que os DSAs que estão replicando para US1 enviarão apenas atualizações de recuperação da hora em que o instantâneo de dados foi tirado.- Certifique-se de que a replicação entre AU3 e UK1 tenha o statusOK. Esse status pode ser verificado por meio da emissão do comando get dsp; no console do AU3. Essa etapa garante que, ao tirar um instantâneo de UK1, os dados contenham as atualizações de AU3. Após a execução de dxdisp, AU3 será responsável por recuperar essas atualizações diretamente.
- Host C: execute dxdisp US1 (este comando define a hora em que US1 foi atualizado pela última vez pelo *hub* AU3).
- Host G: execute dxdisp US1 (este comando define a hora em que US1 foi atualizado pela última vez pelo *hub* UK1).
Etapa 3
: quando for viável, faça um despejo online do hub (UK1).- Host G: usando Telnet, faça conexão com o console do DSA de UK1 (hub) e execute o comando dump dxgrid-db; para iniciar o despejo online. Use o comando logout; e, em seguida, saia do console do DSA.
- Host G: verifique o warn-log de UK1 para ver quando o despejo foi iniciado e, mais importante, quando foi concluído.
- Host G: assim que o despejo estiver concluído, um arquivo denominado $DXHOME/data/UK1.zdb será criado.
- Host G: copie esse arquivo no Host D. Por exemplo, copie em Host D: /tmp/UK1.zdb.
- Host G: copie esse arquivo no Host E. Por exemplo, copie em Host E: /tmp/UK1.zdb.
- Host G: copie esse arquivo no Host F. Por exemplo, copie em Host F: /tmp/UK1.zdb.
Observação
compacte os arquivos antes de copiá-los entre computadores, já que a maioria dos arquivos de grade têm boa compactação. Verifique se a marca de data e hora é recente para garantir que o comando de backup online criou o arquivo que está sendo copiado.Etapa 4
: impeça que US1 reproduza as atualizações nos hubs. Impeça também que US2 e US3 reproduzam as atualizações no hub US1.- Host D: dxdisp AU3
- Host D: dxdisp UK1
- Host D: dxdisp US2
- Host D: dxdisp US3
- Host E: dxdisp US1
- Host E: dxdisp US3
- Host F: dxdisp US1
- Host F: dxdisp US2
Etapa 5
: designe o instantâneo de UK1 a cada DSA do grupo de gravação múltipla Estados Unidos.- Host D: remova o log antigo da transação (se ativado) - remove $DXHOME/data/US1.tx
- Host D: copie (e descompacte) o arquivo de grade backup que foi gerado na Etapa 3. Por exemplo, copie /tmp/UK1.zdb $DXHOME/data/US1.db.
- Host D: dxserver start US1
- Host E: remova o log antigo da transação (se ativado) - remove $DXHOME/data/US2.tx
- Host E: copie (e descompacte) o arquivo de grade backup que foi gerado na Etapa 3. Por exemplo, copie /tmp/UK1.zdb $DXHOME/data/US2.db.
- Host E: dxserver start US2
- Host F: remova o log antigo da transação (se ativado) - remove $DXHOME/data/US3.tx
- Host F: copie (e descompacte) o arquivo de grade backup que foi gerado na Etapa 3. Por exemplo, copie /tmp/UK1.zdb $DXHOME/data/US3.db.
- Host F: dxserver start US3
- Host D: após um período, US1 estará novamente sincronizado com AU3 e UK1. O andamento da recuperação do DISP de gravação múltipla pode ser acompanhado no alarm-log de US1. A ressincronização de US1 também inclui US2 e US3. O processo de recuperação pode ser monitorado por meio do comandoget dsp;nos consoles de AU3, UK1, US1, US2 e US3 para garantir que a replicação esteja funcionando como esperado.
Observação
: US1, US2 e US3 não permitem vinculações de roteadores ou aplicativos até que a recuperação esteja concluída. O tempo de recuperação pode ser maior se houver um grande volume de atualizações ocorrendo em paralelo.Observações
- No Windows, o caminho para os arquivo de grade é %DXHOME%\data
- Não copie nem modifique os arquivos .dp, eles nunca devem ser copiados ou modificados.
- No UNIX, execute estas etapas como usuário DSA, ou seja, o dsa.
- Não copie o arquivo de grade antes que o despejo esteja concluído. Isso pode corromper os dados ou interferir na conclusão do processo. Caso isso corra, repita o processo.
- Verifique a marca de data e hora do arquivo .zdb para assegurar que ele foi gravado recentemente e que um backup mais antigo não seja usado acidentalmente.