SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
Programas Livres para a Alta
Disponibilidade em Servidores



                                           Hugo
                                          Roger
                                          Cleber
                                         Clauzio



          Serviços em Redes de Computadores
                    Profº João Eriberto Mota Filho
Agenda
●   Alta disponibilidade
    –   conceito
    –   calculo/medida da disponibilidade
    –   classificação
    –   ambiente HA
●   Programas
    –   heartbeat
    –   drbd
    –   mon
    –   hapm
●   Conclusão
Conceito
●   HA não é apenas um produto ou
    aplicação
●   HA é uma característica de sistema
    computacional


“A disponibilidade de um sistema
 computacional, indicada por A(t), é a
 probabilidade de que este sistema
 esteja funcionando e pronto para uso
 em um dado instante t.”
Calculo da disponibilidade
●   Variáveis
    –   MTTF (Tempo médio até apresentar falha)
    –   MTTR (Tempo médio de reparo)




                  MTTF
          A=
              MTTFMTTR 
medida da disponibilidade
Classificação
●   A disponibilidade de um sistema
    computacional pode ser dividida em
    três classes:
    –   Disponibilidade básica
         ●   99%
    –   Alta disponibilidade
         ●   99,9%; 99,99%; 99,999%...
    –   Disponibilidade contínua
         ●   1
Ambiente HA

●   Hardware: redundância de máquinas,
    links, conexão dedicada e de alta
    velocidade
●   Espelhamento de dados: dados
    espelhados em tempo real
●   Controle de serviços: o sistema deve ser
    autônomo e capaz de reconfigurar-se
●   Monitoração: o sistema deve monitorar
    seus serviços e disparar uma
    reconfiguração em caso de defeitos
HeartBeat (Linux - HA)
HeartBeat

●   O Heartbeat é um dos componentes do
    projeto Linux-HA (High-Availability Linux);
●   Roda nas plataformas Linux, FreeBSD e
    Solaris;
●   Detecta a morte de um 'host' e gerência
    cluster.
HeartBeat

●   Cluster: Alta Disponibilidade;

●   Cluster: Balanceamento de Carga;


●   Cluster: Alta Performance;
HeartBeat

●   Segmentos UDP são enviados
    regulamente entre os hosts;
●   Se o segmento não for recebido;
●   Será detectado que um host está com
    problema;
●   E é tomada uma ação;
HeartBeat

●   Quando o serviço HeartBeat é iniciado em um
    host uma Interface Virtual sobe;
●   Essa Interface Virtual será acessada pelos
    clientes;
    clientes
●   Se esse host falhar, então será detectado e a
    interface do outro host subirá como o mesmo
    IP;
●   Um ARP gratuito é enviado para todas
    máquinas;
HeartBeat
HeartBeat




 Master                   Slave



10.0.0.10               10.0.0.11
HeartBeat




 Master                     Slave



10.0.0.10                 10.0.0.11



     IP Virtual
     10.0.0.20
HeartBeat




 Master                     Slave


                  UDP
10.0.0.10                 10.0.0.11



     IP Virtual
     10.0.0.20
HeartBeat




 Master                     Slave


                  UDP
10.0.0.10                 10.0.0.11



     IP Virtual
     10.0.0.20
HeartBeat




 Master                     Slave


               UDP
10.0.0.10                 10.0.0.11



                     IP Virtual
                     10.0.0.20
HeartBeat
●   Problema: o MAC está amarrado no SWITCH e
    na Tabela ARP das Máquinas;




        Master                           Slave


                       UDP
       10.0.0.10                       10.0.0.11



                                  IP Virtual
                                  10.0.0.20
HeartBeat
●   Solução: ARP gratuito;
HeartBeat




 Master                     Slave


               ARP
10.0.0.10                 10.0.0.11



                     IP Virtual
                     10.0.0.20
HeartBeat
●   Tráfego UDP entre o MASTER e o SLAVE:
                                   SLAVE
HeartBeat
●   Interface Virtual na MASTER:
                         MASTER
HeartBeat
●   Interface virtual no SLAVE quando o
    MASTER foi desligado:
HeartBeat - Teste
HeartBeat - Teste
●            --> Na MASTER
[Distributed Replicated Block Device]
DRBD

●   Desenvolvido por Philipp Reisner (2000)
●   Versão atual 8.x
●   Replicação de discos entre 2 nós, através
    da rede
DRBD
DRBD

●   Trabalha com journaling file system (ext3, XFS, JFS,
    etc...)
●   Possui 3 protocolos de integridade dados
●   Master/Slave, somente um sistema pode
    lêr/escrever em um determinado tempo
●   Quando o servidor master falha o servidor slave
    assume
●   Possui mecanismo de “resync” inteligente
●   Necessário integração com Heartbeat
DRBD
DRBD
●   Instalação
    tar -zxvf drbd-8.0.4.tar.gz
    cd drbd-0.8.0.4/drbd
    make clean all; make; make install
●   Configuração
     carrega módulo no kernel (modprobe drbd)
     cria dispositivo drbd (mknod /dev/drbd0 b 147; mkfs.ext3 /dev/drbd0)
     configura drbd.conf e inicia o serviço (init.d/drbd start)
     configura servidor drbd primario no master (drbdadmin primary all)
     sincroniza discos (drbdadmin –overwrite-data-of-peer primary all)
     monta disco no servidor master (mount -t ext3 /dev/drbd0 /ha_backup)
DRBD
# drbd.conf (deve ser copiado nos 2 servidores)

resource drbd0 {                    #primeiro espelhamento
   protocol=C                         #protocolo usado (A-B-C)
   fsck-cmd=fsck.ext2 -p -y     #se necessário

  disk {                                   #dados do disco
    do-panic                             #se erro, um kernel panic para
maquina
    disk-size=4096543             #se discos não iguais
  }

 on server1 {              #primeiro nodo
  device=/dev/drbd0        #dispositivo de drbd
  disk=/dev/hda3           #dispositivo de bloco
  address=192.168.1.2:7789 # endereço IP/porta
 }

 on server2 {              #primeiro nodo
  device=/dev/drbd0        #dispositivo de drbd
  disk=/dev/hda3           #dispositivo de bloco
  address=192.168.1.3:7789 #endereço IP/porta
 }
DRBD
# haresources (arquivo de configuração do heartbeat)

server1 192.168.1.4 drbddisk Filesystem::/dev/drbd0::/ha_backup::ext3 servicos


onde:

server1                                    #servidor master
192.168.1.4                                #ip virtual
drbddisk                                   #torna o dispositivo como primário
Filesystem::/dev/drbd0::/ha_backup::ext3   #monta file system
servicos                                   #inicia em ordem os servicos
                                            que utilizam o file system
Service Monitoring Daemon
MON - ?
●   É   uma      ferramenta    para   monitorar      a
    disponibilidade dos serviços e enviar alertas,
●   Desenvolvido e mantido por Jim Trocki(Unisys)
●   GNU GLP,
●   Simples, contudo muito adaptável aos projetos,
●   Simples de adicionar alertas e monitores,
●    Quando um alerta é dado, os dados são
    recolhidos para a da geração de relatório de
    uso geral,
●   Propósito Geral: se você pode testar com
    software, você pode monitorá-lo.
MON - Características
●   Portátil (escrito em Perl),
●   Linux, Solaris, Cygwin (Windows),
●   Pode monitorar vários servidores,
●   Configurável, extensível, integra com outros
    sistemas,
●   Os arquivos de configuração são feitos de
    acordo com as outras ferramentas que irá
    intergrar.
MON – Vários
                monitores
●   http, lpd, smtp, ldap, imap, pop3, telnet,
    dns,
●   Msql, mysql, oracle, postgres, informix,
    sybase
●   reboot, processes, rpc, clock, espaço em
    disco,
●   traceroutes, router ,
●   interfaces, ipsec tunnels,
●   NT services, samba, printers.
MON – Vários
 monitores
MON – Componentes
●   Servidor
●   Clientes
●   Monitores
●   Trap
●   Alertas
MON - Funções

●   Servidor
    - Programação e execução dos
    monitores(quando necessário),gerência
    alertas(envia alertas durante períodos
    específicos), logs, aceita traps remotos,
●   Clientes
    - Pergunta e controla o servidor, mostrar
    relatórios
MON - Funções
●   Monitores
    - Testa a condição de um serviço
    - Os testes são definidos pelos usuários,
    - Possibilita teste em nível de aplicação,
    - Comunica com os sistemas monitorados
    através do HTTP, do SNMP, etc.
●   Trap
    - Emiti notificações para o servidor mon
    ou para outras entidades externas,
MON - Funções
●   Alertas
    - Executar ações em casos de falhas, em
    servidor de pagina, de email, na ação
    corretiva (HA fail-over), etc.
    - Chama processos separadamente,
    - Simples de escrever,
MON - Configuração
●   cfbasedir                     =                   /etc/ha.d/mon/etc
    alertdir                     =                  /usr/lib/mon/alert.d
    mondir                       =                  /usr/lib/mon/mon.d
    maxprocs                      =                20
    historicfile                   =                    /var/log/mon.log
    hostgroup          servers         10.5.12.254           10.5.12.253

●   watch servers
    service ping
    interval 1m
    monitor fping.monitor -a
    period wd {Mon-Fri}
    alert mail.alert root@localhost
MON - Comandos
●   mon - monitorar os serviços para a
    disponibilidade, emitindo alarmes em cima das
    falhas.
●   moncmd - emitir comandos ao daemon do mon
    e mostrar os resultados.
●   monshow - mostrar o status operacional do
    usuário do mon.
[High Availability Port Monitor]
HAPM
●   Desenvolvido por Alexandre Antônio, João Eriberto e
    Rosemeri Dantas
●   Verifica status de portas TCP/UDP (nó Master)
●   Trabalha com o daemon Heartbeat
HAPM

# hapm.conf

socket=127.0.0.1:25               # ip e porta do serviço a ser monitorado
socket=10.0.0.1:80
socket=10.0.0.1:22
time=1                             # intervalo entre as checagens
heartbeat=/etc/init.d/heartbeat    # daemon do heartbeat
CONCLUSÃO

Como pôde ser visto neste trabalho é possível ter um sistema de
 alta disponibilidade baseado em ferramentas open-source, sem
            gastar muito dinheiro no quesito software.
 Um fator muito importante que se deve levar em consideração
 durante a implantação de um servidor de alta disponibilidade é
                justamente o custo x beneficio,
 quando maior o grau de disponibilidade maior será o recurso
       financeiro necessário para implementação de tal.
Referências Bibliográficas
●   http://www.linux-ha.org
●   http://hapm.sourceforge.net/
●   http://www.ultramonkey.org
●   http://www.pruonckk.org/wiki/index.php/Alta_Dispon
●   http://ha.linuxchix.org.br/drbd.html
●   http://www.drbd.org/
●   http://mon.wiki.kernel.org/index.php/Main_Page
EXTRAS – Arquivos de Configuração
    máq. MASTER (HeartBeat)
EXTRAS – Arquivos de Configuração
    máq. SLAVE (HeartBeat)

Mais conteúdo relacionado

Mais procurados

Sistemas Distribuídos - Aula 08 - Segurança
Sistemas Distribuídos - Aula 08 - SegurançaSistemas Distribuídos - Aula 08 - Segurança
Sistemas Distribuídos - Aula 08 - SegurançaArthur Emanuel
 
Fibre Channel over Ethernet (FCoE), iSCSI and the Converged Data Center
Fibre Channel over Ethernet (FCoE), iSCSI and the Converged Data CenterFibre Channel over Ethernet (FCoE), iSCSI and the Converged Data Center
Fibre Channel over Ethernet (FCoE), iSCSI and the Converged Data CenterStuart Miniman
 
Pacemaker+DRBD
Pacemaker+DRBDPacemaker+DRBD
Pacemaker+DRBDDan Frincu
 
desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosHélio Jovo
 
google file system
google file systemgoogle file system
google file systemdiptipan
 
Spectrum Scale Best Practices by Olaf Weiser
Spectrum Scale Best Practices by Olaf WeiserSpectrum Scale Best Practices by Olaf Weiser
Spectrum Scale Best Practices by Olaf WeiserSandeep Patil
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoAdriano Teixeira de Souza
 
Topologia de redes
Topologia de redesTopologia de redes
Topologia de redesLuis Fiuza
 
Introduction to failover clustering with sql server
Introduction to failover clustering with sql serverIntroduction to failover clustering with sql server
Introduction to failover clustering with sql serverEduardo Castro
 
Samba power point presentation
Samba power point presentationSamba power point presentation
Samba power point presentationMd Maksudur Rahman
 
Red Hat Certified engineer course
  Red Hat Certified engineer course   Red Hat Certified engineer course
Red Hat Certified engineer course Ali Abdo
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Redes de Computadores " Camada de Enlace"
Redes de Computadores " Camada de Enlace"Redes de Computadores " Camada de Enlace"
Redes de Computadores " Camada de Enlace"Reinaldo Barbosa
 
Redhat ha cluster with pacemaker
Redhat ha cluster with pacemakerRedhat ha cluster with pacemaker
Redhat ha cluster with pacemakerIndika Dias
 

Mais procurados (20)

Sistemas Distribuídos - Aula 08 - Segurança
Sistemas Distribuídos - Aula 08 - SegurançaSistemas Distribuídos - Aula 08 - Segurança
Sistemas Distribuídos - Aula 08 - Segurança
 
Fibre Channel over Ethernet (FCoE), iSCSI and the Converged Data Center
Fibre Channel over Ethernet (FCoE), iSCSI and the Converged Data CenterFibre Channel over Ethernet (FCoE), iSCSI and the Converged Data Center
Fibre Channel over Ethernet (FCoE), iSCSI and the Converged Data Center
 
Pacemaker+DRBD
Pacemaker+DRBDPacemaker+DRBD
Pacemaker+DRBD
 
Wintel ppt for dhcp
Wintel ppt for dhcpWintel ppt for dhcp
Wintel ppt for dhcp
 
desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidos
 
Zabbix Monitoring Platform
Zabbix Monitoring Platform Zabbix Monitoring Platform
Zabbix Monitoring Platform
 
google file system
google file systemgoogle file system
google file system
 
Spectrum Scale Best Practices by Olaf Weiser
Spectrum Scale Best Practices by Olaf WeiserSpectrum Scale Best Practices by Olaf Weiser
Spectrum Scale Best Practices by Olaf Weiser
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de Projeto
 
DHCP
DHCPDHCP
DHCP
 
Protocolos TCP/IP
Protocolos TCP/IPProtocolos TCP/IP
Protocolos TCP/IP
 
Topologia de redes
Topologia de redesTopologia de redes
Topologia de redes
 
Introduction to failover clustering with sql server
Introduction to failover clustering with sql serverIntroduction to failover clustering with sql server
Introduction to failover clustering with sql server
 
IP Multicasting
IP MulticastingIP Multicasting
IP Multicasting
 
Samba power point presentation
Samba power point presentationSamba power point presentation
Samba power point presentation
 
Red Hat Certified engineer course
  Red Hat Certified engineer course   Red Hat Certified engineer course
Red Hat Certified engineer course
 
VPN - O que é a VPN?
VPN - O que é a VPN?VPN - O que é a VPN?
VPN - O que é a VPN?
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Redes de Computadores " Camada de Enlace"
Redes de Computadores " Camada de Enlace"Redes de Computadores " Camada de Enlace"
Redes de Computadores " Camada de Enlace"
 
Redhat ha cluster with pacemaker
Redhat ha cluster with pacemakerRedhat ha cluster with pacemaker
Redhat ha cluster with pacemaker
 

Destaque

Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidadeMarcelo Garcia
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDFrederico Madeira
 
Alta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdAlta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdFrederico Madeira
 
Tópicos - Redes para Cluster de Alta Performance
Tópicos - Redes para Cluster de Alta PerformanceTópicos - Redes para Cluster de Alta Performance
Tópicos - Redes para Cluster de Alta PerformanceLuiz Arthur
 
Active directory-conceitos-pratica
Active directory-conceitos-praticaActive directory-conceitos-pratica
Active directory-conceitos-praticaMatheus Carvalho
 
Workshop linux system administration ls
Workshop linux system administration lsWorkshop linux system administration ls
Workshop linux system administration lsLinux Solutions
 
Manutenção completa em pc
Manutenção completa em pcManutenção completa em pc
Manutenção completa em pcKaren Costa
 
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...Video Aulas Linux e Mikrotik
 
Controlador de Domínio Open Source
Controlador de Domínio Open SourceControlador de Domínio Open Source
Controlador de Domínio Open SourceRicardo Pinheiro
 
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...Video Aulas Linux e Mikrotik
 
Apostila Hardware Completa
Apostila Hardware CompletaApostila Hardware Completa
Apostila Hardware CompletaHudson Augusto
 
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...Helder Lopes
 
UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105Luiz Arthur
 

Destaque (20)

Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidade
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBD
 
Alta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdAlta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e Drbd
 
Tópicos - Redes para Cluster de Alta Performance
Tópicos - Redes para Cluster de Alta PerformanceTópicos - Redes para Cluster de Alta Performance
Tópicos - Redes para Cluster de Alta Performance
 
Active directory-conceitos-pratica
Active directory-conceitos-praticaActive directory-conceitos-pratica
Active directory-conceitos-pratica
 
Workshop linux system administration ls
Workshop linux system administration lsWorkshop linux system administration ls
Workshop linux system administration ls
 
Manutenção completa em pc
Manutenção completa em pcManutenção completa em pc
Manutenção completa em pc
 
Endereçamento IPv6
Endereçamento IPv6Endereçamento IPv6
Endereçamento IPv6
 
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...
 
Controlador de Domínio Open Source
Controlador de Domínio Open SourceControlador de Domínio Open Source
Controlador de Domínio Open Source
 
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...
 
Rotas estáticas IPv6
Rotas estáticas IPv6Rotas estáticas IPv6
Rotas estáticas IPv6
 
Lpi autodidata Flisol Florianopolis
Lpi autodidata Flisol FlorianopolisLpi autodidata Flisol Florianopolis
Lpi autodidata Flisol Florianopolis
 
Administração de Redes Linux - II
Administração de Redes Linux - IIAdministração de Redes Linux - II
Administração de Redes Linux - II
 
Asterisk trunk
Asterisk trunkAsterisk trunk
Asterisk trunk
 
Administração de Redes Linux - III
Administração de Redes Linux - IIIAdministração de Redes Linux - III
Administração de Redes Linux - III
 
Apostila Hardware Completa
Apostila Hardware CompletaApostila Hardware Completa
Apostila Hardware Completa
 
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
Gerenciamento de Infra-Estrutura - Aula 2 - Definições Utilizadas em Gerencia...
 
UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105
 
Administração de Redes Linux - I
Administração de Redes Linux - IAdministração de Redes Linux - I
Administração de Redes Linux - I
 

Semelhante a Alta Disponibilidade na Prática utilizando servidores Linux

Redes prática - Inetd
Redes prática - InetdRedes prática - Inetd
Redes prática - InetdLuiz Arthur
 
Administração de Rede Local
Administração de Rede LocalAdministração de Rede Local
Administração de Rede Localcymbron
 
VDI e Projeto OSDVT
VDI e Projeto OSDVTVDI e Projeto OSDVT
VDI e Projeto OSDVTapsegundo
 
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonTchelinux
 
Opennebula instalação
Opennebula instalaçãoOpennebula instalação
Opennebula instalaçãoLuís Eduardo
 
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan SeidlTI Safe
 
Project HA
Project HAProject HA
Project HAKarpv
 
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piImpressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piMarcos Aurelio Barranco
 
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtInstalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtAnderson Bassani
 
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceHackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceRicardo Rufino
 
VMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion ToleranceVMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion ToleranceLeandro Magnabosco
 
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
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores LinuxSoftD Abreu
 
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei PollonFerramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei PollonTchelinux
 
Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores LinuxAlessandro Silva
 

Semelhante a Alta Disponibilidade na Prática utilizando servidores Linux (20)

Ntop
NtopNtop
Ntop
 
Redes prática - Inetd
Redes prática - InetdRedes prática - Inetd
Redes prática - Inetd
 
Thedude
ThedudeThedude
Thedude
 
Administração de Rede Local
Administração de Rede LocalAdministração de Rede Local
Administração de Rede Local
 
VDI e Projeto OSDVT
VDI e Projeto OSDVTVDI e Projeto OSDVT
VDI e Projeto OSDVT
 
Vagrant + Puppet
Vagrant + PuppetVagrant + Puppet
Vagrant + Puppet
 
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei Pollon
 
Opennebula instalação
Opennebula instalaçãoOpennebula instalação
Opennebula instalação
 
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
 
Project HA
Project HAProject HA
Project HA
 
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piImpressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
 
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtInstalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
 
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceHackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
 
VMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion ToleranceVMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion Tolerance
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei PollonFerramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
 
Servidores linux
Servidores linuxServidores linux
Servidores linux
 
MRTG - SNMP na Prática
MRTG - SNMP na PráticaMRTG - SNMP na Prática
MRTG - SNMP na Prática
 
Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores Linux
 

Mais de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Mais de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Alta Disponibilidade na Prática utilizando servidores Linux

  • 1. Programas Livres para a Alta Disponibilidade em Servidores Hugo Roger Cleber Clauzio Serviços em Redes de Computadores Profº João Eriberto Mota Filho
  • 2. Agenda ● Alta disponibilidade – conceito – calculo/medida da disponibilidade – classificação – ambiente HA ● Programas – heartbeat – drbd – mon – hapm ● Conclusão
  • 3. Conceito ● HA não é apenas um produto ou aplicação ● HA é uma característica de sistema computacional “A disponibilidade de um sistema computacional, indicada por A(t), é a probabilidade de que este sistema esteja funcionando e pronto para uso em um dado instante t.”
  • 4. Calculo da disponibilidade ● Variáveis – MTTF (Tempo médio até apresentar falha) – MTTR (Tempo médio de reparo) MTTF A=  MTTFMTTR 
  • 6. Classificação ● A disponibilidade de um sistema computacional pode ser dividida em três classes: – Disponibilidade básica ● 99% – Alta disponibilidade ● 99,9%; 99,99%; 99,999%... – Disponibilidade contínua ● 1
  • 7. Ambiente HA ● Hardware: redundância de máquinas, links, conexão dedicada e de alta velocidade ● Espelhamento de dados: dados espelhados em tempo real ● Controle de serviços: o sistema deve ser autônomo e capaz de reconfigurar-se ● Monitoração: o sistema deve monitorar seus serviços e disparar uma reconfiguração em caso de defeitos
  • 9. HeartBeat ● O Heartbeat é um dos componentes do projeto Linux-HA (High-Availability Linux); ● Roda nas plataformas Linux, FreeBSD e Solaris; ● Detecta a morte de um 'host' e gerência cluster.
  • 10. HeartBeat ● Cluster: Alta Disponibilidade; ● Cluster: Balanceamento de Carga; ● Cluster: Alta Performance;
  • 11. HeartBeat ● Segmentos UDP são enviados regulamente entre os hosts; ● Se o segmento não for recebido; ● Será detectado que um host está com problema; ● E é tomada uma ação;
  • 12. HeartBeat ● Quando o serviço HeartBeat é iniciado em um host uma Interface Virtual sobe; ● Essa Interface Virtual será acessada pelos clientes; clientes ● Se esse host falhar, então será detectado e a interface do outro host subirá como o mesmo IP; ● Um ARP gratuito é enviado para todas máquinas;
  • 14. HeartBeat Master Slave 10.0.0.10 10.0.0.11
  • 15. HeartBeat Master Slave 10.0.0.10 10.0.0.11 IP Virtual 10.0.0.20
  • 16. HeartBeat Master Slave UDP 10.0.0.10 10.0.0.11 IP Virtual 10.0.0.20
  • 17. HeartBeat Master Slave UDP 10.0.0.10 10.0.0.11 IP Virtual 10.0.0.20
  • 18. HeartBeat Master Slave UDP 10.0.0.10 10.0.0.11 IP Virtual 10.0.0.20
  • 19. HeartBeat ● Problema: o MAC está amarrado no SWITCH e na Tabela ARP das Máquinas; Master Slave UDP 10.0.0.10 10.0.0.11 IP Virtual 10.0.0.20
  • 20. HeartBeat ● Solução: ARP gratuito;
  • 21. HeartBeat Master Slave ARP 10.0.0.10 10.0.0.11 IP Virtual 10.0.0.20
  • 22. HeartBeat ● Tráfego UDP entre o MASTER e o SLAVE: SLAVE
  • 23. HeartBeat ● Interface Virtual na MASTER: MASTER
  • 24. HeartBeat ● Interface virtual no SLAVE quando o MASTER foi desligado:
  • 26. HeartBeat - Teste ● --> Na MASTER
  • 28. DRBD ● Desenvolvido por Philipp Reisner (2000) ● Versão atual 8.x ● Replicação de discos entre 2 nós, através da rede
  • 29. DRBD
  • 30. DRBD ● Trabalha com journaling file system (ext3, XFS, JFS, etc...) ● Possui 3 protocolos de integridade dados ● Master/Slave, somente um sistema pode lêr/escrever em um determinado tempo ● Quando o servidor master falha o servidor slave assume ● Possui mecanismo de “resync” inteligente ● Necessário integração com Heartbeat
  • 31. DRBD
  • 32. DRBD ● Instalação tar -zxvf drbd-8.0.4.tar.gz cd drbd-0.8.0.4/drbd make clean all; make; make install ● Configuração carrega módulo no kernel (modprobe drbd) cria dispositivo drbd (mknod /dev/drbd0 b 147; mkfs.ext3 /dev/drbd0) configura drbd.conf e inicia o serviço (init.d/drbd start) configura servidor drbd primario no master (drbdadmin primary all) sincroniza discos (drbdadmin –overwrite-data-of-peer primary all) monta disco no servidor master (mount -t ext3 /dev/drbd0 /ha_backup)
  • 33. DRBD # drbd.conf (deve ser copiado nos 2 servidores) resource drbd0 {                 #primeiro espelhamento    protocol=C                         #protocolo usado (A-B-C)    fsck-cmd=fsck.ext2 -p -y     #se necessário   disk {                                   #dados do disco     do-panic                             #se erro, um kernel panic para maquina     disk-size=4096543             #se discos não iguais   } on server1 { #primeiro nodo device=/dev/drbd0 #dispositivo de drbd disk=/dev/hda3 #dispositivo de bloco address=192.168.1.2:7789 # endereço IP/porta } on server2 { #primeiro nodo device=/dev/drbd0 #dispositivo de drbd disk=/dev/hda3 #dispositivo de bloco address=192.168.1.3:7789 #endereço IP/porta }
  • 34. DRBD # haresources (arquivo de configuração do heartbeat) server1 192.168.1.4 drbddisk Filesystem::/dev/drbd0::/ha_backup::ext3 servicos onde: server1 #servidor master 192.168.1.4 #ip virtual drbddisk #torna o dispositivo como primário Filesystem::/dev/drbd0::/ha_backup::ext3 #monta file system servicos #inicia em ordem os servicos que utilizam o file system
  • 36. MON - ? ● É uma ferramenta para monitorar a disponibilidade dos serviços e enviar alertas, ● Desenvolvido e mantido por Jim Trocki(Unisys) ● GNU GLP, ● Simples, contudo muito adaptável aos projetos, ● Simples de adicionar alertas e monitores, ● Quando um alerta é dado, os dados são recolhidos para a da geração de relatório de uso geral, ● Propósito Geral: se você pode testar com software, você pode monitorá-lo.
  • 37. MON - Características ● Portátil (escrito em Perl), ● Linux, Solaris, Cygwin (Windows), ● Pode monitorar vários servidores, ● Configurável, extensível, integra com outros sistemas, ● Os arquivos de configuração são feitos de acordo com as outras ferramentas que irá intergrar.
  • 38. MON – Vários monitores ● http, lpd, smtp, ldap, imap, pop3, telnet, dns, ● Msql, mysql, oracle, postgres, informix, sybase ● reboot, processes, rpc, clock, espaço em disco, ● traceroutes, router , ● interfaces, ipsec tunnels, ● NT services, samba, printers.
  • 39. MON – Vários monitores
  • 40. MON – Componentes ● Servidor ● Clientes ● Monitores ● Trap ● Alertas
  • 41. MON - Funções ● Servidor - Programação e execução dos monitores(quando necessário),gerência alertas(envia alertas durante períodos específicos), logs, aceita traps remotos, ● Clientes - Pergunta e controla o servidor, mostrar relatórios
  • 42. MON - Funções ● Monitores - Testa a condição de um serviço - Os testes são definidos pelos usuários, - Possibilita teste em nível de aplicação, - Comunica com os sistemas monitorados através do HTTP, do SNMP, etc. ● Trap - Emiti notificações para o servidor mon ou para outras entidades externas,
  • 43. MON - Funções ● Alertas - Executar ações em casos de falhas, em servidor de pagina, de email, na ação corretiva (HA fail-over), etc. - Chama processos separadamente, - Simples de escrever,
  • 44. MON - Configuração ● cfbasedir   = /etc/ha.d/mon/etc alertdir    = /usr/lib/mon/alert.d mondir      = /usr/lib/mon/mon.d maxprocs    = 20 historicfile = /var/log/mon.log hostgroup servers 10.5.12.254 10.5.12.253 ● watch servers service ping interval 1m monitor fping.monitor -a period wd {Mon-Fri} alert mail.alert root@localhost
  • 45. MON - Comandos ● mon - monitorar os serviços para a disponibilidade, emitindo alarmes em cima das falhas. ● moncmd - emitir comandos ao daemon do mon e mostrar os resultados. ● monshow - mostrar o status operacional do usuário do mon.
  • 47. HAPM ● Desenvolvido por Alexandre Antônio, João Eriberto e Rosemeri Dantas ● Verifica status de portas TCP/UDP (nó Master) ● Trabalha com o daemon Heartbeat
  • 48. HAPM # hapm.conf socket=127.0.0.1:25 # ip e porta do serviço a ser monitorado socket=10.0.0.1:80 socket=10.0.0.1:22 time=1 # intervalo entre as checagens heartbeat=/etc/init.d/heartbeat # daemon do heartbeat
  • 49. CONCLUSÃO Como pôde ser visto neste trabalho é possível ter um sistema de alta disponibilidade baseado em ferramentas open-source, sem gastar muito dinheiro no quesito software. Um fator muito importante que se deve levar em consideração durante a implantação de um servidor de alta disponibilidade é justamente o custo x beneficio, quando maior o grau de disponibilidade maior será o recurso financeiro necessário para implementação de tal.
  • 50. Referências Bibliográficas ● http://www.linux-ha.org ● http://hapm.sourceforge.net/ ● http://www.ultramonkey.org ● http://www.pruonckk.org/wiki/index.php/Alta_Dispon ● http://ha.linuxchix.org.br/drbd.html ● http://www.drbd.org/ ● http://mon.wiki.kernel.org/index.php/Main_Page
  • 51. EXTRAS – Arquivos de Configuração máq. MASTER (HeartBeat)
  • 52. EXTRAS – Arquivos de Configuração máq. SLAVE (HeartBeat)