Alta disponibilidade em ambiente GNU/Linux

  • 2,270 views
Uploaded on

Apresentação sobre alta disponibilidade em ambiente GNU/Linux

Apresentação sobre alta disponibilidade em ambiente GNU/Linux

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,270
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
0
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Reboots, upgrades de disco, memória, processador, versões de software

Transcript

  • 1. Alta disponibilidade
    mneto@argo.net.br
    Twitter: bicatu
    http://www.bicatu.com.br
  • 2. Alta disponibilidade
    No ambienteatualtemosumadependência de recursoscomputacionaisparaquasetodas as atividades.
    Somando-se a isso o alcance global e tráfegovariávelchegamosnumaequaçãoondedisponibilidade (e escalabilidade) sãofatoresfundamentais.
  • 3. Alta disponibilidade
    Alta disponibilidade != Escalabilidade
    Apesar de andaremfrequentemente juntas as soluçõesparaaltadisponibilidadepossuemobjetivose estratégiasdiferentes
  • 4. Alta disponibilidade
    Alta disponibilidade = capacidade de estardisponívelporgrandesperíodos de tempo
    Escalabilidade = capacidade de oferecerserviços com qualidadeaceitávelmesmo com o crescimento do uso
  • 5. Alta disponibilidade
    As paralisações do serviço (outages) podem ser divididasemduascategorias:
    Nãoplanejadas (falhas)
    São resultado de falhasaleatórias (imprevisíveis) dos sistemasassociadas a componentes de hardware ou software
  • 6. Alta disponibilidade
    b) Planejadas (manutenções)
    Associadas a paralizações agendas para a atualização de hardware ou software.
    Costumamoferecermenorimpactoaonegócio
  • 7. Alta disponibilidade
    Qual o impacto de umaparalisação?
    Ex. Um servidordemora 5 minutosparareiniciar (reboot)
    Se ele é responsávelporatender a 100 requisiçõesporsegundoissosignifica
    5 x 60 x 100 = 30.000 requisiçõesnãoatendidas!
  • 8. Alta disponibilidade
    Atingir 100% de disponibilidadenão é possível e pode ser proibitivamentecaro.
    O comum é definir um nível de disponibilidadeaceitável
  • 9. Alta disponibilidade
    Classes de disponibilidade
    Dowtimeno ano (minutos) = (1 – razão de uptime) x 365 x 24 x 60
  • 10. Alta disponibilidade
    Disponibilidade (%) Downtime no ano
    99 3.65 dias
    99.9 8.76 horas
    99.99 52.6 minutos
    99.999 5.26 minutos
    99.9999 30 segundos
  • 11. Alta disponibilidade
    Alta disponibilidade é comumenteassociada a sistemastolerantes a falhas.
    Nesses sistemas a falha de um componentenãoafeta a operaçãopois é compensadaporoutro de maneiratransparente e (normalmente) automática
  • 12. Alta disponibilidade
    As soluçõesusuaisparaobtersistemastolerantesenvolvemsoluçõesproprietárias de hardware (e software) taiscomo:
    cpusredundantes
    subsistemas de memória
    disco,
    fornecimento de energia
    refrigeração
  • 13. Alta disponibilidade
    Soluçõesparasistemastolerantes a falhascostumamtercustoelevado e normalmentesãoproprietárias
  • 14. Alta disponibilidade
    O quefazer?
    É possívelteralternativasparaatingirmos HA em um ambienteaberto?
  • 15. Alta disponibilidade
    IPVS
    Heartbeat
    Linux HA
    DRBD
    BalanceNG
    Virtualização
    GFS
  • 16. Alta disponibilidade
    No ambiente Linux existe um projeto (Linux HA) que desde 1999 oferece soluções para prover níveis de alta disponibilidade open source.
    Para atingir a alta disponibilidade teremos que usar vários componentes, de acordo com o nível de disponibilidade desejada.
  • 17. Alta disponibilidade
  • 18. Alta disponibilidade
    Solução 1 : rsyncperiódico
  • 19. Alta disponibilidade
  • 20. Alta disponibilidade
    Prós: simples.
    Funciona em muitos ambientes e requer pouca / nenhuma modificação do ambiente atual
    Cons: a sincronização é periódica.
    O que aconteceu entre um intervalo de sincronização e outro é perdido.
    A configuração é manual (para, por exemplo trocar o IP e reiniciar os serviços)
  • 21. Alta disponibilidade
    Solução 2: drbd + heartbeat
  • 22. Alta disponibilidade
  • 23. Alta disponibilidade
    Prós: atua de maneira automática e síncrona
    Provê um meio síncrono de replicar + migrar os dados serviços de forma automática
    Cons: alterações na configuração
    Requer uma configuração mais específica e possui um overhead maior de rede
  • 24. Alta disponibilidade
    Anatomiadasolução
  • 25. Alta disponibilidade
    Um servidor (primário) com duas interfaces de rede
    Um servidor (secondário) com duas interfaces de rede
  • 26. Alta disponibilidade
    A interface interna é usada para sincronização dos dados com uma faixa interna de Ips
    A interface externa de cada um possui um IP público.
    O servidor primário fica com os recursos (serviços) ativos
  • 27. Alta disponibilidade
    Software necessário:
    SO Linux
    Heartbeat (para detectar status e notificar mudanças)
    DRBD (sincronização física)
  • 28. Alta disponibilidade
    Etapa 1 : Configuração básica
    IP A / IPi A
    172.16.117.162 / 192.168.0.2
    IP B / IPi B
    172.16.117.163 / 192.168.0.3
    IP C Serviço
    172.16.117.160
    Apache instalado nos dois (mas desligado)
  • 29. Alta disponibilidade
    Etapa 2: Criar os devicesdrbd
    Emcada um dos servidorester o /etc/drbd.confconformeabaixo:
    resource apache
    {
    protocol C;
    startup { wfc-timeout 0; degr-wfc-timeout 120; }
    disk { on-io-errordetach; }
    net { cram-hmac-alg "sha1"; shared-secret “senha"; }
    syncer { rate 10M; }
  • 30. Alta disponibilidade
    onnode0 {
    device /dev/drbd0;
    disk /dev/sdb;
    address 192.168.0.2:7788;
    meta-disk internal;
    }
  • 31. Alta disponibilidade
    onnode1 {
    device /dev/drbd0;
    disk /dev/sdb;
    address 192.168.0.3:7788;
    meta-disk internal;
    }
    }
  • 32. Alta disponibilidade
    Emcada um dos servidores
    #drbdadm create-md apache
    O apache é o nome do resource especificado no drbd.conf
  • 33. Alta disponibilidade
    Eleirásolicitarautorização e inicializará o processo
    v08 Magic number not found
    v07 Magic number not found
    About to create a new drbd meta data block on /dev/sdb.
    . ==> This might destroy existing data! <==
    Do you want to proceed? [need to type 'yes' to confirm] yes
    Creating meta data... initialising activity log NOT initialized bitmap (256 KB) New drbd meta data block sucessfully created.
  • 34. Alta disponibilidade
    Vocêdeveiniciar o serviço
    #service drbd start
    Eleiráindicarque ambos osservidoresestãoemmodosecundário
    cat /proc/drbd
    version: 8.0.4 (api:86/proto:86) SVN Revision: 2947 build bybuildsvn@c5-i386-build, 2007-07-31 19:17:18
    . 0: cs:Connectedst:Secondary/Secondaryds:Inconsistent/Inconsistent C r---
    . ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0
    . resync: used:0/31 hits:0 misses:0 starving:0 dirty:0 changed:0 act_log: used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0
  • 35. Alta disponibilidade
    Apenas no nóqueseráconsideradoprimário
    drbdadm -- --overwrite-data-of-peerprimary apache
    Eleiniciará a inicialização
    . 0: cs:SyncTargetst:Primary/Secondaryds:Inconsistent/Inconsistent C r---
    . ns:0 nr:68608 dw:68608 dr:0 al:0 bm:4 lo:0 pe:0 ua:0 ap:0
    . [>...................] sync'ed: 0.9% (8124/8191)M finish: 0:12:05 speed: 11,432 (11,432) K/secresync:
    used:0/31 hits:4283 misses:5 starving:0 dirty:0 changed:5 act_log: used:0/257 hits:0 misses:0 starving:0
    dirty:0 changed:0
  • 36. Alta disponibilidade
    Quandoeleestiverem 100% vocêpodeformatar a partiçãocomofaznormalmente
    #mkfs.ext3 /dev/drbd0
    E usarnormalmente
    #mkdir /mnt/apache
    #mount /dev/drbd0 /mnt/apache
  • 37. Alta disponibilidade
    Vocêdeve agora configurar o heartbeat parafazer o monitoramento e trocaautomática dos recursos
    No /etc/ha.d/authkeys
    auth1
    1 sha1 senha-do-heartbeat
    Onde1 é um númeroigual entre ospontos
  • 38. Alta disponibilidade
    /etc/ha.d/ha.cf
    keepalive 1
    deadtime 10
    warntime 5
    initdead 120
    udpport 694
    ping172.16.117.2
    bcast eth1
    auto_failback off
    node172.16.117.162
    node172.16.117.163
  • 39. Alta disponibilidade
    Definição do quefazerquando um nó for up ou down
    /etc/ha.d/haresources
    node0IPaddr::172.16.117.160/24 drbddisk::apache
    Filesystem::/dev/drbd0::/mnt/apache::ext3::defaults httpd
  • 40. Alta disponibilidade
    Demonstração
  • 41. Alta disponibilidade
    Obrigado
    Estaapresentaçãoestarádisponível no slideshare