SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
Cluster HA com Banco de Dados

             Márcio Jonnes Ferreira da Silva1, Allison Tácito de Lima Abrante1,

  1
      Departamento de Informática – Universidade do Estado do Rio Grande do Norte (UERN)
                                    Santa Cruz – RN – Brasil

                 allisonlima16@hotmail.com, marciojonnes@hotmail.com,




       Abstract. This target article describes the main aspects of high availability cluster
       database, addressing each of the elements that make up a high availability cluster,
       setting from a simple cluster until reaching the main focus being Cluster HA
       Database.
       Key-words: Cluster, cluster HA data base.


       Resumo. Este meta artigo descreve os principais aspectos da alta disponibilidade
       em cluster com banco de dados, abordando cada um dos elementos que o compõe e
       define desde um cluster simples até se chegar ao foco principal que é Cluster HA
       com Banco de dados.
       Palavras-chave: Cluster, cluster HA de banco de dados.




1. Introdução

           Com o crescimento que a informática impulsionou aumentando o número de redes de
computadores, ocorreu um grande requisito na quantidade do processamento de dados,
fazendo-se assim surgir uma real necessidade de banco de dados com serviços que ofereçam
disponibilidade e confiabilidade às informações.

           O uso cada vez mais dependente de sistemas informatizados na sociedade fez surgir a
necessidade de proporcionar meios de garantir o funcionamento contínuo e sem a ocorrência
de falhas nesses sistemas, tendo em vista que muitos deles são de extrema importância para os
mais diversos fins. Como resposta à essas necessidades, as soluções tecnológicas foram
surgindo com serviços de Alta Disponibilidade proporcionados pela criação de sistemas em
Clusters e sistemas em Cluster de alta disponibilidade. [2]

           Este presente trabalho tem por objetivo principal descrever um estudo sobre cluster
HA de banco de dados, descrevendo seu funcionamento e os benefícios oferecidos por esta
tecnologia tendo em vista a importância do seu uso na atualidade.




2. Clusters

         Um cluster pode ser definido como um conjunto de dois ou mais sistemas ou
computadores que são denominados nós, ou nodos, trabalhando em conjunto para executar
aplicações e realizar determinadas tarefas de forma transparente para o usuário. Cada nó, ou
nodo do cluster tem que estar conectado através de uma rede, onde a mesma precisa ser criada
de tal forma que permita que um nodo seja acrescentado ou retirado, em caso de danos, sem
que seja preciso parar o funcionamento do cluster. Outra coisa que deve ser levado em conta é
que todas as máquinas que compõem o cluster devem ter o mesmo S.O (Sistema
Operacional), pois cada S.O tem a sua peculiaridade e isso pode impedir o funcionamento do
cluster. [4]

         Os clusters são utilizados para o alto processamento de dados, ou seja, para processar
qualquer tipo de conteúdo crítico, garantindo assim, a disponibilidade de determinados
serviços e aumentando a confiabilidade, mantendo-se em funcionamento sem a ocorrência de
falha pela maior parte do tempo. [2]

         Existem vários tipos de clusters, tais como:

              Cluster de alta disponibilidade: fornece disponibilidade de serviços e recursos de
               forma ininterrupta, através de redundância implícita ao sistema;

              Cluster de balanceamento de carga: distribui as requisições feitas por nodos que
               executam os mesmos programas entre as máquinas que compõem o cluster;

              Cluster de processamento distribuído: aumenta a disponibilidade e o desempenho
               para as aplicações particularmente grandes, de tal forma que essa aplicação é
               divide em pequenas tarefas que são distribuídas ao redor dos nós. Entre outros
               tipos clusters. Mas como este presente trabalho tem como tema „Cluster HA com
               Banco de Dados‟, iremos falar de forma detalhada apenas a respeito de Cluster
               HA (alta disponibilidade).
3. Cluster HA
        Como em qualquer outro sistema computacional, clusters também podem chegar a
falhar e isso é inevitável. Pensando-se nisto, surgiu-se a necessidade de um cluster no qual se
o mesmo venha a falhar não só em um componente, mas como um todo tenha-se um reserva,
ou seja, a necessidade da alta disponibilidade e confiabilidade. E assim como na maioria das
tecnologias que já foram inventadas (a base da necessidade) surgiram-se os clusters de alta
disponibilidade ou cluster HA (High - Available).

        Em sua definição, Clusters HA nada mais é que um cluster que visa manter a
disponibilidade dos serviços prestados replicando-se os serviços e servidores, através da
redundância de hardware e reconfiguração de software. São vários computadores, trabalhando
juntos como se fosse um só sistema, todos os computadores ficam monitorando uns aos outros
de forma que se um falhar, uma réplica assuma automaticamente. São feitos para proverem
disponibilidade de serviços e recursos de forma ininterrupta, já que se um nó vier a falhar, os
serviços estarão disponíveis em outro nó. [3]

        A alta disponibilidade de um cluster é a soma de diversos fatores que buscam a
garanti-la. E ela pode ser calculada utilizando a seguinte formula: Disponibilidade é igual ao
Tempo Médio até a primeira Falha dividido pela soma do Tempo Médio até a primeira Falha e
o Tempo Médio para Realização do Reparo, (D=MTTF/(MTTF+MTTR)).

        Esta Disponibilidade pode ser classificada como: Básica, Alta e Continua, de acordo
com uma de faixa de valores. E para que ela se enquadre como Alta Disponibilidade,
adiciona-se à uma máquina básica com disponibilidade básica, mecanismos especializados de
detecção, recuperação e mascaramento de falhas. Estas máquinas apresentam uma
disponibilidade na faixa de 99,99% a 99,999%, podendo ficar indisponível num período que
pode variar de 5 a 60 minutos em um ano de operação.

        Os clusters HA têm duas características bastante importantes que devem ser
observadas: failover e escalabilidade. A Edéia do failover é que em caso de falhas o sistema
age automaticamente, sem a intervenção humana, por exemplo: o SQL Server usufrui do
serviço de cluster do Windows Server para garantir alta disponibilidade em caso de falha de
hardware. O serviço de cluster do Windows Server (Microsoft Cluster Service) garante que
serviços hospedados em um servidor sejam movidos a outro em caso de falha de hardware,
com queda mínima no tempo de serviço. [5]
Já a escalabilidade é a capacidade que o sistema tem de acrescentar novos recursos
ou substituir os existentes, sem a necessidade de parar o serviço. E por esses motivos os
clusters HA são utilizados para base de dados de missão crítica, provedores de internet, sites
de comercio eletrônico, servidores de arquivos e aplicações entre outros.

4. Clusters HA com Banco de Dados

        Clusters HA nada mais são do que um tipo de cluster entre alguns outros existentes.
Antes de entender o que é um cluster HA com banco de dados é necessário saber o que é um
cluster HA propriamente dito.

        Clusters de alta disponibilidade são criados para manter, de maneira ininterrupta,
determinados serviços e recursos, provendo assim disponibilidade para estes. Tudo isso
mediante o uso de uma redundância implícita ao sistema. Na possibilidade de um nó do
cluster falhar (operação conhecida como failover), as aplicações e serviços oferecidos estarão
disponíveis em outro nó. É um tipo de cluster usado em sistemas críticos e suas bases de
dados, correios, servidores de arquivos e aplicações. [3]

        A ideia do uso de clusters também pode ser estendida à proteção da informação
contida em Datas Center. Daí o uso e o estudo do desenvolvimento de clusters HA com Banco
de Dados. Na ocorrência de um possível problema que possa vir a danificar uma fonte dos
dados de um grande banco de dados sempre se recorre a alguma outra fonte que contenha os
mesmos dados, que foi criada por alguma forma de redundância de unidades de
armazenamento. A proteção da informação estará, dessa forma, protegida até mesmo de
desastres naturais.
        Um exemplo clássico pode ser visto no fatídico incidente ocorrido em 2001 no World
Trade Center, em Nova York. No primeiro caso, uma corretora de seguros tinha seu data cen-
ter em uma das torres e sua réplica na outra torre. Só não imaginaram que a segunda torre
cairia junto com a primeira, como ocorreu. No segundo caso, uma instituição bancária tam-
bém tinha seu data center em uma das torres, mas sua réplica estava a alguns quilômetros de
distância do principal. Nesse caso, ocorreu uma leve indisponibilidade do sistema corporativo,
até que o segundo data center estivesse em plena operação. [7]
        Quando se fala em clusters de bancos de dados deve-se ter em mente três tipos de clus-
ters:
              Shared All: Seu funcionamento básico refere-se ao compartilhamento da me-
               mória (shared buffers) e os discos (datafiles) para cada nó do cluster;
    Shared Disc: Seu funcionamento se retém ao compartilhamento apenas dos
                   discos pelos nós do cluster;
                  Shared Nothing: Nesse caso cada nó irá possuir memória e discos próprios. [9]




Figura 1: Cluster MySql com tolerância a Falhas. Fonte: http://www.slideshare.net/suissapg/cluster-e-replicao-em-banco-de-

                                           dados Acessado em: 08/10/2012



    4.1. Database Mirroring

         O Database Mirroring foi introduzido ao SQL Server 2005 como parte do Service
Pack 1. Trata-se de uma tecnologia que permite atingir os maiores níveis de alta disponibili-
dade de uma forma muito simples e barata. Ele permite espelhar um banco de dados em outro
servidor, aplicando quaisquer alterações no banco de dados no servidor principal instantanea-
mente no servidor de espelho. [8]

         Dependendo da forma como o Database Mirroring for configurado, o failover para o
servidor de mirror pode ser automático, sem necessidade de chaveamento manual na aplica-
ção. Isto é feito através da utilização de um servidor chamado witness (testemunha) que moni-
tora a disponibilidade do servidor principal e “notifica” as aplicações que se conectam a ele a
chavearem para o servidor de mirror. (as aplicações procuram pelo witness através de um pa-
râmetro em sua connection string) Muito simples de configurar e manter, tem sido amplamen-
te utilizado no mercado. [8]

       Quanto a desempenho, pode-se configurar se as transações serão enviadas em tempo
real (de forma síncrona) ou com um pequeno atraso (de forma assíncrona). Isto permite balan-
cear a carga de rede e de processamento. [8]




5. Referências bibliográficas

   1. MODELO para submissão de Artigos SBC – IE. Disponível em:
       <http://www.sbc.org.br/index.php?language=1&content=downloads&id=373> Acesso
       em: 21 Nov. acesso em 27 de setembro de 2012.

   2. Reis, Adrieli Cristiane de Freitas; Junior, Claudio Gonçalves Soares. [et al].
       Cluster de alta disponibilidade. Disponível em:
       <http://www.4learn.pro.br/guarino/sd/HA.pdf> acesso em 27 de setembro de
       2012.

   3. Pitanga, Marcos. Computação em Cluster. Disponível em:
       <http://www.clubedohardware.com.br/artigos/153> acesso em 27 de setembro
       de 2012.

   4. Cluster: principais definições e conceitos. Disponível em:
       <http://www.infowester.com/cluster.php> acesso em 04 de outubro de 2012.

   5. Alta disponibilidade com SQL Server. Disponível em:
       <http://blogs.msdn.com/b/procha/archive/2008/03/07/alta-disponibilidade-com-sql-
       server.aspx> acesso em 05 de outubro de 2012.

   6. Guia no Servidor Conectiva Linux, Disponível em:
       <http://www.conectiva.com/doc/livros/online/9.0/servidor/ha.html> acesso 04 de
       outubro de 2012.
   7. IKE, Fernando. (2008) “O máximo da disponibilidade: Sempre Alerta”, Linux
       Magazine - 43ª edição.

   8. SQL Server: Um Endpoint Brasileiro, Disponível em:
       http://www.blogs.msdn.com/b/procha/ Acesso em 07 de outubro de 2012
9. Cluster de Banco de Dados e Replicação, Disponível em:
   <http://www.slideshare.net/suissapg/cluster-e-replicao-em-banco-de-dados>

Contenu connexe

Tendances

Banco de Dados Distribuídos
Banco de Dados DistribuídosBanco de Dados Distribuídos
Banco de Dados Distribuídos
Adail Viana Neto
 
Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidade
elliando dias
 
Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)
Evandro Júnior
 
Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linux
elliando dias
 
Deploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstackDeploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstack
Lorscheider Santiago
 
Trabalho de sistema operativo servidor
Trabalho de sistema operativo servidorTrabalho de sistema operativo servidor
Trabalho de sistema operativo servidor
dtml2k
 

Tendances (20)

Banco de Dados Distribuídos
Banco de Dados DistribuídosBanco de Dados Distribuídos
Banco de Dados Distribuídos
 
Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidade
 
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUXARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
 
Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)
 
Clustering Domino8.5
Clustering Domino8.5Clustering Domino8.5
Clustering Domino8.5
 
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
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em Linux
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBD
 
Funcionamento kernel
Funcionamento kernelFuncionamento kernel
Funcionamento kernel
 
Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linux
 
Aula 7 (clouter)
Aula 7 (clouter)Aula 7 (clouter)
Aula 7 (clouter)
 
Clusters
ClustersClusters
Clusters
 
Oracle Real Application Clusters
Oracle Real Application ClustersOracle Real Application Clusters
Oracle Real Application Clusters
 
Deploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstackDeploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstack
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidor
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Apresentação OpenSUSE 11.3 para Power Users - Portuguese
Apresentação OpenSUSE 11.3 para Power Users - PortugueseApresentação OpenSUSE 11.3 para Power Users - Portuguese
Apresentação OpenSUSE 11.3 para Power Users - Portuguese
 
Trabalho de sistema operativo servidor
Trabalho de sistema operativo servidorTrabalho de sistema operativo servidor
Trabalho de sistema operativo servidor
 
Workshop linux system administration ls
Workshop linux system administration lsWorkshop linux system administration ls
Workshop linux system administration ls
 
Gfs slides
Gfs slidesGfs slides
Gfs slides
 

Similaire à Cluster ha com banco de dados

Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end
Andressa Silveira
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
robsons75
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
Carlo Pires
 

Similaire à Cluster ha com banco de dados (20)

Alta Disponibilidade
Alta Disponibilidade Alta Disponibilidade
Alta Disponibilidade
 
Clusters, o que é?
Clusters, o que é?Clusters, o que é?
Clusters, o que é?
 
Cluster individual
Cluster   individualCluster   individual
Cluster individual
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 
Sistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosSistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplos
 
xxx no sequel
xxx no sequelxxx no sequel
xxx no sequel
 
Distributed Systems - Exercises
Distributed Systems - ExercisesDistributed Systems - Exercises
Distributed Systems - Exercises
 
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de DadosAlta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados
 
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOCOMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas Monografia
 
Armazenamento de Dados Aplicado à Computação em Nuvem
Armazenamento de Dados Aplicado à Computação em NuvemArmazenamento de Dados Aplicado à Computação em Nuvem
Armazenamento de Dados Aplicado à Computação em Nuvem
 
Artigo Nosql
Artigo NosqlArtigo Nosql
Artigo Nosql
 
Arquitetura RAC oracle database 04
Arquitetura RAC oracle database 04Arquitetura RAC oracle database 04
Arquitetura RAC oracle database 04
 
My sql apresentação
My sql apresentaçãoMy sql apresentação
My sql apresentação
 
Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
Alta disponibilidade com o oracle _11gpdf
Alta disponibilidade com o oracle _11gpdfAlta disponibilidade com o oracle _11gpdf
Alta disponibilidade com o oracle _11gpdf
 
SISTEMA SD
SISTEMA SDSISTEMA SD
SISTEMA SD
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
 

Cluster ha com banco de dados

  • 1. Cluster HA com Banco de Dados Márcio Jonnes Ferreira da Silva1, Allison Tácito de Lima Abrante1, 1 Departamento de Informática – Universidade do Estado do Rio Grande do Norte (UERN) Santa Cruz – RN – Brasil allisonlima16@hotmail.com, marciojonnes@hotmail.com, Abstract. This target article describes the main aspects of high availability cluster database, addressing each of the elements that make up a high availability cluster, setting from a simple cluster until reaching the main focus being Cluster HA Database. Key-words: Cluster, cluster HA data base. Resumo. Este meta artigo descreve os principais aspectos da alta disponibilidade em cluster com banco de dados, abordando cada um dos elementos que o compõe e define desde um cluster simples até se chegar ao foco principal que é Cluster HA com Banco de dados. Palavras-chave: Cluster, cluster HA de banco de dados. 1. Introdução Com o crescimento que a informática impulsionou aumentando o número de redes de computadores, ocorreu um grande requisito na quantidade do processamento de dados, fazendo-se assim surgir uma real necessidade de banco de dados com serviços que ofereçam disponibilidade e confiabilidade às informações. O uso cada vez mais dependente de sistemas informatizados na sociedade fez surgir a necessidade de proporcionar meios de garantir o funcionamento contínuo e sem a ocorrência de falhas nesses sistemas, tendo em vista que muitos deles são de extrema importância para os mais diversos fins. Como resposta à essas necessidades, as soluções tecnológicas foram surgindo com serviços de Alta Disponibilidade proporcionados pela criação de sistemas em Clusters e sistemas em Cluster de alta disponibilidade. [2] Este presente trabalho tem por objetivo principal descrever um estudo sobre cluster
  • 2. HA de banco de dados, descrevendo seu funcionamento e os benefícios oferecidos por esta tecnologia tendo em vista a importância do seu uso na atualidade. 2. Clusters Um cluster pode ser definido como um conjunto de dois ou mais sistemas ou computadores que são denominados nós, ou nodos, trabalhando em conjunto para executar aplicações e realizar determinadas tarefas de forma transparente para o usuário. Cada nó, ou nodo do cluster tem que estar conectado através de uma rede, onde a mesma precisa ser criada de tal forma que permita que um nodo seja acrescentado ou retirado, em caso de danos, sem que seja preciso parar o funcionamento do cluster. Outra coisa que deve ser levado em conta é que todas as máquinas que compõem o cluster devem ter o mesmo S.O (Sistema Operacional), pois cada S.O tem a sua peculiaridade e isso pode impedir o funcionamento do cluster. [4] Os clusters são utilizados para o alto processamento de dados, ou seja, para processar qualquer tipo de conteúdo crítico, garantindo assim, a disponibilidade de determinados serviços e aumentando a confiabilidade, mantendo-se em funcionamento sem a ocorrência de falha pela maior parte do tempo. [2] Existem vários tipos de clusters, tais como:  Cluster de alta disponibilidade: fornece disponibilidade de serviços e recursos de forma ininterrupta, através de redundância implícita ao sistema;  Cluster de balanceamento de carga: distribui as requisições feitas por nodos que executam os mesmos programas entre as máquinas que compõem o cluster;  Cluster de processamento distribuído: aumenta a disponibilidade e o desempenho para as aplicações particularmente grandes, de tal forma que essa aplicação é divide em pequenas tarefas que são distribuídas ao redor dos nós. Entre outros tipos clusters. Mas como este presente trabalho tem como tema „Cluster HA com Banco de Dados‟, iremos falar de forma detalhada apenas a respeito de Cluster HA (alta disponibilidade).
  • 3. 3. Cluster HA Como em qualquer outro sistema computacional, clusters também podem chegar a falhar e isso é inevitável. Pensando-se nisto, surgiu-se a necessidade de um cluster no qual se o mesmo venha a falhar não só em um componente, mas como um todo tenha-se um reserva, ou seja, a necessidade da alta disponibilidade e confiabilidade. E assim como na maioria das tecnologias que já foram inventadas (a base da necessidade) surgiram-se os clusters de alta disponibilidade ou cluster HA (High - Available). Em sua definição, Clusters HA nada mais é que um cluster que visa manter a disponibilidade dos serviços prestados replicando-se os serviços e servidores, através da redundância de hardware e reconfiguração de software. São vários computadores, trabalhando juntos como se fosse um só sistema, todos os computadores ficam monitorando uns aos outros de forma que se um falhar, uma réplica assuma automaticamente. São feitos para proverem disponibilidade de serviços e recursos de forma ininterrupta, já que se um nó vier a falhar, os serviços estarão disponíveis em outro nó. [3] A alta disponibilidade de um cluster é a soma de diversos fatores que buscam a garanti-la. E ela pode ser calculada utilizando a seguinte formula: Disponibilidade é igual ao Tempo Médio até a primeira Falha dividido pela soma do Tempo Médio até a primeira Falha e o Tempo Médio para Realização do Reparo, (D=MTTF/(MTTF+MTTR)). Esta Disponibilidade pode ser classificada como: Básica, Alta e Continua, de acordo com uma de faixa de valores. E para que ela se enquadre como Alta Disponibilidade, adiciona-se à uma máquina básica com disponibilidade básica, mecanismos especializados de detecção, recuperação e mascaramento de falhas. Estas máquinas apresentam uma disponibilidade na faixa de 99,99% a 99,999%, podendo ficar indisponível num período que pode variar de 5 a 60 minutos em um ano de operação. Os clusters HA têm duas características bastante importantes que devem ser observadas: failover e escalabilidade. A Edéia do failover é que em caso de falhas o sistema age automaticamente, sem a intervenção humana, por exemplo: o SQL Server usufrui do serviço de cluster do Windows Server para garantir alta disponibilidade em caso de falha de hardware. O serviço de cluster do Windows Server (Microsoft Cluster Service) garante que serviços hospedados em um servidor sejam movidos a outro em caso de falha de hardware, com queda mínima no tempo de serviço. [5]
  • 4. Já a escalabilidade é a capacidade que o sistema tem de acrescentar novos recursos ou substituir os existentes, sem a necessidade de parar o serviço. E por esses motivos os clusters HA são utilizados para base de dados de missão crítica, provedores de internet, sites de comercio eletrônico, servidores de arquivos e aplicações entre outros. 4. Clusters HA com Banco de Dados Clusters HA nada mais são do que um tipo de cluster entre alguns outros existentes. Antes de entender o que é um cluster HA com banco de dados é necessário saber o que é um cluster HA propriamente dito. Clusters de alta disponibilidade são criados para manter, de maneira ininterrupta, determinados serviços e recursos, provendo assim disponibilidade para estes. Tudo isso mediante o uso de uma redundância implícita ao sistema. Na possibilidade de um nó do cluster falhar (operação conhecida como failover), as aplicações e serviços oferecidos estarão disponíveis em outro nó. É um tipo de cluster usado em sistemas críticos e suas bases de dados, correios, servidores de arquivos e aplicações. [3] A ideia do uso de clusters também pode ser estendida à proteção da informação contida em Datas Center. Daí o uso e o estudo do desenvolvimento de clusters HA com Banco de Dados. Na ocorrência de um possível problema que possa vir a danificar uma fonte dos dados de um grande banco de dados sempre se recorre a alguma outra fonte que contenha os mesmos dados, que foi criada por alguma forma de redundância de unidades de armazenamento. A proteção da informação estará, dessa forma, protegida até mesmo de desastres naturais. Um exemplo clássico pode ser visto no fatídico incidente ocorrido em 2001 no World Trade Center, em Nova York. No primeiro caso, uma corretora de seguros tinha seu data cen- ter em uma das torres e sua réplica na outra torre. Só não imaginaram que a segunda torre cairia junto com a primeira, como ocorreu. No segundo caso, uma instituição bancária tam- bém tinha seu data center em uma das torres, mas sua réplica estava a alguns quilômetros de distância do principal. Nesse caso, ocorreu uma leve indisponibilidade do sistema corporativo, até que o segundo data center estivesse em plena operação. [7] Quando se fala em clusters de bancos de dados deve-se ter em mente três tipos de clus- ters:  Shared All: Seu funcionamento básico refere-se ao compartilhamento da me- mória (shared buffers) e os discos (datafiles) para cada nó do cluster;
  • 5. Shared Disc: Seu funcionamento se retém ao compartilhamento apenas dos discos pelos nós do cluster;  Shared Nothing: Nesse caso cada nó irá possuir memória e discos próprios. [9] Figura 1: Cluster MySql com tolerância a Falhas. Fonte: http://www.slideshare.net/suissapg/cluster-e-replicao-em-banco-de- dados Acessado em: 08/10/2012 4.1. Database Mirroring O Database Mirroring foi introduzido ao SQL Server 2005 como parte do Service Pack 1. Trata-se de uma tecnologia que permite atingir os maiores níveis de alta disponibili- dade de uma forma muito simples e barata. Ele permite espelhar um banco de dados em outro servidor, aplicando quaisquer alterações no banco de dados no servidor principal instantanea- mente no servidor de espelho. [8] Dependendo da forma como o Database Mirroring for configurado, o failover para o servidor de mirror pode ser automático, sem necessidade de chaveamento manual na aplica- ção. Isto é feito através da utilização de um servidor chamado witness (testemunha) que moni- tora a disponibilidade do servidor principal e “notifica” as aplicações que se conectam a ele a chavearem para o servidor de mirror. (as aplicações procuram pelo witness através de um pa-
  • 6. râmetro em sua connection string) Muito simples de configurar e manter, tem sido amplamen- te utilizado no mercado. [8] Quanto a desempenho, pode-se configurar se as transações serão enviadas em tempo real (de forma síncrona) ou com um pequeno atraso (de forma assíncrona). Isto permite balan- cear a carga de rede e de processamento. [8] 5. Referências bibliográficas 1. MODELO para submissão de Artigos SBC – IE. Disponível em: <http://www.sbc.org.br/index.php?language=1&content=downloads&id=373> Acesso em: 21 Nov. acesso em 27 de setembro de 2012. 2. Reis, Adrieli Cristiane de Freitas; Junior, Claudio Gonçalves Soares. [et al]. Cluster de alta disponibilidade. Disponível em: <http://www.4learn.pro.br/guarino/sd/HA.pdf> acesso em 27 de setembro de 2012. 3. Pitanga, Marcos. Computação em Cluster. Disponível em: <http://www.clubedohardware.com.br/artigos/153> acesso em 27 de setembro de 2012. 4. Cluster: principais definições e conceitos. Disponível em: <http://www.infowester.com/cluster.php> acesso em 04 de outubro de 2012. 5. Alta disponibilidade com SQL Server. Disponível em: <http://blogs.msdn.com/b/procha/archive/2008/03/07/alta-disponibilidade-com-sql- server.aspx> acesso em 05 de outubro de 2012. 6. Guia no Servidor Conectiva Linux, Disponível em: <http://www.conectiva.com/doc/livros/online/9.0/servidor/ha.html> acesso 04 de outubro de 2012. 7. IKE, Fernando. (2008) “O máximo da disponibilidade: Sempre Alerta”, Linux Magazine - 43ª edição. 8. SQL Server: Um Endpoint Brasileiro, Disponível em: http://www.blogs.msdn.com/b/procha/ Acesso em 07 de outubro de 2012
  • 7. 9. Cluster de Banco de Dados e Replicação, Disponível em: <http://www.slideshare.net/suissapg/cluster-e-replicao-em-banco-de-dados>