+ Responder ao Tópico



  1. #1

    Padrão Alta Disponibilidade Em sites Distintos

    Ola a Todos.. sou novo por aqui e andei pesquisando sobre alta disponibilidade mas não encontrei o que precisava, então resolvi postar aqui.

    Minha situação é a seguinte :
    - Tenho dois servidores em um data center (que está me causando um pouco de dor de cabeça, mas que por motivos contratuais, teremos que aguenta-los mais um tempo) e este pelo menos uma vez a cada 15 dias tem apresentado problemas de conectivadade (pois o link secundario deles é internacional, e quando há um problema no principal, o numero de saltos até conseguirmos chegar a ele é absurdo).

    Pensei na seguinte solução : Contratarmos outro data center paralelamente (Ficariamos com dois) com uma menor capacidade de banda , processamento, etc, e quando houvesse algum problema no data center principal, este segundo assumisse.

    Notei que a grande maioria, se não todos, os artigos que pesquisei trata de alta disponibilidade dentro de um mesmo site (espaço fisico), o que permite a troca do IP do slave para o IP do master pelo HeartBeat, mas no caso de sites distintos não tenho como fazer isso. Creio que deverá ser alguma resolução via DNS, mas não tenho idéia de como fazer.


    Agradeço a atenção.

    Thiago Risso
    Analista de TI.

  2. #2

    Padrão

    thiagorisso,

    Eu paritcularmente nunca fiz tal procedimento, mas se eu fosse fazer tal coisa eu configuraria o segundo servidor igual ao primeiro no DNS configuraria 2 MX record, um para cada servidor e configuraria o dominio para apontar para os 2 IP, assim quando o primeiro caisse ele iria automaticamente para o segundo.

    Agora vem os problemas, como não poderia deixar de faltar, o problema maior de servidor em paralelo é a sincronização dos dados, ou sejam quando você estiver rodando com somente o servidor de backup e for enviado algum arquivo via FTP ou qualquer outro meio, você vai precisar sincronizar esse modificação quando o servidor principal voltar e o contrário precisa acontecer também, senão você terá um servidor de backup defasado com relação ao principal.. Como nunca configurei tal coisa, nunca fui atrás de uma solução para esse problema.

    OBS: servidor de backup que eu mecionei NÃO deve ser entendido como um servidor que vai guardar arquivos de backup, ele é um servidor de segurança que vai funcionar no caso do principal cair.

  3. #3

    Padrão

    Olá rmaximo,

    Obrigado pela atenção, mas surgiram algumas duvidas :

    - O DRDB não faria a parte do sincronismo ? Ou mesmo rsync ?
    - Quanto a questão do DNS .. ?? Hoje uso a estrutura que o Data Center oforece. Mas para funcionar assim, deveria ter um servidor DNS em cada localidade (Primario e Secundario) e ambos apontando o dominio para os dois data center's ?
    - Não haverá problema quanto ao cache de DNS nos clientes?

    Atenciosamente,
    Thiago Risso

  4. #4

    Padrão

    Bem, como disse, a parte do sincronismo eu nunca fui atrás, mas o rsync pode servir sim, depende mais do tempo que você vai querer que ele sincronize, ou seja, o rsync pode funcionar bem se você mandar ele sincronizar 2 ou 3 vezes por dia, mas se você precisar de algo quase imediato eu não acredito que ele seja uma boa solução, quando ao DRDB eu nunca pesquisei sobre ele, sei que existe uma outra solução, porém não me lembro o nome, espero que alguém no forum possa nos ajudar nesse tipo de solução.

    Quanto ao DNS, eu que eu sugerir foi o seguinte, se você colocar o comando "host google.com" você terá uma resposta do tipo:
    # host google.com
    google.com has address 64.233.187.99
    google.com has address 72.14.207.99
    google.com has address 64.233.167.99

    Ou seja um host só tem mais de um IP, você configurando dessa forma você não terá problemas de cache de IP, pois o cliente ao tentar conectar por um IP, se ele não conseguir ele tenta por outro.

    Vale lembrar mais uma vez que nunca testei nenhuma das soluções que estou postando aqui, estou somente tentando lhe dar uma idéia por onde eu começaria caso eu fosse fazer algo desse tipo.

  5. #5

    Padrão

    Olá rmaximo,

    Blz .... Entendi...

    Mas dessa forma um deles será SLAVE ?

    Ou as solicitações serão aleatórias entre eles ?

    [risso@rhadar libexec]$ host google.com
    google.com has address 64.233.167.99
    google.com has address 64.233.187.99
    google.com has address 72.14.207.99

    Quando pinguei :
    [risso@rhadar libexec]$ ping google.com
    PING google.com (64.233.167.99) 56(84) bytes of data.

    [risso@rhadar libexec]$ ping google.com
    PING google.com (64.233.187.99) 56(84) bytes of data.

    Porque eu terei links diferentes tipo 2MBps em um data center e 512Kbps em outro .... entao, se ficar alternando não será um bom negócio... pois hora estará utilizando um link de 2Mbps e hora estará utilizando um link de 512Kbps.

    Quanto a parte de sincronismo eu me viro... Isso é mais tranquilo !

    Obrigado pela Atenção

    Att:
    Thiago Risso

  6. #6

    Padrão

    Bem, nesse caso teria que procurar na documentação do BIND para ver se tem como deixar como sendo tipo MASTER e SLAVE, a principio eu não saberia fazer, mas espero que alguém possa nos ajudar nesse pequeno detalhe.

    Espero ter ajudado.

  7. #7

    Padrão

    Obrigado Max,
    É isso mesmo que vou fazer...
    Sua ajuda foi de grande valia, agora é só evoluir a idéia !

    Obrigado

    Thiago Risso

  8. #8

    Padrão alta disponibilidade

    desculpe thiagorisso, mas isso que voce esta fazendo com seus servidores, nao eh alta disponibilidade, e sim apenas um balanceamento de carga, ou seja, nao passa de um round robin, uma conexao aki , outra conexao ali, caso um destes dois servidores caia, voce tera indisponibilidade de seu servico...

  9. #9

    Padrão HA

    Boas !!!
    Na real, o que eu pretendo fazer é alta disponibilidade sim .... não balanceamento ...

    Tenho dois HOSTS, um em cada localidade, onde, apenas um deles irá responder as solicitações, mas quando esta "cair" ,o outro HOST (que estará em local distinto) assumirá.

    Teoricamente, seria como a zona MX do DNS (Onde da pra definir a prioridade do servidor), na não estou conseguindo fazer isso para zonas e CNAME ou A ...


    Abçs,

    Thiago Risso

  10. #10

    Padrão

    recomendo fazer assim:

    veja se o drdb te 'agrada' ... ai voce mantem sincronia entre as 2 maquinas... feito isso.. existe o problema de DNS.. que voce pode resolver assim:

    no painel de controle do seu dominio vc cadastra o dns master sendo este servidor seu do datacenter.. e o dns slave voce coloca o servidor com link secundario...

    quando o master falhar.. logicamente o dns sera resolvido pelo slave...
    ja no slave voce tera os arquivos sincronizados... nao ficaria sem acesso..

    sobre o post do amigo ali em cima falando o 'host google.com' isto se chama LOAD BALANCE !! sao varios servidores respondendo ... o named (bind) faz um round robin na resolução de nomes.. assim cada acesso eh direcionado para um servidor diferente...