• Save
Alta disponibilidade em ambiente GNU/Linux
Upcoming SlideShare
Loading in...5
×
 

Alta disponibilidade em ambiente GNU/Linux

on

  • 3,022 views

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

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

Statistics

Views

Total Views
3,022
Views on SlideShare
2,850
Embed Views
172

Actions

Likes
4
Downloads
0
Comments
0

4 Embeds 172

http://www.bicatu.com.br 131
http://www.slideshare.net 27
http://localhost 8
http://www.linkedin.com 6

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Reboots, upgrades de disco, memória, processador, versões de software

Alta disponibilidade em ambiente GNU/Linux Alta disponibilidade em ambiente GNU/Linux Presentation Transcript

  • Alta disponibilidade
    mneto@argo.net.br
    Twitter: bicatu
    http://www.bicatu.com.br
  • 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.
  • Alta disponibilidade
    Alta disponibilidade != Escalabilidade
    Apesar de andaremfrequentemente juntas as soluçõesparaaltadisponibilidadepossuemobjetivose estratégiasdiferentes
  • Alta disponibilidade
    Alta disponibilidade = capacidade de estardisponívelporgrandesperíodos de tempo
    Escalabilidade = capacidade de oferecerserviços com qualidadeaceitávelmesmo com o crescimento do uso
  • 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
  • Alta disponibilidade
    b) Planejadas (manutenções)
    Associadas a paralizações agendas para a atualização de hardware ou software.
    Costumamoferecermenorimpactoaonegócio
  • 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!
  • Alta disponibilidade
    Atingir 100% de disponibilidadenão é possível e pode ser proibitivamentecaro.
    O comum é definir um nível de disponibilidadeaceitável
  • Alta disponibilidade
    Classes de disponibilidade
    Dowtimeno ano (minutos) = (1 – razão de uptime) x 365 x 24 x 60
  • 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
  • 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
  • Alta disponibilidade
    As soluçõesusuaisparaobtersistemastolerantesenvolvemsoluçõesproprietárias de hardware (e software) taiscomo:
    cpusredundantes
    subsistemas de memória
    disco,
    fornecimento de energia
    refrigeração
  • Alta disponibilidade
    Soluçõesparasistemastolerantes a falhascostumamtercustoelevado e normalmentesãoproprietárias
  • Alta disponibilidade
    O quefazer?
    É possívelteralternativasparaatingirmos HA em um ambienteaberto?
  • Alta disponibilidade
    IPVS
    Heartbeat
    Linux HA
    DRBD
    BalanceNG
    Virtualização
    GFS
  • 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.
  • Alta disponibilidade
  • Alta disponibilidade
    Solução 1 : rsyncperiódico
  • Alta disponibilidade
  • 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)
  • Alta disponibilidade
    Solução 2: drbd + heartbeat
  • Alta disponibilidade
  • 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
  • Alta disponibilidade
    Anatomiadasolução
  • Alta disponibilidade
    Um servidor (primário) com duas interfaces de rede
    Um servidor (secondário) com duas interfaces de rede
  • 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
  • Alta disponibilidade
    Software necessário:
    SO Linux
    Heartbeat (para detectar status e notificar mudanças)
    DRBD (sincronização física)
  • 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)
  • 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; }
  • Alta disponibilidade
    onnode0 {
    device /dev/drbd0;
    disk /dev/sdb;
    address 192.168.0.2:7788;
    meta-disk internal;
    }
  • Alta disponibilidade
    onnode1 {
    device /dev/drbd0;
    disk /dev/sdb;
    address 192.168.0.3:7788;
    meta-disk internal;
    }
    }
  • Alta disponibilidade
    Emcada um dos servidores
    #drbdadm create-md apache
    O apache é o nome do resource especificado no drbd.conf
  • 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.
  • 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
  • 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
  • Alta disponibilidade
    Quandoeleestiverem 100% vocêpodeformatar a partiçãocomofaznormalmente
    #mkfs.ext3 /dev/drbd0
    E usarnormalmente
    #mkdir /mnt/apache
    #mount /dev/drbd0 /mnt/apache
  • 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
  • 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
  • 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
  • Alta disponibilidade
    Demonstração
  • Alta disponibilidade
    Obrigado
    Estaapresentaçãoestarádisponível no slideshare