Alta disponibilidade<br />mneto@argo.net.br<br />Twitter: bicatu<br />http://www.bicatu.com.br<br />
Alta disponibilidade<br />No ambienteatualtemosumadependência de recursoscomputacionaisparaquasetodas as atividades.<br />...
Alta disponibilidade<br />Alta disponibilidade != Escalabilidade<br />Apesar de andaremfrequentemente juntas as soluçõespa...
Alta disponibilidade<br />Alta disponibilidade = capacidade de estardisponívelporgrandesperíodos de tempo<br />Escalabilid...
Alta disponibilidade<br />As paralisações do serviço (outages) podem ser divididasemduascategorias:<br />Nãoplanejadas (fa...
Alta disponibilidade<br />b) Planejadas (manutenções)<br />Associadas a paralizações agendas para a atualização de hardwar...
Alta disponibilidade<br />Qual o impacto de umaparalisação?<br />Ex. Um servidordemora 5 minutosparareiniciar (reboot)<br ...
Alta disponibilidade<br />Atingir 100% de disponibilidadenão é possível e pode ser proibitivamentecaro.<br />O comum é def...
Alta disponibilidade<br />Classes de disponibilidade<br />Dowtimeno ano (minutos) = (1 – razão de uptime) x 365 x 24 x 60<...
Alta disponibilidade<br />Disponibilidade (%)             Downtime no ano<br />       99                                  ...
Alta disponibilidade<br />Alta disponibilidade é comumenteassociada a sistemastolerantes a falhas. <br />Nesses sistemas a...
Alta disponibilidade<br />As soluçõesusuaisparaobtersistemastolerantesenvolvemsoluçõesproprietárias de hardware (e softwar...
Alta disponibilidade<br />Soluçõesparasistemastolerantes a falhascostumamtercustoelevado e normalmentesãoproprietárias<br />
Alta disponibilidade<br />O quefazer?<br />É possívelteralternativasparaatingirmos HA em um ambienteaberto?<br />
Alta disponibilidade<br />IPVS<br />Heartbeat<br />Linux HA<br />DRBD<br />BalanceNG<br />Virtualização<br />GFS<br />
Alta disponibilidade<br />No ambiente Linux existe um projeto (Linux HA) que desde 1999 oferece soluções para prover nívei...
Alta disponibilidade<br />
Alta disponibilidade<br />Solução 1 : rsyncperiódico<br />
Alta disponibilidade<br />
Alta disponibilidade<br />Prós: simples.  <br />Funciona em muitos ambientes e requer pouca / nenhuma modificação do ambie...
Alta disponibilidade<br />Solução 2: drbd + heartbeat<br />
Alta disponibilidade<br />
Alta disponibilidade<br />Prós: atua de maneira automática e síncrona<br />Provê um meio síncrono de replicar + migrar os ...
Alta disponibilidade<br />Anatomiadasolução<br />
Alta disponibilidade<br />Um servidor (primário) com duas interfaces de rede<br />Um servidor (secondário) com duas interf...
Alta disponibilidade<br />A interface interna é usada para sincronização dos dados com uma faixa interna de Ips<br />A int...
Alta disponibilidade<br />Software necessário:<br />SO Linux <br />Heartbeat (para detectar status e notificar mudanças)<b...
Alta disponibilidade<br />Etapa 1 : Configuração básica<br />IP A / IPi A<br />172.16.117.162 / 192.168.0.2<br />IP B / IP...
Alta disponibilidade<br />Etapa 2: Criar os devicesdrbd<br />Emcada um dos servidorester o /etc/drbd.confconformeabaixo:<b...
Alta disponibilidade<br />onnode0 {<br />device /dev/drbd0;<br />    disk /dev/sdb;<br />address 192.168.0.2:7788;<br />  ...
Alta disponibilidade<br />onnode1 {<br />device /dev/drbd0;<br />    disk /dev/sdb;<br />address 192.168.0.3:7788;<br />  ...
Alta disponibilidade<br />Emcada um dos servidores<br />#drbdadm create-md apache<br />O apache é o nome do resource espec...
Alta disponibilidade<br />Eleirásolicitarautorização e inicializará o processo<br />v08 Magic number not found<br />v07 Ma...
Alta disponibilidade<br />Vocêdeveiniciar o serviço<br />#service drbd start<br />Eleiráindicarque ambos osservidoresestão...
Alta disponibilidade<br />Apenas no nóqueseráconsideradoprimário<br />drbdadm -- --overwrite-data-of-peerprimary apache<br...
Alta disponibilidade<br />Quandoeleestiverem 100% vocêpodeformatar a partiçãocomofaznormalmente<br />#mkfs.ext3 /dev/drbd0...
Alta disponibilidade<br />Vocêdeve agora configurar o heartbeat parafazer o monitoramento e trocaautomática dos recursos<b...
Alta disponibilidade<br />/etc/ha.d/ha.cf<br />keepalive 1<br />deadtime 10<br />warntime 5<br />initdead 120<br />udpport...
Alta disponibilidade<br />Definição do quefazerquando um nó for up ou down<br />/etc/ha.d/haresources<br />node0IPaddr::17...
Alta disponibilidade<br />Demonstração<br />
Alta disponibilidade<br />Obrigado<br />Estaapresentaçãoestarádisponível no slideshare<br />
Upcoming SlideShare
Loading in...5
×

Alta disponibilidade em ambiente GNU/Linux

2,353

Published on

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

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,353
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • Reboots, upgrades de disco, memória, processador, versões de software
  • Alta disponibilidade em ambiente GNU/Linux

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

    ×