Sei sulla pagina 1di 29

Clusters de alta disponibilidade

UFRGS Taisy Silva Weber 2003

Taisy Weber

Cluster
cluster ou agregado computadores com mltiplos processadores
termo usado para vasta gama de configuraes
nmero varivel de nodos de computao convencionais: de 2 nodos a poucos milhares opcionalmente alguns dispositivos de armazenamento compartilhados interconexes de alta velocidade exemplo de arquitetura tolerante a falhas exemplo da aplicao de conceitos de sistemas distribudos
Taisy Weber

The Design and Architecture of the Microsoft Cluster Service - A Practical Approach to High-Availability and Scalability, Werner Vogels et al., IEEE 1998

Definio

coleo de computadores que trabalham visando prover um sistema de grande capacidade.


deve ser to fcil de programar e de gerenciar como um nico computador de grande porte.

vantagens pode crescer muito mais do que um nico computador (escalabilidade) pode tolerar defeitos em nodos e continuar a oferecer servios (failover) pode ser construdo a partir de componentes de baixo custo
Taisy Weber

Outra definio
Cluster - um grupo de mquinas fsicas fracamente acopladas capazes de suportar o mesmo conjunto de mquinas virtuais. Qualquer mquina em um cluster pode substituir qualquer outra mquina no mesmo cluster
mquina virtual - um programa de aplicao com um endereo de IP associado, formado por um ou mais processos, que pode migrar entre as mquinas fsicas
A Flexible Clustered Approach to High Availablity Gary Hughes-Fenchel, IEEE 1997
Taisy Weber

Birman (96)

Caractersticas
como IBM-PCs ou estaes de trabalho

componentes padres:

nodos so computadores comerciais convencionais para aproveitar o baixo custo associado produo em massa

conexo interna de alta velocidade:


comunicao entre os nodos orientada a mensagens conexo de alta velocidade

subsistema de gerenciamento:
cria a abstrao de uma entidade integrada
Taisy Weber

Caractersticas
infra-estrutura de cluster:
componentes do chassi e de conexo, fontes de energia, adaptadores de comunicao, e outros componentes de hardware especficos para clusters nem todos os clusters usam hardware especial

API de cluster:
coleo de rotinas do sistema para desenvolvedores e administradores inclui recursos para determinar nodos do cluster, monitorar seus estados, executar e monitorar aplicaes em nodos, acessar funes de gerenciamento
Taisy Weber

Sistemas distribudos versus cluster


na prtica, cluster so similares a sistemas distribudos
sem memria compartilhada sem relgio global comunicao por troca de mensagens

tcnicas de TF em sistemas distribudos so teis em clusters


comunicao de grupo e membership checkpointing, logging e recuperao tratamento de particionamento
Taisy Weber

Mquinas paralelas versus cluster


vantagens do cluster escalabilidade
poder crescer muito mais do que um nico computador

failover
poder tolerar defeitos em nodos e continuar a oferecer servios

baixo custo
poder ser construdo a partir de componentes COTS
Taisy Weber

Tipos
implementao
por hardware: mais eficiente, pouco adaptvel por software: menor custo

objetivos
alto desempenho balanceamento de carga alta disponibilidade
alguns autores falam de mais um tipo: disponibilidade contnua

vrios objetivos podem ser combinados


Taisy Weber

Combinaes de tipos
bons esquemas de balanceamento de carga podem contribuir para aumentar a disponibilidade em cluster de alto desempenho:
nodos crticos podem compor um ncleo de alta disponibilidade todos os nodos podem contribuir mantendo rplicas de dados ou processos, checkpoints e logs uns dos outros

redundncia inerente no cluster facilita implementar tolerncia a falhas


Taisy Weber

10

HA-Cluster
alta disponibilidade
tempo de inicializao aps falha (failover) pode variar de poucos minutos at uma hora MTTR aplicaes em sistemas de misso crtica servidores primrio e backups

disponibilidade contnua
tempo de failover na ordem de 10 segundos
primrio e backup executam mesmos processos (warm backup)
Taisy Weber

exemplo: Tandem NCAPS para Clusters Unix

11

HA Cluster
A Highly Available Cluster consists of multiple machines interconnected by a common bus. Data is replicated at a primary and one or more backup machines. Data is accessed at the primary, using a location independent mechanism that ensures data integrity. If the primary copy of the data fails, access is recovered by switching to a backup copy. Switchover is transparent to the application, hence called seamless switchover. The fault model is fail-stop. The entire cluster is resilient to at least single failures. Designating data as highly available is selective in scope, and the overhead of replication and recovery is incurred only by applications that access highly available data. Highly Available Cluster: a Case Study Alain Azagury, et al. IEEE, 1994

Taisy Weber

12

Compartilhamento de recursos de armazenamento


sistemas de disco compartilhado:
necessitam de um gerenciador bloqueio para evitar conflitos devido a requisies de acesso simultneo a arquivos
um arquivo sendo escrito por um nodo no pode ser aberto para escrita em outro nodo

sistemas de armazenamento no compartilhado:


cada nodo no cluster independente toda a interao exclusivamente por troca de mensagens
Taisy Weber

13

Sinal de vida (heartbeat)


mensagem peridica enviada de um processo a outro para indicar que continua operacional
deteco de falhas: ausncia de heartbeats
deteco mais lenta do que por hardware em hardware o tempo de deteco em ciclos de clock
heartbeats so esperados a cada poucos segundos

modelo fail-stop
assume que se um nodo pra de enviar sinais, ele efetivamente no envia mensagens, nem altera dados no armazenamento estvel

tcnica antiga, muito usada antes mesmo dos primeiros clusters (Tandem, Targon, ...)
Taisy Weber

14

Arquitetura VAX Cluster


terminais Ethernet

VAXcluster da Digital
primeiro cluster de sucesso formado por nodos VAX

VAX

VAX

....

VAX

se um VAX colapsa
contr disco contr disco LAN duplicada

todos os processos nele caem servios precisam ser reiniciados em outro servidor do cluster
no transparente ao usurio

disco
Taisy Weber

tempo longo de recuperao

15

Cluster SUN Enterprise


objetivos:
confiabilidade e compartilhamento de carga
vrias topologias possveis: dependendo do nmero de nodos e conexo ao meio de armazenamento uma identidade de rede nica a todo o cluster: os usurios se conectam atravs do nome do cluster e so redirecionados para o nodo com a menor carga de trabalho

transparncia: aplicaes no necessitam modificaes para serem executadas no cluster


Taisy Weber

16

Cluster SUN Enterprise


cluster assimtrico os nodos no cluster no precisam ser idnticos
permite um melhor aproveitamento de antigos computadores j disponveis em uma instalao

mas um melhor desempenho alcanado com servidores de configurao semelhante


nodos muito lentos podem comprometer o desempenho

Taisy Weber

17

Cluster SUN: identidade do cluster


uma identidade de rede nica a todo o cluster o cluster visto como uma nica entidade um nico endereo de IP e um nico host name
permite que os usurios se conectem atravs do nome do cluster e sejam redirecionados para o nodo com a menor carga de trabalho

caso um nodo falhe, um outro nodo assume o seu lugar sem perda de conexo
Taisy Weber

18

Cluster SUN: transparncia


viso de sistema nico se estende para os dispositivos e processos
o identificador de processo do UNIX (pid) nico entre todos os nodos do cluster identificadores de dispositivo terminal e ns de estrutura de diretrio (o vnode)

aplicaes no necessitam modificaes para serem executadas no cluster


transparncia
Taisy Weber

19

Microsoft Cluster Server


Microsoft Cluster Server (MSCS)
parte da Enterprise Edition do Windows NT Server 4.0 proporciona apenas meios bsicos de recuperao de falhas no modelo primriobackup para dois nodos

Windows 2000 Advanced Server


na pgina do fabricante: documentos detalhados sobre cluster com Windows 2000, anlises de desempenho, documentao e estudos de casos

Taisy Weber

20

Tandem
antiga fornecedora de solues de alta disponibilidade e clusters

produtos
cluster Himalaya software de clusterizao NonStop
comercializado como middleware

para o Unix e para o NT sobre plataforma Intel suporte para processamento de transaes e aplicaes de armazenamento de dados

tecnologia de interconexo ServerNet


infra-estrutura de suporte para clusters necessrios pacotes especiais ou extenses no SO suportada por Oracle com o Oracle Parallel Server, Orion da Novell e Microsoft Cluster Server
Taisy Weber

21

Clusters Linux
servidores independentes executando o sistema operacional Linux maioria das solues baseada puramente em software
sem necessidade de hardware adicional, alm de uma conexo de alta velocidade

grande quantidade de produtos


nem todos os produtos so livres

Taisy Weber

22

Produtos comerciais para Linux


Linux Network Evolocity
compreende hardware e software

http: //www.linuxnetworx.com

Red Hat High Availability Cluster


ncleo formado pelo software livre Piranha http://www.redhat.com/docs/manuals/haserver/

IBM para cluster Linux


sistema de arquivos: IBM General Parallel File System (GPFS) for Linux software de gerncia de cluster: IBM Cluster System Management (CSM) for Linux hardware especial: IBM eServer Cluster 1300
Taisy Weber

23

Produtos livres
SteelEye Lifekepper Piranha
disponvel para servidores Linux, Unix e NT http://www.steeleue.com
servios de "failover" (um servidor com defeito substitudo)

http://www.sources.redhat.com/piranha fornecido junto ao Red Hat Linux 6.2

TurboCluster EnFusion
http://www.turbolinux.com para distribuio TurboLinux

pode integrar Solaris e NT no cluster

Linux-HA
Taisy Weber

projeto de desenvolvimento de software de alta disponibilidade

http://www.linux-ha.org permite configurar clusters com primrios e backups

24

Heartbeat no Linux-HA
ferramenta do projeto Linux-HA
http: //www.heng.com/alanr/ha/
permite configurar um nodo de backup para qualquer outro nodo em um cluster

usa antiga tcnica de tolerncia a falhas:


um nodo primrio e um backup
backup monitora primrio enviando sinais peridicos (pings por exemplo) caso o primrio falhe, o backup assume o seu lugar o backup assume o lugar do primrio enganando os demais nodos na rede
Taisy Weber

25

Disponibilidade em HAclusters
qual a disponibilidade efetivamente alcanada? promessa de 99,99%
o VAXCluster no chegava a isso

como avaliar?
experimentalmente por injeo de falhas analiticamente atravs de modelos ou durante operao levantando registros de falha (em logs por exemplo) e analisando
Taisy Weber

26

Outros exemplos
vrios outros fabricantes oferecem solues para cluster de alta disponibilidade sugesto de pesquisa:
identificar esses fabricantes procurar nas pginas dos fabricantes por essas solues descobrir quais os recursos efetivamente oferecidos para HA

Taisy Weber

27

Problemas
problema de split-brain
cada computador detecta o outro como defeituoso e assume funes de primrio

modelo fail-stop
assumido pelos fabricantes mas raramente implementado

particionamento rea recente, pouca experincia acumulada


Taisy Weber

28

Bibliografia
Birman, K. Building secure and reliable network applications. Manning Publications Co, Geenwich, 1996 Vogels, W. The Design and Architecture of the Microsoft Cluster Service - A Practical Approach to High-Availability and Scalability, FTCS-IEEE, 1998 Azagury, Alain et al. Highly Available Cluster: a Case Study. FTCS-IEEE, 1994 Hughes-Fenchel, Gary. A Flexible Clustered Approach to High Availablity. FTCS-IEEE, 1997 links de fabricantes (ver slides)

Taisy Weber

29

Potrebbero piacerti anche