SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Frederico Madeira
                        LPIC­1, LPIC­2, CCNA
                         fred@madeira.eng.br
                          www.madeira.eng.br




Sistemas Distribuídos
Clusters
Definição
“Cluster is a widely-used term meaning independent computers
combined into a unified system through software and
networking. At the most fundamental level, when two or more
computers are used together to solve a problem, it is
considered a cluster”
                                     - http://www.beowulf.org


“Construído a partir de computadores convencionais, os quais
são ligados em rede e comunicam-se através do sistema,
trabalhando como se fossem uma única máquina de grande
porte”
                          - http://pt.wikipedia.org/wiki/Cluster
Exemplos
Exemplos
Razões para a Utilização de Clusters

Os clusters ou combinações de clusters são utilizados a fim de
processar conteúdos críticos ou disponibilização de serviços
durante a maior parte do tempo.


Clusters de Alta Disponibilidade e Balanceamento de
Carga geralmente são utilizados por serviços críticos, como
aplicações web, vídeo streaming, servidores de email entre
outras.
Clusters paralelos normalmente são utilizados pela indústria
cinematográfica a fim de renderizar gráficos de altíssima
qualidade e animações.
Clusters Beowulf são utilizados na pesquisa cientifica, pelo
seu poder de processamento e custo de implementação
Tipos de Clusters
✔
    Alta Disponibilidade (High Availability (HA)
    and Failover)

    ➔
        Construídos para prover uma disponibilidade de
        serviços e recursos de forma ininterruptas

    ➔
        Se um nó do cluster vier a falhar (failover) as
        aplicações/serviços estarão disponíveis em um
        outro nó.

    ➔
        Utilizados para base de dados de missões
        críticas, correio, servidores de arquivos e
        aplicações.
Tipos de Clusters
✔
    Alta Disponibilidade (High Availability (HA)
    and Failover)

    ➔
        Replicação de Serviços e Servidores.

    ➔
        Tolerância a falha através de: Raid, fontes,
        placas e links redundantes

    ➔
        Exemplos:
         • Linux HA - http://www.linux-ha.org
         • DRBD - http://www.drbd.org/
Alta Disponibilidade (High Availability (HA)
and Failover)
•Alta Disponibilidade (High Availability (HA)
and Failover)
•Níveis de Disponibilidade


   Geralmente, quanto maior a disponibilidade,
   maior a redundância e custo das soluções: tudo
   depende do tipo de serviço que se pretende
   disponibilizar
Tipos de Clusters
✔
    Balanceamento de carga (Load Balancing)
     ➔
       Distribui o tráfego ou requisições entre as
       máquinas que compõem o cluster

    ➔
        Se um nó falhar, as requisições são
        redistribuídas entre os nós disponíveis no
        momento.


    ➔
        Os sistemas não trabalham junto em um único
        processo, mas redirecionando as requisições de
        forma independente, baseados em um
        escalonador e um algoritmo próprio

    ➔
        Utilizados para fazenda de servidores web (web
        farms)
•Balanceamento de carga (Load Balancing)


Alguns exemplos de soluções para Balanceamento
de carga:

   ✔
       Linux Virtual Server -
       http://www.linuxvirtualserver.org/
   ✔
       Zeus Load Balancer -
       http://www.zeus.com/products/zlb/
   ✔
       .vantronix Load Balancer -
       http://www.vantronix.com/
   ✔
       Kemp Technologies -
       http://www.kemptechnologies.com/
   ✔
       Barracuda -
       http://www.barracudanetworks.com/
   ✔
       F5 Load Balancer - http://www.f5.com/
•Balanceamento de carga (Load Balancing)
Balanceamento de Carga (Load Balancing)

Um exemplo de um site a utilizar técnicas de balanceamento de carga é a
própria Wikimedia Foundation e os seus projetos. Em Junho de 2004, a carga
era balanceada usando uma combinação de:


➔
    Round robin DNS, que distribui os pedidos uniformemente para um dos
    três servidores de cache Squid;
➔
    Estes servidores de cache usam os tempos de resposta para distribuir os
    pedidos para cada um dos sete servidores de páginas. Em média, os
    servidores Squid já têm em cache páginas suficientes para satisfazer 75%
    dos pedidos sem sequer consultar os servidores de páginas;
➔
    Os scripts PHP que formam a aplicação distribuem a carga para um de vários
    servidores de base de dados dependendo do tipo do pedido, com as
    atualizações indo para um servidor primário e as consultas para um ou mais
    servidores secundários.
                         - http://pt.wikipedia.org/wiki/Balanceamento_de_Carga
Tipos de Clusters
✔
     Processamento Distribuído ou Processamento
     Paralelo (HPC - High Performance Computing)

     ➔
         Aumenta a disponibilidade e performance para
         as aplicações, particularmente as grandes
         tarefas computacionais

     ➔
         Uma grande tarefa computacional pode ser
         dividida em pequenas tarefas que são
         distribuídas ao redor dos nodos, como se fosse
         um supercomputador massivamente paralelo
Tipos de Clusters
✔
     Processamento Distribuído ou Processamento
     Paralelo (HPC - High Performance Computing)

     ➔
         Utilizados para computação cientifica ou análises
         financeiras, tarefas típicas para exigência de alto
         poder de processamento.

     ➔
         Exemplos:
          • Beowulf Cluster - http://www.beowulf.org/
          • LinuxHPC - http://www.linuxhpc.org
•Beowulf Cluster

✔
     É o nome de um projeto para aglomerados de
     computadores (ou Clusters) para computação
     paralela, usando computadores pessoais, não
     especializados e portanto mais baratos

➔
     O projeto foi criado por Donald Becker da NASA

➔
     Possui desempenho escalável.Baseados numa
     infraestrutura de hardware comum, rede privada e
     software 'open source' (Linux)

➔
     Existe um servidor responsável por controlar todo o
     cluster, principalmente quanto à distribuição de
     tarefas e processamento.
•Beowulf Cluster
•Beowulf Cluster
Frederico Madeira
                        LPIC­1, LPIC­2, CCNA
                         fred@madeira.eng.br
                          www.madeira.eng.br




Sistemas Distribuídos
Clusters

Mais conteúdo relacionado

Mais procurados

2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
Computação Depressão
 

Mais procurados (20)

Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1
 
PROJETO DE REDE TELEFONIA MOVEL
PROJETO DE REDE TELEFONIA MOVELPROJETO DE REDE TELEFONIA MOVEL
PROJETO DE REDE TELEFONIA MOVEL
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Aula1 historia das redes
Aula1   historia das redesAula1   historia das redes
Aula1 historia das redes
 
Aula4 levantamento requisitos
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitos
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 
Desenvolvimento Dos Si
Desenvolvimento Dos SiDesenvolvimento Dos Si
Desenvolvimento Dos Si
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
Ferramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeFerramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de Rede
 
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
 
Gerenciamento de Projeto Rede de computadores
Gerenciamento de Projeto Rede de computadoresGerenciamento de Projeto Rede de computadores
Gerenciamento de Projeto Rede de computadores
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
 
Gerência de redes e computadores
Gerência de redes e computadoresGerência de redes e computadores
Gerência de redes e computadores
 
Introdução a Redes de computadores
Introdução a Redes de computadoresIntrodução a Redes de computadores
Introdução a Redes de computadores
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria
 

Semelhante a Clusters

Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidade
elliando dias
 
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra NovoSoluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
Tchelinux
 
Prova Da Dataprev 2006 Jaime Correia Amostra
Prova Da Dataprev 2006   Jaime Correia   AmostraProva Da Dataprev 2006   Jaime Correia   Amostra
Prova Da Dataprev 2006 Jaime Correia Amostra
Walter Cunha
 

Semelhante a Clusters (20)

Aula 7 (clouter)
Aula 7 (clouter)Aula 7 (clouter)
Aula 7 (clouter)
 
Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidade
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em Linux
 
Flisol 2015
Flisol 2015 Flisol 2015
Flisol 2015
 
Arquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhasArquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhas
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidade
 
Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dados
 
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestadesCloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancado
 
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra NovoSoluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Web seminario varnish
Web seminario varnishWeb seminario varnish
Web seminario varnish
 
Utilizando software livre para alta disponibilidade de sistemas web Java
Utilizando software livre para alta disponibilidade de sistemas web JavaUtilizando software livre para alta disponibilidade de sistemas web Java
Utilizando software livre para alta disponibilidade de sistemas web Java
 
Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -
 
DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017
 
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
 
Prova Da Dataprev 2006 Jaime Correia Amostra
Prova Da Dataprev 2006   Jaime Correia   AmostraProva Da Dataprev 2006   Jaime Correia   Amostra
Prova Da Dataprev 2006 Jaime Correia Amostra
 
Introdução a Cloud Computing
Introdução a Cloud ComputingIntrodução a Cloud Computing
Introdução a Cloud Computing
 
Aula01
Aula01Aula01
Aula01
 
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)
 

Mais de Frederico Madeira

Apresentação da disciplina de Gerência de Redes
Apresentação da disciplina de Gerência de RedesApresentação da disciplina de Gerência de Redes
Apresentação da disciplina de Gerência de Redes
Frederico Madeira
 

Mais de Frederico Madeira (20)

WebServices
WebServicesWebServices
WebServices
 
IoT - Internet of Things
IoT -  Internet of ThingsIoT -  Internet of Things
IoT - Internet of Things
 
SI - Comunicação
SI - ComunicaçãoSI - Comunicação
SI - Comunicação
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
SI - Arquiteturas
SI - ArquiteturasSI - Arquiteturas
SI - Arquiteturas
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas Distribuidos
 
SI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaSI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplina
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBD
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de Programas
 
Proteja seus dados em casa e na internet
Proteja seus dados em casa e na internetProteja seus dados em casa e na internet
Proteja seus dados em casa e na internet
 
Linux e o modelo open source
Linux e o modelo open sourceLinux e o modelo open source
Linux e o modelo open source
 
Redes VoIP - O Futuro da Telefonia
Redes VoIP - O Futuro da TelefoniaRedes VoIP - O Futuro da Telefonia
Redes VoIP - O Futuro da Telefonia
 
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
 
Redes NGN - Next Generation Networks
Redes NGN - Next Generation NetworksRedes NGN - Next Generation Networks
Redes NGN - Next Generation Networks
 
MRTG - SNMP na Prática
MRTG - SNMP na PráticaMRTG - SNMP na Prática
MRTG - SNMP na Prática
 
Introdução ao SNMP
Introdução ao SNMPIntrodução ao SNMP
Introdução ao SNMP
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em Redes
 
Arquiteturas de Gerência de Redes
Arquiteturas de Gerência de RedesArquiteturas de Gerência de Redes
Arquiteturas de Gerência de Redes
 
Introdução a Gerência de Redes
Introdução a Gerência de RedesIntrodução a Gerência de Redes
Introdução a Gerência de Redes
 
Apresentação da disciplina de Gerência de Redes
Apresentação da disciplina de Gerência de RedesApresentação da disciplina de Gerência de Redes
Apresentação da disciplina de Gerência de Redes
 

Clusters

  • 1. Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br Sistemas Distribuídos Clusters
  • 2. Definição “Cluster is a widely-used term meaning independent computers combined into a unified system through software and networking. At the most fundamental level, when two or more computers are used together to solve a problem, it is considered a cluster” - http://www.beowulf.org “Construído a partir de computadores convencionais, os quais são ligados em rede e comunicam-se através do sistema, trabalhando como se fossem uma única máquina de grande porte” - http://pt.wikipedia.org/wiki/Cluster
  • 5. Razões para a Utilização de Clusters Os clusters ou combinações de clusters são utilizados a fim de processar conteúdos críticos ou disponibilização de serviços durante a maior parte do tempo. Clusters de Alta Disponibilidade e Balanceamento de Carga geralmente são utilizados por serviços críticos, como aplicações web, vídeo streaming, servidores de email entre outras. Clusters paralelos normalmente são utilizados pela indústria cinematográfica a fim de renderizar gráficos de altíssima qualidade e animações. Clusters Beowulf são utilizados na pesquisa cientifica, pelo seu poder de processamento e custo de implementação
  • 6. Tipos de Clusters ✔ Alta Disponibilidade (High Availability (HA) and Failover) ➔ Construídos para prover uma disponibilidade de serviços e recursos de forma ininterruptas ➔ Se um nó do cluster vier a falhar (failover) as aplicações/serviços estarão disponíveis em um outro nó. ➔ Utilizados para base de dados de missões críticas, correio, servidores de arquivos e aplicações.
  • 7. Tipos de Clusters ✔ Alta Disponibilidade (High Availability (HA) and Failover) ➔ Replicação de Serviços e Servidores. ➔ Tolerância a falha através de: Raid, fontes, placas e links redundantes ➔ Exemplos: • Linux HA - http://www.linux-ha.org • DRBD - http://www.drbd.org/
  • 8. Alta Disponibilidade (High Availability (HA) and Failover)
  • 9. •Alta Disponibilidade (High Availability (HA) and Failover)
  • 10. •Níveis de Disponibilidade Geralmente, quanto maior a disponibilidade, maior a redundância e custo das soluções: tudo depende do tipo de serviço que se pretende disponibilizar
  • 11. Tipos de Clusters ✔ Balanceamento de carga (Load Balancing) ➔ Distribui o tráfego ou requisições entre as máquinas que compõem o cluster ➔ Se um nó falhar, as requisições são redistribuídas entre os nós disponíveis no momento. ➔ Os sistemas não trabalham junto em um único processo, mas redirecionando as requisições de forma independente, baseados em um escalonador e um algoritmo próprio ➔ Utilizados para fazenda de servidores web (web farms)
  • 12. •Balanceamento de carga (Load Balancing) Alguns exemplos de soluções para Balanceamento de carga: ✔ Linux Virtual Server - http://www.linuxvirtualserver.org/ ✔ Zeus Load Balancer - http://www.zeus.com/products/zlb/ ✔ .vantronix Load Balancer - http://www.vantronix.com/ ✔ Kemp Technologies - http://www.kemptechnologies.com/ ✔ Barracuda - http://www.barracudanetworks.com/ ✔ F5 Load Balancer - http://www.f5.com/
  • 13. •Balanceamento de carga (Load Balancing)
  • 14. Balanceamento de Carga (Load Balancing) Um exemplo de um site a utilizar técnicas de balanceamento de carga é a própria Wikimedia Foundation e os seus projetos. Em Junho de 2004, a carga era balanceada usando uma combinação de: ➔ Round robin DNS, que distribui os pedidos uniformemente para um dos três servidores de cache Squid; ➔ Estes servidores de cache usam os tempos de resposta para distribuir os pedidos para cada um dos sete servidores de páginas. Em média, os servidores Squid já têm em cache páginas suficientes para satisfazer 75% dos pedidos sem sequer consultar os servidores de páginas; ➔ Os scripts PHP que formam a aplicação distribuem a carga para um de vários servidores de base de dados dependendo do tipo do pedido, com as atualizações indo para um servidor primário e as consultas para um ou mais servidores secundários. - http://pt.wikipedia.org/wiki/Balanceamento_de_Carga
  • 15. Tipos de Clusters ✔ Processamento Distribuído ou Processamento Paralelo (HPC - High Performance Computing) ➔ Aumenta a disponibilidade e performance para as aplicações, particularmente as grandes tarefas computacionais ➔ Uma grande tarefa computacional pode ser dividida em pequenas tarefas que são distribuídas ao redor dos nodos, como se fosse um supercomputador massivamente paralelo
  • 16. Tipos de Clusters ✔ Processamento Distribuído ou Processamento Paralelo (HPC - High Performance Computing) ➔ Utilizados para computação cientifica ou análises financeiras, tarefas típicas para exigência de alto poder de processamento. ➔ Exemplos: • Beowulf Cluster - http://www.beowulf.org/ • LinuxHPC - http://www.linuxhpc.org
  • 17. •Beowulf Cluster ✔ É o nome de um projeto para aglomerados de computadores (ou Clusters) para computação paralela, usando computadores pessoais, não especializados e portanto mais baratos ➔ O projeto foi criado por Donald Becker da NASA ➔ Possui desempenho escalável.Baseados numa infraestrutura de hardware comum, rede privada e software 'open source' (Linux) ➔ Existe um servidor responsável por controlar todo o cluster, principalmente quanto à distribuição de tarefas e processamento.
  • 20. Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br Sistemas Distribuídos Clusters