Responder a este comentário
Informações basicas para montar qualquer configuração de HA (High Availability / Alta Disponibilidade)
Para utilização de recursos de alta disponibilidade, deve-se primeiramente ter em mente quais os termos utilizados para não haver confusões.
HA - High Avaibility
Defini-se como capacidade de disponibilidade dos componentes do sistema, ou seja, em caso de pane, eles são disponibilizados rapidamente. Portanto HA pode ser um conjunto de CA+FO ou apenas um deles.
No caso do Informix se encaixa neste perfil (HA+FO) em todos seus modos de trabalhos : HDR, SDS, RSS e CLR
CA - Continuos Avaibility
Defini-se como capacidade de disponibilidade continua dos componentes do sistema.
Imaginando uma situação, seria no caso de um servidor falhar e todas as sessões e transações que estavam ativas naquele servidor continuariam ativas em outro servidor e para a aplicação não haveria implicação alguma ou efeito.
No Informix isto atualmente (versão 11.50 xC4) ainda não ocorre, para o servidor que falhou as transações e conexões são perdidas, porém com o Connection Manager na próxima conexão o usuário é redirecionado automaticamente para um dos servidores secundários, caracterizando assim um HA e não CA.
FO - Fail Over
Defini-se como a capacidade de recuperação automatica de um componente.
Caracterizado no Informix com recursos de HDR, SDS, RSS e espelhamento de disco (mirror).
Visão técnica
Serv1 = servidor/banco primário
Serv2 = servidor/banco secundário
HDR - High Availibility Data Replication
- Sincrono ou Assincrono
- Trabalha com protocolo Half-duplex
- Precisa de Baixa latencia de rede (rede com boa performance).
- Trafega todos os dados logados
- Necessita storage próprio (duplicando assim o espaço utilizado pelo banco de dados do sistema)
- Pode ser convertido para servidor RSS secundário ou servidor primário
- Não pode existir 2 servidores HDRs na mesma configuração
SDS - Shared Disk Server
- Assincrono
- Trabalha com protocolo Multiplexado - SERVER MULTIPLEXER - SMX
- Não necessita de Baixa lantência de rede pois trafega apenas os LSN (Log sequence number) e dados dos servidores secundários para o primário
- Utiliza protocolo - SERVER MULTIPLEXER - SMX.
- Compartilha disco com servidor primário
- Controla via software o acesso ao disco com os outros servidores SDS
- Os servidores secundários SDS possuem acesso apenas de leitura ao disco do banco de dados.
- Pode ser convertido para servidor primário.
- Pode existir inúmeros servidores secundários SDS na mesma configuração.
RSS - Remote Secondary Server
- Assincrono
- Trabalha com protocolo Multiplexado - SERVER MULTIPLEXER - SMX
- Trafega todos os dados logados porém não necessita de Baixa lantência de rede pois utiliza protocolo SMX.
- Necessita storage próprio (duplicando assim o espaço utilizado pelo banco de dados do sistema)
- Pode ser convertido para servidor HDR secundário
CLR - Continuous Log Restore
- Assincrono
- Não depende de conectividade de rede
- O banco fica em eterno Fast Recovery e conforme os backups de log são gerados no servidor primário, estes são transferidos manualmente ao servidor backup e restaurado.
- Necessita storage próprio (duplicando assim o espaço utilizado pelo banco de dados do sistema)
Conectividade
Ver exemplo de esql/c pagina 45 , RedBook "IDS 11 Extending Availability and Replication"
- INFORMIXSEVER = instancia ou grupo
- DBPATH = lista de servidores secundários. ex.: //sds1://sds2://rss
- Conection Manager
Conexao Encriptada
- Para encriptar uma conexão entre servidores RSS,SDS,HDR, definir os parametros:
ENCRYPT_CYPHERS , ENCRYPT_MAC, ENCRYPT_MACFILE E ENCRYPT_SWITH.
Obs.: Estes parametros sao compartilhados entre HDR , ER e SMX - Pode-se utilizar conexões através de SSL definindo no NETTYPE a opção onsocssl .
- Para conexões HDR e ER , pode-se definir no SQLHOSTS o 5o campo como s=6 , que limita a porta em questão a aceitar conexões de HDR e ER apenas.
Quando esta opção é ativa , um novo recurso de autenticação é utilizado, o arquivo $INFORMIXDIR/etc/hosts.equiv . Este arquivo tem a mesma sintaxe da versão unix, porém tem que ter owner/group como informix e apenas ele com permissão. Assim não é mais necessário alterar o arquivo hosts.equiv do S.O.
Threads
- HDR
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
dr_prping : Testa/monitora conexão com Serv2
dr_secping : Testa/monitora conexão com Serv1 - SDS
ProxySync :
ProxyDispatch: - RSS
RSS_Recv : Recebe dados do Serv1
RSS_apply: Aplica dados em um recovery buffer - Todos (estas threads são comum nos 3 modos)
smxrcv : Faz a comunicação SMX entre os servidores, recebendo dados
smxsnd : Faz a comunicação SMX entre os servidores, enviando dados
logrecvr : Executa o logical recovery dos dados do recovery buffer
logrecover :
bld_logrecs :
logredo :
Alternativa ao ontape
Para ativar um servidor secundário (HDR, RSS) é necessário restaurar um backup no Serv2.
Com alternativa pode-se realizar copia dos chunks e inicializar Serv2 com
oninit -r ou oninit -PHY (ambos não documentados)
Mudando tipos de HA
- DEFININDO PELA PRIMEIRA VEZ UM SDS PRIMARIO
No Serv1 :onmode -d set SDS primary <serv_primary> - ALTERANDO UM SDS SECUNDARIO PARA PRIMARIO
No Serv2 :onmode -d make primary <new_serv_primary>
Obs.: Válido apenas para SDS - HDR -> RSS
No HDR Serv2 :onmode -d RSS <serv_primario>
Obs.: Altamente recomendado colocar o servidor primario em modo "standard" antes. - RSS -> HDR
No RSS Serv2 :onmode -d secondary <serv_primario>
Obs.: Altamente recomendado colocar o servidor primario em modo "standard" antes e depois de definir o secundário, definir o primário com o comandoonmode -d primary <serv_secundario> - HDR Primario <-> HDR Secundário
Utilizar as shells hdrmkpri.sh e hdrmksec.sh
Monitracao do protocolo SMX
onstat -g smx onstat -g smx ses sysmaste:syssmx
- 389 leituras




