SlideShare uma empresa Scribd logo
1 de 41
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 br />Filesystem::/dev/drbd0::/mnt/apache::ext3::defaults httpd
Alta disponibilidade Demonstração
Alta disponibilidade Obrigado Estaapresentaçãoestarádisponível no slideshare

Mais conteúdo relacionado

Mais procurados

Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni
 
Open Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software LivreOpen Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software LivreFrederico Madeira
 
PostgreSQL - Tiago Corcelli Oliveira e Silva
PostgreSQL - Tiago Corcelli Oliveira e SilvaPostgreSQL - Tiago Corcelli Oliveira e Silva
PostgreSQL - Tiago Corcelli Oliveira e SilvaPotiLivre Sobrenome
 
Projeto de plano de backup
Projeto de plano de backupProjeto de plano de backup
Projeto de plano de backupSabrina Mees
 
Cassandra overview: Um Caso Prático
Cassandra overview:  Um Caso PráticoCassandra overview:  Um Caso Prático
Cassandra overview: Um Caso PráticoEiti Kimura
 
Linux e o modelo open source
Linux e o modelo open sourceLinux e o modelo open source
Linux e o modelo open sourceFrederico Madeira
 
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosQConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosEiti Kimura
 
Treinamento de Performance and tuning
Treinamento de Performance and tuningTreinamento de Performance and tuning
Treinamento de Performance and tuningDell Technologies
 
Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxDell Technologies
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital PreservationRoberto Beraldo Chaiben
 
Failover dhcp - EVV
Failover dhcp - EVVFailover dhcp - EVV
Failover dhcp - EVVevandrovv
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheDell Technologies
 
Estudo de caso Ricardo Eletro
Estudo de caso Ricardo EletroEstudo de caso Ricardo Eletro
Estudo de caso Ricardo EletroMySQL Brasil
 
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto Desempenho
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto DesempenhoTDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto Desempenho
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto DesempenhoEiti Kimura
 
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)Joao Galdino Mello de Souza
 

Mais procurados (20)

Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
 
Open Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software LivreOpen Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software Livre
 
Google File System
Google File SystemGoogle File System
Google File System
 
PostgreSQL - Tiago Corcelli Oliveira e Silva
PostgreSQL - Tiago Corcelli Oliveira e SilvaPostgreSQL - Tiago Corcelli Oliveira e Silva
PostgreSQL - Tiago Corcelli Oliveira e Silva
 
Ha pohlmann
Ha pohlmannHa pohlmann
Ha pohlmann
 
GlusterFs
GlusterFsGlusterFs
GlusterFs
 
Projeto de plano de backup
Projeto de plano de backupProjeto de plano de backup
Projeto de plano de backup
 
Clusters
ClustersClusters
Clusters
 
Cassandra overview: Um Caso Prático
Cassandra overview:  Um Caso PráticoCassandra overview:  Um Caso Prático
Cassandra overview: Um Caso Prático
 
Linux e o modelo open source
Linux e o modelo open sourceLinux e o modelo open source
Linux e o modelo open source
 
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosQConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
 
Treinamento de Performance and tuning
Treinamento de Performance and tuningTreinamento de Performance and tuning
Treinamento de Performance and tuning
 
Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - Linux
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
 
Failover dhcp - EVV
Failover dhcp - EVVFailover dhcp - EVV
Failover dhcp - EVV
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+Apache
 
Estudo de caso Ricardo Eletro
Estudo de caso Ricardo EletroEstudo de caso Ricardo Eletro
Estudo de caso Ricardo Eletro
 
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto Desempenho
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto DesempenhoTDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto Desempenho
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto Desempenho
 
10 dns-firewall
10 dns-firewall10 dns-firewall
10 dns-firewall
 
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
 

Semelhante a Alta disponibilidade em ambiente GNU/Linux

Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)Caio Candido
 
Alta Disponibilidade na Prática utilizando servidores Linuxes Linux
Alta Disponibilidade na Prática utilizando servidores Linuxes LinuxAlta Disponibilidade na Prática utilizando servidores Linuxes Linux
Alta Disponibilidade na Prática utilizando servidores Linuxes Linuxelliando dias
 
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...Daniel Destro Do Carmo
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosCharles Fortes
 
Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Flávio Lisboa
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação MonografiaLeon Homar
 
A PRINCIPAL PLATAFORMA ABERTA, FAÇA MAIS COM MENOS
A PRINCIPAL PLATAFORMA ABERTA, FAÇA MAIS COM MENOSA PRINCIPAL PLATAFORMA ABERTA, FAÇA MAIS COM MENOS
A PRINCIPAL PLATAFORMA ABERTA, FAÇA MAIS COM MENOSRaul Leite
 
Aula 03 - Analisando objetivos técnicos - Projeto de Redes de Computadores
Aula 03 - Analisando objetivos técnicos - Projeto de Redes de ComputadoresAula 03 - Analisando objetivos técnicos - Projeto de Redes de Computadores
Aula 03 - Analisando objetivos técnicos - Projeto de Redes de ComputadoresDalton Martins
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Alessandro Binhara
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?tdc-globalcode
 
Arquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceArquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceFelipe RENZ - MBA TI / Big
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server EmbratelAlex Hübner
 
Apresentação HyperCloud GT8
Apresentação HyperCloud GT8Apresentação HyperCloud GT8
Apresentação HyperCloud GT8HyperCloud UFS
 

Semelhante a Alta disponibilidade em ambiente GNU/Linux (20)

Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
 
Alta Disponibilidade na Prática utilizando servidores Linuxes Linux
Alta Disponibilidade na Prática utilizando servidores Linuxes LinuxAlta Disponibilidade na Prática utilizando servidores Linuxes Linux
Alta Disponibilidade na Prática utilizando servidores Linuxes Linux
 
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...
 
Proposta de arquitetura Hadoop
Proposta de arquitetura HadoopProposta de arquitetura Hadoop
Proposta de arquitetura Hadoop
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação Monografia
 
A PRINCIPAL PLATAFORMA ABERTA, FAÇA MAIS COM MENOS
A PRINCIPAL PLATAFORMA ABERTA, FAÇA MAIS COM MENOSA PRINCIPAL PLATAFORMA ABERTA, FAÇA MAIS COM MENOS
A PRINCIPAL PLATAFORMA ABERTA, FAÇA MAIS COM MENOS
 
Aula 03 - Analisando objetivos técnicos - Projeto de Redes de Computadores
Aula 03 - Analisando objetivos técnicos - Projeto de Redes de ComputadoresAula 03 - Analisando objetivos técnicos - Projeto de Redes de Computadores
Aula 03 - Analisando objetivos técnicos - Projeto de Redes de Computadores
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!!
 
Estratégias de migração para cloud
Estratégias de migração para cloudEstratégias de migração para cloud
Estratégias de migração para cloud
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?
 
Arquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceArquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open source
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server Embratel
 
TRIO IT - Resumo
TRIO IT - ResumoTRIO IT - Resumo
TRIO IT - Resumo
 
Apresentação HyperCloud GT8
Apresentação HyperCloud GT8Apresentação HyperCloud GT8
Apresentação HyperCloud GT8
 

Alta disponibilidade em ambiente GNU/Linux

  • 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.
  • 18. Alta disponibilidade Solução 1 : rsyncperiódico
  • 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
  • 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
  • 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 br />Filesystem::/dev/drbd0::/mnt/apache::ext3::defaults httpd
  • 41. Alta disponibilidade Obrigado Estaapresentaçãoestarádisponível no slideshare

Notas do Editor

  1. Reboots, upgrades de disco, memória, processador, versões de software