Você está na página 1de 13

UNIVERSIDADE MOGI DAS CRUZES

Guilherme Alves Bueno


Lucas de Freitas Alves
Lucas Carvalho
Josadalto Lima Melo
Eduardo Pereira
Diego Rabelo
Vitor Tomoi
Ricardo Teixeira

SISTEMAS DE CLUSTER – STORAGE

São Paulo, SP
2011
UNIVERSIDADE MOGI DAS CRUZES

Guilherme Alves Bueno


Lucas de Freitas Alves
Lucas Carvalho
Josadalto Lima Melo
Eduardo Pereira
Diego Rabelo
Vitor Tomoi
Ricardo Teixeira

SISTEMAS DE CLUSTER – STORAGE

Trabalho de Fundamentos da Computação e Sw Básico


sobre os cluster/storage no geral.

Profº Orientador: Jorge R. Beingolea

São Paulo, SP
2011
Sumário
I. Introdução
II. O que é Cluster?
III. Armazenamento em Cluster
IV. Objetivo/Finalidade do Cluster
V. Tipos de Cluster
VI. Exemplos de Cluster
VII. Aplicações para Clusters
VIII. Ilustrações
IX. Conclusão
X. Bibliografia
Introdução
Este trabalho tem por objetivo mostrar os principais conceitos envolvidos sobre Cluster,
assim como os tipos, suas aplicações e também sua finalidade.
4

O que é Cluster?

Cluster pode ser definido como um sistema onde dois ou mais computadores trabalham de
maneira conjunta para realizar processamento pesado. Em outras palavras, os computadores
dividem as tarefas de processamento e trabalham como se fossem um único computador.
Muitas vezes é construído a partir de computadores convencionais (personal computers), 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.

5
Armazenamento em Cluster

Que soluções de armazenamento de 3PAR, BlueArc, EqualLogic, Exanet, Isilon, da mão


esquerda, a NetApp, ONStor, Panasas, PolyServe e SGI têm em comum? Se sua resposta é
que eles representam diferentes implementações de armazenamento em cluster, você está
correto. Similar aos servidores em cluster, o armazenamento em cluster tem muitos
significados diferentes e implementações que podem resolver diversas aplicações e exigências
do negócio.

Clustering é uma técnica comprovada para suportar escala de desempenho, capacidade,


confiabilidade e disponibilidade de servidores e recursos de armazenamento para além dos
limites de um único dispositivo. sistemas de armazenamento tradicionais estão vinculados
pelas suas componentes físicos (número de unidades de disco, servidores ligados, tamanho do
cache e desempenho do controlador), juntamente com a funcionalidade e restrições lógicas
(número de sistemas de arquivos suportados, o número de instantâneos ou repetições, entre
outros). Esses limites predefinidos real ou artificial forçar os usuários a atualização para
sistemas de armazenamento maior e mais ferramentas de gestão uma vez que os limites do
sistema de armazenamento sejam cumpridas.

Características comuns de escala cluster incluem:

 Desempenho (largura de banda, ou alguma combinação PIO) ajustado para grandes


seqüencial ler ou escrever operações ou sensíveis ao tempo aleatório lê e escreve,
orientados para transações;
 Disponibilidade - eliminar pontos únicos de falha, o failover transparente ou
capacidades de auto-cura;
 A capacidade de armazenamento e conectividade de acesso ao servidor ( Fibre
Channel , Ethernet, Infiniband portas);
 Acessibilidade em termos de bloco ( iSCSI , Fibre Channel, InfiniBand) ou
armazenamento conectado em rede ( NAS ) de arquivo ( NFS , CIFS ou proprietário) e
compartilhamento de dados;
 Compartilhados nada, algo compartilhado ou compartilhado tudo arquiteturas
baseadas em hardware aberto ou proprietário e software usando força ou de baixo
acoplamento interconecta.
6

Objetivo/Finalidade do Cluster

Objetivo é fazer com que todo o processamento da aplicação seja distribuído aos
computadores, mas de forma que pareça com que eles sejam um computador só. Com isso, é
possível realizar processamentos que até então somente computadores de alta performance
seriam capazes de fazer.

Cada computador de um cluster é denominado nó ou nodo. Todos devem ser interconectados,


de maneira a formarem uma rede, de qualquer topologia. Essa rede precisa ser criada de uma
forma que permita o acréscimo ou a retirada de um nó (em casos de danos, por exemplo), mas
sem interromper o funcionamento do cluster. O sistema operacional usado nos computadores
deve ser de um mesmo tipo, ou seja, ou somente Windows, ou somente Linux, ou somente
BSD, etc. Isso porque existe particularidades em cada sistema operacional que poderiam
impedir o funcionamento do cluster.

Independente do sistema operacional usado, é preciso usar um software que permita a


montagem do cluster em si. Esse software vai ser responsável, entre outras coisas, pela
distribuição do processamento. Esse é um ponto crucial na montagem de um cluster. É preciso
que o software trabalhe de forma que erros e defeitos sejam detectados, oferecendo meios de
providenciar reparos, mas sem interromper as atividades do cluster. Obviamente, esse tipo de
necessidade pode ser controlada através de um equipamento específico, ou seja, não depende
apenas do software.

Para que exista, um cluster precisa de pelo menos dois computadores. Evidentemente, quanto
mais computadores existir no cluster, maiores serão os custos de implementação e
manutenção. Isso não se deve apenas ao preço dos computadores, mas também pelos
equipamentos (switches, cabos, hubs, nobreaks, etc). Mas ainda assim, os custos costumam
ser menores do que a aquisição/manutenção de computadores poderosos e algumas vezes o
processamento é até mais eficiente (rápido).
7

Tipos de cluster

Existem vários tipos de cluster, no entanto há alguns que são mais conhecidos, os quais são
descritos a seguir:

Cluster de Alto Desempenho: Também conhecido como cluster de alta performance, ele
funciona permitindo que ocorra uma grande carga de processamento com um volume alto de
gigaflops em computadores comuns e utilizando sistema operacional gratuito, o que diminui
seu custo.

Cluster de Alta Disponibilidade: São clusters os quais seus sistemas conseguem permanecer
ativos por um longo período de tempo e em plena condição de uso. Sendo assim, podemos
dizer que eles nunca param seu funcionamento; além disso, conseguem detectar erros se
protegendo de possíveis falhas..

Cluster para Balanceamento de Carga: Esse tipo de cluster tem como função controlar a
distribuição equilibrada do processamento. Requer um monitoramento constante na sua
comunicação e em seus mecanismos de redundância, pois se ocorrer alguma falha, haverá
uma interrupção no seu funcionamento.

Cluster Combo: Este tipo combina as características dos clusters De Alta Disponibilidade e
de Balanceamento de Carga.
8

Exemplos de Cluster
 Cluster Beowulf

O nome Beowulf vem de um herói muito valente que tinha a missão de derrotar um monstro,
num texto inglês antigo. Esse tipo de cluster, voltado à computação paralela, foi
fundamentado em 1994, pela NASA, com a finalidade de processar as informações espaciais
que a entidade recolhia. Desde então, grandes empresas (como HP e IBM) e universidades
(como a brasileira Unesp) vêm construindo clusters deste tipo e como cada vez mais nós!

De maneira generalizada, o Cluster Beowulf permite a construção de sistemas de


processamento que podem alcançar altos valores de gigaflops (um gigaflop equivale a 1
bilhão de instruções de ponto flutuante executadas por segundo). Isso tudo com o uso de
computadores comuns e de um sistema operacional com código-fonte livre, ou seja, além de
gratuito, pode ser melhorado para a sua finalidade. Tais características fizeram do Cluster
Beowulf um tema muito explorado em universidades e claro, aplicado para vários fins.

Entre os requisitos para o sistema operacional de um Cluster Beowulf, estão a necessidade de


se ter as bibliotecas para Parallel Virtual Machine (PVM) ou para Message Passing Interface
(MPI). Ambos os tipos são usados para a troca de mensagens entre os nós do cluster. O MPI é
mais avançado que o PVM, pois pode trabalhar com mensagens para todos os computadores
ou para apenas um determinado grupo (por exemplo, quando somente este grupo vai realizar
determinada tarefa).

 Cluster MOSIX

MOSIX é a sigla para Multicomputer Operating System for UnIX. Trata-se de um conjunto
de ferramentas de cluster para Linux, voltado ao tipo Balanceamento de Carga. Uma de suas
principais características é a não necessidade de aplicações e recursos de software voltados ao
cluster, como acontece com o Beowulf. O MOSIX é eficiente na tarefa de distribuição
dinâmica de processamento entre os computadores do cluster. Esse tipo, assim como o
Beowulf, é muito utilizado por universidades em pesquisas e projetos. Por ser baseado em
Linux, sua implementação é transparente, além de ser relativamente fácil de instalar.

De maneira generalizada, O MOSIX é uma extensão para Linux (ou sistemas baseados em
Unix) de um sistema de cluster que trabalha como se fosse um único supercomputador, por
meio de conceitos de Distribuição de Processos e Balanceamento de Carga.
9

Aplicações para Clusters

Os clusters podem ser usados para uma infinidade de aplicações. Basicamente, para qualquer
uma que exija processamento pesado. Como exemplos de aplicações, temos previsão
meteorológica (previsão do tempo e condições climáticas), simulações geotérmicas (ou seja,
simulação de eventos no solo), renderização de efeitos especiais (muito usado em filmes),
simulações financeiras, distribuição de carga, etc.

Basicamente, qualquer tipo de aplicação crítica, ou seja, aplicações que não podem parar de
funcionar ou não podem perder dados (como os sistemas de bancos, por exemplo), podem
utilizar as tecnologias de cluster, desde que devidamente configurados para não serem sujeitas
a falhas graves. Assim, o cluster deve contar com nobreaks ou geradores que garantam o
funcionamento do sistema mesmo nos casos de queda de energia, além de meios de
manutenção e detecção de falhas eficientes, como já citado.
10

Ilustrações

Cluster NASA

Cluster Beowulf
11

Conclusão

As tecnologias de Clustering possibilitam a solução de diversos problemas que envolvem


grande volume de processamento. As aplicações que um cluster pode ter são diversas, indo
desde a simples melhora no desempenho de um determinado sistema ou a hospedagem de um
site , até o processo de pesquisas científicas complexas. O que realmente chama a atenção, é
que todo o processamento pode ser feito de maneira que pareça ser um único computador
dotado de alta capacidade. Assim, é possível que determinadas aplicações sejam
implementadas em custer, mas sem interferir no funcionamento de outras aplicações que
estejam relacionadas.

Empresas especializadas, centros de pesquisas e universidades costumam estudar este assunto


a fundo. Como conseqüência, existem clusters com até milhares de nós. Um exemplo no
Brasil, é um cluster que foi desenvolvido em 2003 por um aluno da Universidade Estadual
Paulista (Unesp), de São Paulo. Baseado no tipo Beowulf, este cluster ficou bastante
conhecido, por ajudar na pesquisa de medicamentos para o tratamento da tuberculose. O valor
gasto neste projeto foi 60 mil reais. Se tivesse sido utilizado um supercomputador de
capacidade equivalente, os gastos seriam até 17 vezes maior.

Só por este exemplo, é possível ver os vários benefícios do Clustering. Processamento


eficiente, custo baixo, ampla gama de aplicações, enfim. Quem se sujeita a estudar estes
conceitos (que são muito mais amplos do que o que foi explicado neste artigo) poderá não só
ter sucesso profissional, mas ter um conhecimento grande sobre vários conceitos da
computação em si.
12

Bibliografia
 www.wikipedia.org
 www.infowester.com.br
 www.clubedohardware.com.br

13

Você também pode gostar