De que se trata o artigo:

Este artigo descreve como configurar soluções complementares de alta disponibilidade no SQL Server 2008. Além de demonstrar em passos simples como instalar o SQL Server em cluster e configurar uma das opções de Database Mirroring, citaremos também algumas boas práticas e limitações quando se trabalha com estas duas soluções.

Em que situação o tema útil:

O emprego destas tecnologias é muito útil para empresas que possuem uma solução de alta disponibilidade usando o Windows Cluster, mas também desejam ter o banco de dados replicado em outra ponta, garantindo assim que os dados estejam íntegros e prontos para uso em outra localidade no evento de uma falha no ambiente de produção local.

Resumo DevMan:

Neste artigo serão examinadas duas soluções de alta disponibilidade acessíveis no SQL Server 2008 que quando combinadas permitem que empresas procurando outros meios de dispor seus dados de forma segura e rápida em locais geograficamente separados, possam entender em linhas gerais como executar tal solução. Também serão discutidas, de forma sucinta, as implicações de seu uso não só para o Administrador de Banco de Dados, mas também para outras equipes envolvidas.

Alta disponibilidade refere-se a um sistema ou componente que se mantém continuamente operacional por um longo e conveniente período de tempo. O SQL Server 2008 disponibiliza algumas tecnologias como parte de uma estratégia de alta disponibilidade para a proteção de dados críticos.

Cluster é uma solução conjunta de hardware e software. Um cluster é um grupo de dois ou mais servidores dedicados e conectados para prover tolerância a falhas. Em um servidor em cluster, cada computador roda o mesmo conjunto de aplicações de forma que se um deles falha, o outro assume suas funções tão logo saiba da indisponibilidade do outro. A este procedimento damos o nome de failover. Assim, o cluster, também chamado de Failover clustering, são sistemas de computadores independentes funcionando em agrupamento. Os usuários e outros computadores enxergam o servidor em cluster como um único servidor, mesmo que este seja formado por um conjunto de servidores. O servidor único visto pelo usuário é chamado de servidor virtual. Os servidores físicos que formam o servidor virtual, por sua vez, são conhecidos como nós do cluster.

O SQL Failover Clustering consiste em pelo menos dois nós rodando uma ou mais instâncias do SQL Server, podendo conter uma instância de cluster única com uma única instância de SQL Server rodando em um dos nós do cluster ou múltiplas instâncias de cluster com múltiplas instâncias do SQL Server rodando em múltiplos nós do cluster (até 16 nós com o Windows Server 2008 e o SQL Server 2008 Enterprise Edition).

Existe ainda uma solução de alta disponibilidade chamada Geo-Clustering, que seria a mais adequada para aqueles que possuem datacenters geograficamente separados. Geo-Clustering é uma configuração especial do Windows Clustering e permite que você coloque os nós do seu cluster Windows entre dois datacenters localizados normalmente em cidades distintas. Mas a instalação de um cluster geograficamente disperso requer uma configuração extremamente cara de storage. Isto porque a solução de storage local precisa replicar os dados automaticamente para a solução de storage remoto de forma assíncrona e com garantias. Além disso, mesmo com a evolução de configurações avançadas no Windows Server 2008, que permite configurar uma sub-rede com IPs diferentes para cada local, ainda assim instalar e configurar o Geo-Clustering é uma tarefa penosa e complicada.

Outra curiosidade em relação a esta solução é que os servidores em cluster não possuem disco de quorum (disco criado pelo Windows Cluster e atualizado de forma regular com informações cruciais sobre o estado do funcionamento do servidor cluster), pois não conseguimos replicar este disco de um local para o outro e ainda ter o cluster funcionando corretamente. Ao invés disso, usa-se o Majority Node Set (conjunto de discos onde as informações são gravadas por todo o cluster). Assim, quando um dos nós falha, todos os outros votam em qual deles deve iniciar o serviço. O nó vencedor pode então iniciar o serviço. O Majority Node Set também exige um número ímpar de servidores para que não exista empate.

Já o Database Mirroring é uma tecnologia que oferece uma cópia redundante de um banco de dados que é automaticamente atualizado – podendo estar ou não instalado em um servidor em cluster. De maneira geral, funciona enviando continuamente registros do log de transações do banco de dados primário para sua cópia no servidor de destino.

O Database Mirroring foi introduzido pela Microsoft ainda na versão 2005 do SQL Server, porém, apenas após a instalação do Service Pack 1. Isto levou muitas pessoas a pensarem que esta não era uma boa solução, contudo, ela é muito confiável. No Database Mirroring o banco de dados de origem envia continuamente os registros do log de transação para o banco de dados de destino. O servidor e o banco de dados de origem fazem o papel do PRINCIPAL, enquanto que o servidor e o banco de dados de destino fazem o papel de ESPELHO. O principal e o espelho são considerados PARCEIROS numa SESSÃO de ...

Quer ler esse conteúdo completo? Tenha acesso completo