Introdução a Clusters Prof. Alberto Viegas

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Sistemas Cliente/Servidor Introdução
Noções de Sistemas Operacionais
Sistemas operacionais
Aula 21/09/2011 Courouris, Dollimore, cap 10
Sistemas Operacionais - 6
Sistemas Operacionais - 3
Sistemas Operacionais - 4
GERENCIAMENTO DE REDES PIM
Sistemas Distribuídos
Conceitos Básicos de Computação O ABC da Computação.
Computação Distribuída
Computação de Alto Desempenho
SISTEMAS DISTRIBUÍDOS
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Sistemas Operacionais
Sistemas Prof. Carlos Padovani.
Uso de Cluster de Computadores no Ambiente Corporativo
Clusters.
Sistemas Operacionais de Rede
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
I NIT I NTERNET S ERVER - IIS Solução que funciona como uma barreira de proteção, controlando o tráfego de dados entre as estações (desktops) da sua rede.
Sistema Cliente-servidor ou Sistema Client-server
Aula 9 - Camada de aplicação
Redundant Array of Independent Drives Raid
Estratégias Cliente-Servidor para SIGWeb
Sistemas Distribuídos
Cluster Beowulf.
Soluções de TI seguras, integradas e continuadas H igh P erformance C omputing.
Universidade Estadual de Santa Cruz - UESC
Atua Sistemas de Informação Manual Sistema de Administração de Servidores.
Técnico em Informática
Sistemas Operacionais
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
(Aula complemento) – Parte 1
Sistemas Distribuídos
BD Distribuído Conceitos Iniciais.
Universidade de Mogi das Cruzes Tec
1 RAID LEVEL 0 Description
SISTEMAS OPERACIONAIS I
Sistemas Tolerantes a Falhas: Conceitos e Técnicas
Processos.
Sistemas Operacionais
Prof. Rafael Folha SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL PROGRAMA NACIONAL DE ACESSO AO ENSINO TÉCNICO E EMPREGO SISTEMA DE.
Aplicações de redes em sistemas de informação
Tópicos Especiais em Redes de Computadores 6º Semestre Aula 03 Prof
Sistemas Distribuidos
Escola Tecnológica e Profissional do Sicó
Sistemas de Informação para Planejamento Estratégico Confiabilidade na Tecnologia.
Tópicos Especiais em Redes de Computadores 6º Semestre Aula 04 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL.
Redes e Manutenção de Computadores
Introdução aos Sistemas Operacionais
FIREWALL.
Serviços de rede e internet Jackson Eduardo da Silva.
Tipos de Sistemas Operacionais
Escola de Engenharia de Piracicaba Administração Sistema de Comunicação de Dados Aula 1 – Introdução Alberto Martins Júnior Flávio I. Callegari.
Arquitetura de computadores
Sistemas Distribuídos Nadilma Nunes Aula Inicial – Apresentação da disciplina.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Modelos de Sistema Prof. Dr. Norian Marranghello Grupo 6 Fábio Hitoshi Ide Gilson Watanabe.
Sistemas Operacionais de Redes
Cluster. Introdução Cluster pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar processamento.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
II Congresso Brasileiro de Tecnologia da Informação e Comunicação Clusters de Alta Disponibilidade em Linux Frederico Madeira LPIC-1, LPIC-2, CCNA
Introdução ao Gerenciamento de Redes de Computadores Curso Técnico em Redes de Computadores Professor Emerson Felipe Capítulo 01 Gerenciamento de Redes.
Projeto Integrador I Implementação de Servidor de Arquivos Eliane Linhares Mota 1.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Cluster Claudio Cavalcante. Cluster Nome dado a um sistema que relaciona dois ou mais computadores para que estes trabalhem de maneira conjunta no intuito.
Transcrição da apresentação:

Introdução a Clusters Prof. Alberto Viegas Apresentação baseada no livro de: Marcos Pitanga. Obtido em: http://www.clubedohardware.com.br/artigos/153/1

O que é um Cluster Na sua forma mais básica um cluster é um sistema que compreende dois ou mais computadores ou sistemas (denominados nodos) na qual trabalham em conjunto para executar aplicações ou realizar outras tarefas, de tal forma para que os usuários que os utilizam tenham a impressão que somente um único sistema responde para eles, criando assim uma ilusão de um recurso único (computador virtual). Este conceito é denominado transparência do sistema. Como características fundamentais para a construção destas plataformas inclui-se elevação da: confiança, distribuição de carga e performance.

Tipos de Cluster Alta Disponibilidade (High Availability (HA) and Failover), estes modelos de clusters são construídos para prover uma disponibilidade de serviços e recursos de forma ininterruptas através do uso da redundância implícitas ao sistema. A idéia geral é que se um nó do cluster vier a falhar (failover), aplicações ou serviços possam estar disponíveis em outro nó. Estes tipos de cluster são utilizados para base de dados de missões críticas, correio, servidores de arquivos e aplicações.

Tipos de Cluster Balanceamento de carga (Load Balancing), este modelo distribui o tráfego entrante ou requisições de recursos provenientes dos nodos que executam os mesmos programas entre as máquinas que compõem o cluster. Todos os nodos estão responsáveis em controlar os pedidos. Se um nó falhar, as requisições são redistribuídas entre os nós disponíveis no momento. Este tipo de solução é normalmente utilizado em fazendas de servidores de web (web farms).

Tipos de Cluster Combinação HA & Load Balancing, como o próprio nome diz combina as características dos dois tipos de cluster, aumentando assim a disponibilidade e escalabilidade de serviços e recursos. Este tipo de configuração de cluster é bastante utilizado em servidores de web, mail, news ou ftp.

Tipos de Cluster Processamento Distribuído ou Processamento Paralelo, este modelo de cluster 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 das estações (nodos), como se fosse um supercomputador massivamente paralelo. É comum associar este tipo de cluster ao projeto Beowulf da NASA. Estes clusters são usados para computação cientifica ou análises financeiras, tarefas típicas para exigência de alto poder de processamento.

Razões para utilização de um Cluster Clusters ou combinações de clusters são usados quando os conteúdos são críticos ou quando os serviços têm que estar disponíveis e/ou processados o quanto mais rápido possível. Internet Service Providers (provedores de Internet) ou sites de comércio eletrônico freqüentemente requerem alta disponibilidade e balanceamento de carga de forma escalável.

Razões para utilização de um Cluster Os clusters paralelos têm uma importante participação na indústria cinematográfica para renderização de gráficos de altíssima qualidade e animações, relembrando que o Titanic foi renderizado dentro desta plataforma nos laboratórios da Digital Domain.

Razões para utilização de um Cluster Os clusters Beowulf são usados na ciência, engenharia e finanças para atuarem em projetos de desdobramento de proteínas, dinâmica de fluídos, redes neurais, analise genética, estatística, economia, astrofísica dentre outras. Pesquisadores, organizações e empresas estão utilizando os clusters porque necessitam de incrementar sua escalabilidade, gerenciamento de recursos, disponibilidade ou processamento a nível supercomputacional a um preço disponível.

High-Availability (HA) ou Failover Clusters

High-Availability (HA) ou Failover Clusters Os computadores possuem uma forte tendência a parar quando menos você espera, principalmente num momento em que você mais necessita dele. A Alta Disponibilidade está ligada diretamente a nossa crescente dependência aos computadores Um cluster de Alta Disponibilidade visa manter a disponibilidade dos serviços prestados por um sistema computacional replicando serviços e servidores, através da redundância de hardware e reconfiguração de software. A tolerância a falhas é conseguida através de hardware, como sistemas raid, fontes e placas redundantes, sistemas rede totalmente ligados para prover caminhos alternativos na quebra de um link.

Cluster de Balanceamento de Carga O balanceamento de carga entre servidores faz parte de uma solução abrangente em uma explosiva e crescente utilização da rede e da Internet. Provendo um aumento na capacidade da rede, melhorando a performance.

Cluster de Balanceamento de Carga Os sistemas de cluster baseado em balanceamento de carga integram seus nodos para que todas as requisições provenientes dos clientes sejam distribuídas de maneira equilibrada entre os nodos. Os sistemas não trabalham junto em um único processo, mas redirecionando as requisições de forma independente assim que chegam baseados em um escalonador e um algoritmo próprio.

Cluster de Balanceamento de Carga Devemos salientar alguns pontos principais para que uma implementação em um ambiente de sucesso com balanceamento de carga nos servidores:

Cluster de Balanceamento de Carga O algoritmo usado para o balanceamento de carga, levando-se em consideração como é feito o balanceamento entre os servidores e quando um cliente fizer uma requisição para o endereço virtual (VS), todo o processo de escolha do servidor e resposta do servidor deve ocorrer de modo transparente e imperceptível para o usuário como se não existisse o balanceamento. Criar um método usado para checar se os servidores estão vivos e funcionando, vital para que a comunicação não seja redirecionada para um servidor que acabou de ter uma falha (keepalive). Um método usado para se ter certeza que um cliente acessar o mesmo servidor quando quiser.

Algoritmos de Balanceamento Least Connections Esta técnica redireciona as requisições para o servidor baseado no menor número de requisições/conexões. Por exemplo, se o servidor 1 está controlando atualmente 50 requisições/conexões, e o servidor 2 controla 25 requisições/conexões, a próxima requisição/conexão será automaticamente direcionado para o servidor 2, desde que atualmente o servidor tenha um número menor de requisições/conexões ativas.

Algoritmos de Balanceamento Round Robin Este método usa a técnica de sempre direcionar as requisições para o próximo servidor disponível de uma forma circular. Por exemplo, as conexões de entrada são dirigidas para o servidor 1, depois servidor 2 e finalmente servidor 3 e depois retorna ao servidor 1.

Algoritmos de Balanceamento Weighted Fair Esta técnica dirige os pedidos para os servidores baseados na carga de requisições de cada um e na capacidade de resposta dos mesmos (performance) Por exemplo, se o servidor 1 é quatro vezes mais rápido no atendimento aos pedidos do que o servidor 2, o administrador coloca um peso maior de trabalho para o servidor 1 do que o servidor 2.

Cluster Combinado Alta Disponibilidade e Balanceamento de Carga Esta solução combinada visa prover uma solução de alta performance aliada a possibilidade da não existência de paradas críticas. Este cluster combinado é uma solução perfeita para ISP (Internet Service Provider) e aplicações de rede nas quais a continuidade de suas operações é muito crítica.

Cluster Combinado Alta Disponibilidade e Balanceamento de Carga Algumas caracteristicas desta plataforma: Redirecionamento dos pedidos aos nós falhas para os nós reservas; Melhoria na qualidade dos níveis de serviço para as aplicações típicas de rede; Transparente integração para as aplicações stand-alone e não-cluster juntos em uma única rede virtual; Disponibilizar uma arquitetura de framework altamente escalável.

HA +LB

Beowulf Cluster O cluster Beowulf foi idealizado pelos seus desenvolvedores com o objetivo de suprir a crescente e elevada capacidade de processamento em diversas áreas cientificas com o objetivo de construírem sistemas computacionais poderosos e economicamente viáveis.

Beowulf Cluster Uma característica chave de um cluster Beowulf, é o software utilizado, que é de elevado desempenho e gratuito na maioria de suas ferramentas, como exemplo podemos citar os sistemas operacionais GNU/Linux e FreeBSD sobre os quais estão instaladas as diversas ferramentas que viabilizam o processamento paralelo, como é o caso das API’s MPI e PVM. Isto se permitiu fazer alterações no sistema operacional Linux para dotá-lo de novas características que facilitaram a implementação para aplicações paralelas.

Como o Beowulf trabalha? O sistema é dividido em um nodo controlador denominado front-end (nó mestre), cuja função é controlar o cluster, monitorando e distribuindo as tarefas, atua como servidor de arquivos e executa o elo entre os usuários e o cluster.

Como o Beowulf trabalha? Grandes sistemas em cluster podem distribuir diversos servidores de arquivos, nó de gerencia pela rede para não sobrecarregar o sistema. Os demais nós são conhecidos como clientes ou backends (nós escravos), e são exclusivamente dedicados para processamento das tarefas enviadas pelo nó controlador, e não existe a necessidade de teclados e monitores, e eventualmente até sem a utilização de disco rígidos (boot remoto), e podem ser acessadas via login remoto (telnet ou ssh).

Beowulf Cluster