Cluster ha com banco de dados

799 visualizações

Publicada em

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.

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
799
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
33
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Cluster ha com banco de dados

  1. 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 decomputadores, 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çamdisponibilidade e confiabilidade às informações. O uso cada vez mais dependente de sistemas informatizados na sociedade fez surgir anecessidade de proporcionar meios de garantir o funcionamento contínuo e sem a ocorrênciade falhas nesses sistemas, tendo em vista que muitos deles são de extrema importância para osmais diversos fins. Como resposta à essas necessidades, as soluções tecnológicas foramsurgindo com serviços de Alta Disponibilidade proporcionados pela criação de sistemas emClusters e sistemas em Cluster de alta disponibilidade. [2] Este presente trabalho tem por objetivo principal descrever um estudo sobre cluster
  2. 2. HA de banco de dados, descrevendo seu funcionamento e os benefícios oferecidos por estatecnologia 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 oucomputadores que são denominados nós, ou nodos, trabalhando em conjunto para executaraplicações e realizar determinadas tarefas de forma transparente para o usuário. Cada nó, ounodo do cluster tem que estar conectado através de uma rede, onde a mesma precisa ser criadade tal forma que permita que um nodo seja acrescentado ou retirado, em caso de danos, semque 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 (SistemaOperacional), pois cada S.O tem a sua peculiaridade e isso pode impedir o funcionamento docluster. [4] Os clusters são utilizados para o alto processamento de dados, ou seja, para processarqualquer tipo de conteúdo crítico, garantindo assim, a disponibilidade de determinadosserviços e aumentando a confiabilidade, mantendo-se em funcionamento sem a ocorrência defalha 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. 3. Cluster HA Como em qualquer outro sistema computacional, clusters também podem chegar afalhar e isso é inevitável. Pensando-se nisto, surgiu-se a necessidade de um cluster no qual seo 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 dastecnologias que já foram inventadas (a base da necessidade) surgiram-se os clusters de altadisponibilidade ou cluster HA (High - Available). Em sua definição, Clusters HA nada mais é que um cluster que visa manter adisponibilidade dos serviços prestados replicando-se os serviços e servidores, através daredundância de hardware e reconfiguração de software. São vários computadores, trabalhandojuntos como se fosse um só sistema, todos os computadores ficam monitorando uns aos outrosde forma que se um falhar, uma réplica assuma automaticamente. São feitos para proveremdisponibilidade de serviços e recursos de forma ininterrupta, já que se um nó vier a falhar, osserviços estarão disponíveis em outro nó. [3] A alta disponibilidade de um cluster é a soma de diversos fatores que buscam agaranti-la. E ela pode ser calculada utilizando a seguinte formula: Disponibilidade é igual aoTempo Médio até a primeira Falha dividido pela soma do Tempo Médio até a primeira Falha eo Tempo Médio para Realização do Reparo, (D=MTTF/(MTTF+MTTR)). Esta Disponibilidade pode ser classificada como: Básica, Alta e Continua, de acordocom 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 dedetecção, recuperação e mascaramento de falhas. Estas máquinas apresentam umadisponibilidade na faixa de 99,99% a 99,999%, podendo ficar indisponível num período quepode variar de 5 a 60 minutos em um ano de operação. Os clusters HA têm duas características bastante importantes que devem serobservadas: failover e escalabilidade. A Edéia do failover é que em caso de falhas o sistemaage automaticamente, sem a intervenção humana, por exemplo: o SQL Server usufrui doserviço de cluster do Windows Server para garantir alta disponibilidade em caso de falha dehardware. O serviço de cluster do Windows Server (Microsoft Cluster Service) garante queserviç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. 4. Já a escalabilidade é a capacidade que o sistema tem de acrescentar novos recursosou substituir os existentes, sem a necessidade de parar o serviço. E por esses motivos osclusters HA são utilizados para base de dados de missão crítica, provedores de internet, sitesde 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 é umcluster 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 issomediante o uso de uma redundância implícita ao sistema. Na possibilidade de um nó docluster falhar (operação conhecida como failover), as aplicações e serviços oferecidos estarãodisponíveis em outro nó. É um tipo de cluster usado em sistemas críticos e suas bases dedados, correios, servidores de arquivos e aplicações. [3] A ideia do uso de clusters também pode ser estendida à proteção da informaçãocontida em Datas Center. Daí o uso e o estudo do desenvolvimento de clusters HA com Bancode Dados. Na ocorrência de um possível problema que possa vir a danificar uma fonte dosdados de um grande banco de dados sempre se recorre a alguma outra fonte que contenha osmesmos dados, que foi criada por alguma forma de redundância de unidades dearmazenamento. A proteção da informação estará, dessa forma, protegida até mesmo dedesastres naturais. Um exemplo clássico pode ser visto no fatídico incidente ocorrido em 2001 no WorldTrade 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 torrecairia 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 dedistâ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. 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 ServicePack 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 outroservidor, 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 oservidor 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 achavearem para o servidor de mirror. (as aplicações procuram pelo witness através de um pa-
  6. 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 temporeal (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. 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>

×