Os Grupos de Disponibilidade do SQL Server 2012 AlwaysOn

Propaganda
Guia da arquitetura AlwaysOn: criando uma solução de alta
disponibilidade e recuperação de desastre usando instâncias de
cluster de failover e grupos de disponibilidade
Artigo técnico do SQL Server
Autores: Joseph Sack (SQLskills.com), Sanjay Mishra (Microsoft)
Revisores técnicos: Min He (Microsoft), Chuck Heinzelman (Microsoft), Alexi Khalyako
(Microsoft), Charles Mathews (Microsoft), Prem Mehra (Microsoft), Juergen Thomas (Microsoft),
Mike Weiner (Microsoft), Amitabh Tamhane (Microsoft), Brent Ozar (Brent Ozar PLF), Gianluca
Hotz (SolidQ), David P. Smith (ServiceU), Michael Steineke (Edgenet), Glenn Berry
(SQLskills.com)
Gerente de programa de conteúdo: Glenn Minch (Microsoft)
Publicado em: junho de 2012
Aplica-se a: SQL Server 2012
Resumo: As Instâncias de Cluster de Failover (FCI) do SQL Server 2012 AlwaysOn e os
Grupos de Disponibilidade AlwaysOn oferecem uma solução de alta disponibilidade
e recuperação de desastre abrangente. Antes do SQL Server 2012, vários clientes usavam
FCIs para fornecer alta disponibilidade local dentro de um data center e o espelhamento de
banco de dados para a recuperação de desastre em um data center remoto. Com o SQL
Server 2012, esse padrão comum de design pode ser substituído por uma arquitetura que
usa FCIs para alta disponibilidade e grupos de disponibilidade para requisitos de negócios
de recuperação de desastre. Os grupos de disponibilidade utilizam a funcionalidade WSFC
(Windows Server Failover Clustering) e habilitam vários recursos não disponíveis no
espelhamento de banco de dados. Este documento descreve os principais requisitos da
topologia desse padrão de design específico, inclusive considerações sobre o armazenamento
assimétrico, a seleção do modelo de quorum, votos de quorum, as etapas necessárias para
criar o ambiente e um fluxo de trabalho que ilustra como tratar um evento de recuperação de
desastre na nova topologia entre os cargos participantes.
Direitos autorais
Este documento é fornecido “como está”. As informações e opiniões expressas nele, inclusive URLs
e outras referências a sites da Internet, poderão ser alteradas sem aviso prévio. Você se responsabiliza
por usá-lo.
Alguns exemplos representados aqui são fornecidos apenas para ilustração e são fictícios. Nenhuma
associação real ou conexão é desejada ou deve ser inferida.
Este documento não fornece direitos legais a nenhuma propriedade intelectual de qualquer produto
Microsoft. Você pode copiar e usar este documento para sua referência interna.
© 2012 Microsoft. Todos os direitos reservados.
2
Sumário
Introdução..................................................................................................................................................... 4
FCIs para HA local e espelhamento de banco de dados para DR ................................................................. 4
FCIs para HA local e grupos de disponibilidade para DR .............................................................................. 5
Planejamento e considerações ..................................................................................................................... 7
Requisitos de cluster de failover do Windows Server .............................................................................. 7
Armazenamento assimétrico .................................................................................................................... 7
Nomenclatura e caminho de arquivo de instância ................................................................................... 7
Modo de disponibilidade e modo de failover ........................................................................................... 8
Votos de nós e modelos de quorum ......................................................................................................... 8
Ferramentas para exibir e alterar votos de nós e modelos de quorum ............................................. 11
Configurando o modelo de quorum do WSFC .................................................................................... 11
Usando DMVs e o painel AlwaysOn para exibir informações de quorum .......................................... 12
Configurando votos de nós ................................................................................................................. 13
Conectividade de cliente......................................................................................................................... 14
Cargas de trabalho de leitura/gravação ............................................................................................. 14
Cargas de trabalho somente leitura ................................................................................................... 14
Suporte à conexão de várias sub-redes .............................................................................................. 15
Configurando a solução FCI+AG.................................................................................................................. 15
Instalando pré-requisitos ........................................................................................................................ 15
Configurando a solução no data center primário ................................................................................... 16
Configurando a solução no data center de DR ....................................................................................... 21
Considerações sobre monitoramento ........................................................................................................ 26
Recuperando-se de um desastre ................................................................................................................ 27
Revertendo para o data center primário .................................................................................................... 33
Conclusão .................................................................................................................................................... 36
Referências.................................................................................................................................................. 37
3
Introdução
O Microsoft SQL Server 2012 AlwaysOn fornece opções flexíveis de design para a seleção de uma solução
adequada de alta disponibilidade (HA) e recuperação de desastre (DR) para seu aplicativo. Para saber
mais sobre os padrões de design de alta disponibilidade e recuperação de desastre do SQL Server 2012
AlwaysOn, consulte Padrões de design de alta disponibilidade e recuperação de desastre do SQL
Server 2012 AlwaysOn.
Este white paper descreve a solução usando instâncias de cluster de failover (FCI) para HA e usando
grupos de disponibilidade (AG) para DR. Essa arquitetura combina uma solução de armazenamento
compartilhado (FCI) e uma solução de armazenamento não compartilhado (AG).
Antes do SQL Server 2012, uma arquitetura comum de implantação de HA e DR envolvia o uso de FCIs
para alta disponibilidade local e espelhamento de banco de dados (DBM) para a recuperação de
desastre remota. Com o SQL Server 2012, os grupos de disponibilidade podem substituir o componente
de espelhamento de banco de dados da solução.
Este documento aborda considerações de planejamento e descreve as etapas necessárias para criar essa
solução. Ele também aborda as etapas necessárias para recuperação de um desastre e explica como
reverter para o data center primário após sua restauração.
Este documento pressupõe um conhecimento básico dos conceitos de instâncias de cluster de failover
(FCIs), grupos de disponibilidade, alta disponibilidade e recuperação de desastre. Para saber mais sobre
o conjunto completo de recursos da solução AlwaysOn, consulte o white paper Guia de soluções
Microsoft SQL Server AlwaysOn para alta disponibilidade e recuperação de desastre. Para saber mais
sobre as etapas de migração, consulte o white paper Guia de migração: migrando para clustering de
failover do SQL Server 2012 e grupos de disponibilidade a partir de implantações de clustering
e espelhamento anteriores.
O público-alvo deste white paper inclui administradores operacionais de bancos de dados do SQL Server
e arquitetos de tecnologia. Ele também se dirige aos administradores de sistemas que colaboram com
a função de administrador de banco de dados para gerenciar o Windows Server, os Serviços de Domínio
Active Directory (AD DS), o WSFC e o sistema de rede.
FCIs para HA local e espelhamento de banco de dados para DR
Conforme mencionado na introdução, antes do SQL Server 2012, uma arquitetura de implantação
comum do SQL Server envolvia o uso de FCIs para alta disponibilidade local e o uso do espelhamento de
banco de dados para recuperação de desastre entre data centers. Isso era conhecido como uma solução
FCI+DBM. Para essa solução, uma FCI é configurada no data center primário usando armazenamento em
disco compartilhado (por meio da SAN, por exemplo) para fornecer proteção em nível de instância do
SQL Server. Se ocorrer uma falha de hardware em um dos nós, outro nó poderá assumir como o host da
FCI dentro do mesmo data center.
4
O espelhamento de banco de dados é usado entre o site primário e o site de recuperação de desastre
para fornecer proteção em nível de banco de dados. No caso de uma interrupção do data center
primário, ou se o armazenamento compartilhado no data center primário apresentar uma falha,
o espelho no data center de DR poderá ser usado para restaurar o serviço para os aplicativos. O data
center de recuperação de desastre hospeda outra FCI em um WSFC separado, com seu próprio
armazenamento compartilhado. A Figura 1 fornece uma representação dessa arquitetura de solução.
Data center primário
Data center de recuperação de desastre
Cluster de failover “A” do Windows
Server
Cluster de failover “B” do Windows Server
Cluster de failover “A” do Windows Server
SQLFCIPrimary\INST_A
SQLFCIDR\INST
A
Espelhamento de
banco de dados
Banco de dados
principal
Banco de dados
espelho
Figura 1: FCI para alta disponibilidade e espelhamento de banco de dados para recuperação de desastre
Em geral, o data center de DR está localizado a uma distância do data center primário, e a sessão de
espelhamento é definida como modo assíncrono de “alto desempenho” para minimizar a sobrecarga em
transações. Ocasionalmente, o espelhamento de banco de dados síncrono entre os data centers
também é observado.
Para obter mais informações, incluindo um exemplo prático dessa solução específica, consulte Alta
disponibilidade e recuperação de desastre em ServiceU: um estudo de caso técnico do SQL Server 2008.
FCIs para HA local e grupos de disponibilidade para DR
Com o SQL Server 2012, uma solução semelhante envolve o uso de FCIs para alta disponibilidade local,
como a solução FCI+DBM, porém o uso de grupos de disponibilidade (AG) para a recuperação de
desastre. Essa solução é chamada de FCI+AG.
A Figura 2 mostra a solução usando FCIs para alta disponibilidade local e grupos de disponibilidade para
a recuperação de desastre entre data centers.
Figura 2: FCIs para alta disponibilidade e grupos de disponibilidade para recuperação de desastre
5
A Figura 2 mostra duas FCIs, uma no data center primário e outra no data center de recuperação de
desastre. Cada FCI tem dois nós e seu próprio armazenamento compartilhado. Todos os quatro nós,
porém, fazem parte do mesmo WSFC. Um requisito para grupos de disponibilidade é que todos os nós
pertençam ao mesmo WSFC.
A Figura 2 ilustra uma topologia simples com dois data centers, cada um hospedando uma réplica do AG
em uma FCI de dois nós. A arquitetura permite variações nesta topologia:





Vários data centers
Várias réplicas, até cinco, incluindo uma réplica primária e uma a quatro réplicas secundárias.
Mais de dois nós em cada FCI se forem desejados nós passivos adicionais para fins de HA
Nem todas as réplicas de um grupo de disponibilidade precisam residir em instâncias FCI;
algumas podem residir em instâncias do SQL Server autônomas não FCI
Vários grupos de disponibilidade baseados no agrupamento lógico de bancos de dados para
o ambiente do seu aplicativo
A discussão neste white paper se concentra na topologia mostrada na Figura 2; entretanto, os conceitos
gerais também se aplicam a outras variações.
Como os quatro nós em dois sites fazem parte do mesmo WSFC, há considerações adicionais para uso
do armazenamento compartilhado que é visível apenas nos nós do data center local. Também há
considerações adicionais sobre a votação de quorum e o modelo de quorum. Este artigo descreve essas
e outras considerações.
O grupo de disponibilidade pode ser configurado com um ou mais bancos de dados de usuário, e pode
usar o movimento de dados síncrono ou assíncrono. As réplicas síncronas adicionam latência às transações
de banco de dados, pois a primária precisa receber a confirmação de que os registros de log foram
intensificados para os logs da réplica secundária antes que a réplica primária confirme a transação.
Também é importante observar que a instância do SQL Server de recuperação de desastre não precisa
ser uma FCI. Um grupo de disponibilidade também pode ter uma instância autônoma do SQL Server
para a réplica secundária. Com os grupos de disponibilidade, você pode combinar duas instâncias
autônomas e FCIs em uma única topologia no mesmo WSFC. A Figura 3 mostra uma topologia mista.
Data center primário
Data center de recuperação de desastre
Cluster de failover do Windows Server
SQLFCIPrimary\INST_A
SQLDR\INST_B
Grupo de
Disponibilidade
Banco de dados
primário
Banco de dados
secundário
Figura 3: FCI para o HA local e grupos de disponibilidade para DR, com a instância de DR sendo uma instância autônoma
O restante do documento presume que as réplicas primárias e secundárias são FCIs hospedadas, e não
instâncias autônomas.
6
Planejamento e considerações
Esta seção descreve questões de planejamento, requisitos e pré-requisitos a serem considerados antes
da implementação de uma solução FCI+AG para alta disponibilidade e recuperação de desastre.
Requisitos de cluster de failover do Windows Server
Uma alteração fundamental entre uma FCI+DBM versus uma solução FCI+AG é que você está mudando
do uso de duas FCIs em dois WSFCs separados para o uso de duas FCIs em um único WSFC. Todas as
réplicas de um grupo de disponibilidade devem existir em um único WSFC dentro de um único domínio
do Active Directory, mesmo entre data centers.
Armazenamento assimétrico
Duas FCIs, uma em cada site em um único WSFC de vários sites, introduzem considerações sobre como
o armazenamento compartilhado é tratado. Cada FCI tem seu próprio armazenamento compartilhado.
Os nós do site primário compartilham armazenamento entre eles para formar uma FCI de
armazenamento compartilhado, e os nós do site de DR compartilham armazenamento entre eles para
formar outra FCI de armazenamento compartilhado. O armazenamento no site primário não é visível
aos nós do site de recuperação de desastre e vice-versa. Essa organização de armazenamento, onde um
disco de cluster é compartilhado entre um subconjunto de nós dentro de um WSFC, é conhecida como
armazenamento assimétrico. Antes do recurso de armazenamento assimétrico, o armazenamento
compartilhado precisava estar visível a todos os nós do WSFC (armazenamento simétrico).
O armazenamento assimétrico foi apresentado como uma opção de implantação para o Windows Server
2008 por meio de um hotfix. O armazenamento assimétrico também tem suporte no Windows Server
2008 R2 via Service Pack 1. Para saber mais sobre esse hotfix, consulte o artigo da Base de Dados de
Conhecimento Hotfix para adicionar suporte para armazenamentos assimétricos no snap-in
Gerenciamento de Cluster de Failover do MMC para um cluster de failover que esteja executando
o Windows Server 2008 ou o Windows Server 2008 R2.
Esse aperfeiçoamento do Windows Server é a parte fundamental da funcionalidade que permite
a arquitetura de solução FCI + AG abordada neste white paper. Ao habilitar essa funcionalidade, você
pode combinar a solução de armazenamento compartilhado (FCI) com a solução de armazenamento não
compartilhado (grupos de disponibilidade) em uma única solução HA + DR. Com isso, o aperfeiçoamento
também permite usar letras de unidade idênticas para recursos de disco compartilhados entre os
data centers.
Observe que, quando você configurar o armazenamento assimétrico, poderá ver uma mensagem
durante os testes de validação do WSFC que diz “O disco com a id XYZ só está visível ou só pode ser
colocado em cluster por meio de um subconjunto de nós’. Para o armazenamento assimétrico, isso
é esperado e não é motivo de preocupação.
Nomenclatura e caminho de arquivo de instância
As duas FCIs devem usar nomes de instância diferentes no mesmo WSFC, por exemplo, usando “INST_A”
como o nome da instância para a FCI primária e ”INST_B” como o nome de instância para a FCI de DR.
(Ao contrário dos grupos de disponibilidade, o espelhamento de banco de dados permite que cada FCI
use o mesmo nome de instância caso as FCIs estejam em WSFCs separados. Na Figura 1, ambas as FCIs
usaram o mesmo nome de instância, INST_A, com a solução FCI+DBM).
7
Cada FCI tem seu próprio armazenamento compartilhado, que não é acessível aos nós do outro data
center, e que deve usar letras de unidade idênticas para os discos, bem como caminhos de arquivo
idênticos para arquivos de banco de dados e arquivos de log de transações nas FCIs. Caminhos de
arquivo e letras de unidade idênticos não são um requisito absoluto, mas se os caminhos forem
diferentes, você deverá fazer um RESTORE WITH MOVE manual ao restaurar os bancos de dados da
réplica na secundária. Além disso, os caminhos heterogêneos nas duas FCIs invalidarão operações
subsequentes de adição de arquivo, como a criação de grupos de arquivos ou arquivos de dados ou logs
secundários. Para obter mais informações, incluindo um cenário e uma resolução do problema, consulte
Solucionar problemas de uma falha na operação de adicionar arquivos (Grupos de Disponibilidade
AlwaysOn).
Modo de disponibilidade e modo de failover
Para o grupo de disponibilidade criado entre as duas FCIs, você pode designar modos de disponibilidade
de confirmação síncronos ou assíncronos. Se o modo de disponibilidade for síncrono, a réplica primária
aguardará para confirmar transações de usuário até que elas tenham sido enviadas e intensificadas nas
réplicas secundárias. Isso pode adicionar latência às transações de usuário, mas também ajuda a eliminar
a possibilidade de perda de dados na réplica secundária, garantindo que as transações sejam enviadas
à FCI de recuperação de desastre antes de uma confirmação ser sinalizada na transação da réplica
primária.
Se o modo de disponibilidade for assíncrono, as transações de usuário da sua réplica primária não
aguardarão que as transações sejam intensificadas nos logs da réplica secundária. Isso reduz a latência
da transação, mas aumenta a exposição à perda de dados no caso de uma interrupção.
Em relação aos modos de failover, quando forem usadas FCIs na topologia de grupo de disponibilidade,
o modo de failover dos grupos de disponibilidade deverá ser manual (não automático). Porém, dentro
de cada FCI, o failover de FCI da instância do SQL Server em outros nós é automático.
Votos de nós e modelos de quorum
Observação: as discussões sobre modelos de quorum e as informações relacionadas neste white
paper se aplicam a soluções que estejam executando os sistemas operacionais Windows Server
2008 e Windows Server 2008 R2 com os service packs apropriados e outras atualizações de
software.
Como a infraestrutura subjacente da solução FCI+AG é um WSFC, é importante considerar o modelo de
quorum apropriado para o WSFC. A configuração de quorum é gerenciada no nível do WSFC, não importa
o número de FCIs, o número de réplicas e o número de grupos de disponibilidade hospedados no WSFC.
No WSFC, há quatro modelos de quorum: Maioria de Nós, Maioria dos Nós e Compartilhamentos de
Arquivos, Maioria de Nós e Discos, Nenhuma Maioria: Somente Disco. Para saber mais sobre modelos
de quorum, consulte Guia passo a passo de cluster de failover: configurando o quorum em um cluster
de failover.
8
Antes de selecionar um modelo de quorum, é importante levar em conta o número de nós votantes.
A atribuição de votos de nós apropriados tem uma função importante no design de HA+DR. Por padrão,
todos os nós em um cluster de failover têm um voto, mas isso pode não ser apropriado para sua solução
de HA+DR em particular, dependendo da distribuição de nós nos data centers primário e de DR. Há um
hotfix disponível (http://support.microsoft.com/kb/2494036) que permite que você atribua 1 voto
a alguns nós e 0 voto a alguns outros nós do WSFC. A propriedade NodeWeight do nó do WSFC
representa o voto desse nó em particular. O valor ‘0’ significa que o nó não tem um voto. O valor ‘1’
indica que o nó tem um voto de quorum. Esse hotfix deve ser instalado em cada nó da topologia.
As recomendações gerais de votação de quorum para uma solução de HA+DR AlwaysOn são fornecidas
no tópico Ajustes recomendados para votação de quorum nos Manuais Online do SQL Server. Elas
devem ser tratadas como diretrizes na decisão sobre o esquema de votação para a solução AlwaysOn.
Levando em consideração essas diretrizes, para garantir que o quorum dos nós do data center primário
não seja afetado por interrupções no data center de DR ou pela perda de conectividade entre os dois
data centers, para a solução FCI+AG apresentada na Figura 2, o esquema de votação será:


Um voto para cada nó do data center primário
Zero voto para cada nó do data center de recuperação de desastre
Essa atribuição de voto se traduz em um total de 2 votos para o WSFC. Como prática recomendada,
o número total de votos do WSFC deve ser um número ímpar. Se houver um número par de nós
votantes (como em nossa topologia de exemplo), você poderá adicionar uma testemunha de
compartilhamento de arquivos e, em seguida, escolher o modelo de quorum Maioria dos Nós
e Compartilhamentos de Arquivos.
Observação: em muitos ambientes corporativos, é comum um compartilhamento de arquivos
pertencer a uma equipe e ser gerenciado por outra. Essa equipe tem controle sobre um voto de
nó e, portanto, tem influência no status do cluster de failover. Um compartilhamento de arquivos
se torna um voto e, por isso, deve estar sempre disponível. O clustering ou outras tecnologias de
HA são recomendados para garantir a disponibilidade do voto de compartilhamento de
arquivos.
Como alternativa, você pode incluir um nó adicional e usar o modelo de quorum Maioria de Nós. O nó
adicional precisa estar no WSFC, mas não é necessário que seja parte da configuração de FCI. Ele
também deve estar localizado no mesmo data center primário, colocado junto com os outros dois nós
do WSFC existentes nesse data center.
A Figura 4 mostra a alocação de votos usando o modelo de quorum Maioria dos Nós e Compartilhamentos
de Arquivos.
9
Figura 4: Solução de HA/DR FCI+AG com atribuições de votos de nós
Na Figura 4, cada um dos dois nós do data center primário tem um voto. Uma testemunha de
compartilhamento de arquivos também é definida no data center primário e também tem um voto. Os
dois nós do data center de recuperação de desastre não recebem um voto e não podem afetar o quorum.
As outras opções possíveis de modelo de quorum para essa arquitetura de implantação são Maioria de
Nós e Discos (usando um disco assimétrico) ou Nenhuma Maioria: Somente Disco (usando um disco
assimétrico). Antes que o armazenamento assimétrico estivesse disponível em um WSFC, um disco
compartilhado poderia atuar como um recurso de quorum, caso ele fosse visível de todos os nós do
WSFC. Com o armazenamento assimétrico, o armazenamento de cluster pode ficar visível a um
subconjunto de nós e ainda ser usado como um recurso de quorum. Com o modelo de quorum
Nenhuma Maioria: Somente Disco, você pode implementar um cenário “o último remanescente”, onde
o WSFC mantém o quorum enquanto um único nó tiver contato com o disco assimétrico que atua como
o recurso de quorum.
Você pode habilitar isso usando a linha de comando do cluster.exe, mas não pode habilitá-lo por meio
do Gerenciador de Cluster de Failover ou do Windows PowerShell. Para ver um exemplo dessa
configuração, consulte a seção Alterando a configuração de quorum em um cluster de failover com
armazenamento assimétrico do artigo Guia passo a passo de cluster de failover: configurando o quorum
em um cluster de failover.
Importante: o uso de um disco assimétrico como o recurso de quorum oferece diversos
benefícios, mas também exige um grau muito mais elevado de experiência em cluster
e planejamento. Você deve se familiarizar bastante com essa configuração antes de implantá-la
em um ambiente de produção.
10
No caso de uma interrupção do data center primário que requeira a ativação do serviço em um data
center de recuperação de desastre, será necessário reavaliar a configuração do quorum. Cada nó do
data center de recuperação de desastre deve receber um voto, e cada nó do data center primário deve
ter seu voto removido (definido como “0”) até que o serviço seja restaurado. Supondo-se dois nós para
a FCI e uma interrupção mais prolongada do data center primário, você também deverá configurar uma
testemunha de compartilhamento de arquivos (ou outro voto adicional) no data center de DR e definir
o modelo de quorum adequadamente. Depois que o data center primário estiver novamente pronto
para a atividade, a votação deverá ser mais uma vez ajustada e o modelo de quorum, reavaliado. Mais
adiante neste documento, demonstraremos um cenário de recuperação de desastre e o fluxo de
processos associado.
As atribuições de modelo de quorum e de voto apresentadas na Figura 4 também presume que
a solução tenha duas réplicas — uma em cada um dos dois data centers. Se houver mais data centers
e você planejar colocar alguma parte de sua solução em um terceiro data center, as decisões do modelo
de quorum e as atribuições de votos poderão variar.
Ferramentas para exibir e alterar votos de nós e modelos de quorum
Há várias maneiras de exibir e alterar o modelo de quorum de cluster e/ou os votos de quorum. A tabela
a seguir lista as várias ferramentas para essas tarefas.
Para exibir o modelo de quorum
Gerenciador de Cluster de Failover
do Windows
Windows PowerShell
Cluster.exe
DMVs do SQL Server
Painel AlwaysOn no SQL Server
Management Studio
Para alterar o modelo de quorum
Gerenciador de Cluster de Failover do Windows
Windows PowerShell
Cluster.exe
Observação: somente o Cluster.exe pode ser
usado para definir o modelo de quorum como
“Maioria de Nós e Discos (assimétrico) ou
“Nenhuma Maioria: Somente Disco (assimétrico)”
Para exibir votos de nós
Para alterar votos de nós
Windows PowerShell
Cluster.exe
DMVs do SQL Server
Painel AlwaysOn
Windows PowerShell
Cluster.exe
Configurando o modelo de quorum do WSFC
Aqui estão alguns exemplos de como usar o Windows PowerShell por meio da linha de comando para
exibir o modelo atual de quorum e alterar o modelo de quorum.
Para exibir o modelo de quorum existente
Get-ClusterQuorum
Para configurar o modelo de quorum Maioria de Nós
Set-ClusterQuorum -NodeMajority
Para alterar o modelo de quorum para Maioria dos Nós e Compartilhamentos de Arquivos
Set-ClusterQuorum -NodeAndFileShareMajority \\FileShare\Witness
11
A testemunha compartilhamento de arquivos escolhida por você não deve estar em um nó que já esteja
participando da configuração do WSFC AlwaysOn. Entretanto, ela pode ser posicionada como um
compartilhamento em outra configuração do WSFC e deve existir no mesmo domínio do Active
Directory que o WSFC. Além disso, a conta de serviço de cluster do WSFC exige permissões de leitura
e gravação para a testemunha de compartilhamento de arquivos. O Gerenciador de Cluster de Failover
tem a lógica interna para adicionar essas permissões à testemunha de compartilhamento de arquivos,
desde que a conta por meio da qual o modelo de quorum é alterado tenha permissões no
compartilhamento de arquivos.
Usando DMVs e o painel AlwaysOn para exibir informações de quorum
Embora você não possa definir ou alterar o modelo de quorum ou os votos de nós usando ferramentas
do SQL Server, pode usar consultas Transact-SQL em DMVs e o Painel AlwaysOn no SQL Server
Management Studio para exibir os votos de nós e o modelo de quorum do cluster do Windows que
hospeda o grupo de disponibilidade.
Para exibir o modelo de quorum do cluster do Windows que está hospedando o grupo de disponibilidade,
consulte a DMV sys.dm_hadr_cluster (http://technet.microsoft.com/pt-br/library/hh212952(v=sql.110).aspx).
SELECT
FROM
cluster_name, quorum_type_desc, quorum_state_desc
sys.dm_hadr_cluster;
Quando essa consulta é executada no exemplo abordado neste white paper, retorna o resultado a seguir
cluster_name
-----------contosocluster
quorum_type_desc
---------------NODE_AND_FILE_SHARE_MAJORITY
quorum_state_desc
----------------NORMAL_QUORUM
Para exibir os votos de nós, consulte a DMV sys.dm_hadr_cluster_members.
SELECT
FROM
member_name, number_of_quorum_votes
sys.dm_hadr_cluster_members;
Quando essa consulta é executada no exemplo abordado neste white paper, retorna o resultado
a seguir. A alocação de votos será abordada em uma seção posterior.
member_name
-----------------PrimaryNode1
PrimaryNode2
DRNode1
DRNode2
File Share Witness
number_of_quorum_votes
---------------------1
1
0
0
1
O Painel AlwaysOn no SQL Server Management Studio também pode ser usado para exibir votos de
quorum e o estado do cluster. A Figura 5 mostra essas informações para um cluster do Windows com
o modelo de quorum Maioria de Nós (o estado do cluster e os votos de quorum estão realçados).
12
Figura 5: Exibindo votos de quorum e o estado do cluster no painel AlwaysOn
Embora a coluna Votos de Quorum não seja exibida por padrão, você pode adicioná-la ao painel. Basta
clicar com o botão direito do mouse no cabeçalho de coluna da tabela Réplica de disponibilidade
e selecionar a coluna específica a ser exibida.
Para um modelo de quorum Maioria dos Nós e Compartilhamentos de Arquivos, essa exibição do painel
AlwaysOn mostra somente os nós, não o compartilhamento de arquivos. Para ver informações completas
sobre quorum, clique em Exibir informações de quorum do cluster no lado direito da tela. Será exibida
uma janela pop-up semelhante à Figura 6.
Figura 6: Informações de quorum de cluster para o modelo de quorum Maioria dos Nós e Compartilhamentos de Arquivos
Configurando votos de nós
A propriedade NodeWeight do nó do WSFC representa o voto desse nó em particular. Os exemplos
a seguir demonstram como configurar o nó NodeWeight de um nó em um WSFC usando o Windows
PowerShell. Para executar o Windows PowerShell no nó do servidor, clique em Iniciar, aponte para
Ferramentas Administrativas e clique em Módulos do Windows PowerShell. Neste exemplo, DRNode1
representa um nó específico do WSFC localizado no data center de recuperação de desastre.
Para exibir configurações de voto atuais para todos os nós
13
Get-ClusterNode | fl NodeName, NodeWeight
Para definir o voto de um nó como “0”
(Get-ClusterNode “DRNode1”).NodeWeight=0
Observação: o valor ‘0’ significa que o nó não tem um voto. O valor ‘1’ indica que o nó tem um
voto de quorum.
Conectividade de cliente
Os métodos de conexão de FCI no SQL Server 2012 são iguais aos das versões anteriores, mas para
migrações de espelhamento de banco de dados para grupos de disponibilidade, há alterações que você
deve considerar e planejar antes de poder usar a nova funcionalidade de secundária legível. Para saber
mais sobre migração, incluindo considerações e etapas detalhadas, consulte Guia de migração:
migrando para clustering de failover do SQL Server 2012 e grupos de disponibilidade a partir de
implantações de clustering e espelhamento anteriores.
Cargas de trabalho de leitura/gravação
Para as cargas de trabalho de leitura/gravação executadas nos bancos de dados de disponibilidade em
um grupo de disponibilidade, você pode se conectar à réplica usando duas opções. A primeira
é conectar-se diretamente ao VNN (nome de rede virtual) da FCI; cada réplica tem um VNN de FCI
diferente. A segunda opção é usar o nome do ouvinte de grupo de disponibilidade. O ouvinte de grupo
de disponibilidade é a opção preferencial porque oferece transparência e redirecionamento automático
para a réplica primária atual, e o nome na cadeia de conexão permanece o mesmo para todas as
instâncias. O ouvinte de grupo de disponibilidade é um VNN associado a um ou mais endereços TCP/IP
e portas de escuta, e é usado para a conexão automática a qualquer réplica sem a necessidade de
designar explicitamente cada réplica de grupo de disponibilidade possível na cadeia de conexão.
Se você estiver migrando conexões de aplicativos de carga de trabalho de leitura/gravação de uma
solução de espelhamento de banco de dados herdada que usa o atributo Parceiro de Failover, ainda
poderá usar sua cadeia de conexão de espelhamento de banco de dados, mas somente se o grupo de
disponibilidade for configurado com uma única réplica secundária configurada para atividade de
leitura/gravação. Você pode usar o nome do servidor da réplica primária inicial como a fonte de dados
e (opcionalmente) o nome da réplica secundária como o parceiro de failover. Entretanto, isso não deve
ser usado como uma solução de longo prazo.
Cargas de trabalho somente leitura
Para conexões de carga de trabalho somente leitura, você também tem duas opções disponíveis. Você
pode usar o VNN da FCI ou pode usar o ouvinte de grupo de disponibilidade e especificar o novo
atributo ApplicationIntent na cadeia de conexão como “ReadOnly”.
Se você estiver usando uma cadeia de conexão herdada de espelhamento de banco de dados, só poderá
se conectar ao grupo de disponibilidade se o grupo de disponibilidade estiver configurado como uma
única réplica secundária configurada para a atividade de leitura/gravação.
14
Se você quiser aproveitar o roteamento somente leitura, deverá usar o nome do ouvinte de grupo de
disponibilidade junto com o atributo ApplicationIntent e o valor “ReadOnly”. Você também referenciar
um banco de dados de disponibilidade no grupo de disponibilidade. O grupo de disponibilidade também
deve ser configurado para roteamento somente leitura para réplicas secundárias legíveis por meio da
criação de URLs de roteamento somente leitura e listas de roteamento somente leitura. Para saber mais
sobre esse processo, consulte Configurar o roteamento somente leitura para um grupo de
disponibilidade (SQL Server).
Suporte à conexão de várias sub-redes
O ouvinte de grupo de disponibilidade também pode aproveitar o atributo de conexão MultiSubnetFailover
em bibliotecas de cliente. É recomendável que as cadeias de conexão do grupo de disponibilidade
designem o atributo MultiSubnetFailover para topologias de várias sub-redes ao referenciarem um
nome de ouvinte de grupo de disponibilidade. A opção de conexão MultiSubnetFailover habilita
o suporte para conexões de várias sub-redes e abre soquetes TCP para os endereços IP de ouvinte de
grupo de disponibilidade em paralelo. Para as bibliotecas de cliente herdadas que não dão suporte ao
atributo MultiSubnetFailover, você deverá considerar o tempo limite de logon apropriado do cliente.
Para saber mais sobre considerações de conectividade de cliente e failover de aplicativo, consulte
Conectividade de cliente e failover de aplicativo (Grupos de Disponibilidade AlwaysOn) nos Manuais
Online do SQL Server.
Configurando a solução FCI+AG
Este fluxo de trabalho descreve as etapas necessárias para criar a solução FCI+AG. Embora não seja
descrita aqui cada etapa detalhada, o objetivo desta seção é ajudar a esclarecer as etapas de
implementação de fluxo de trabalho e as tarefas para cada cargo participante. A documentação de
suporte será mencionada quando apropriado. As etapas são divididas por cargo porque a maioria dos
ambientes de grandes empresas define uma separação de tarefas entre as funções de administrador de
banco de dados, administrador do Windows (ou cluster) e administrador de rede. Por isso, é importante
se comunicar e coordenar corretamente as atividades nas diferentes funções.
Instalando pré-requisitos
Antes de implantar sua solução de Grupos de Disponibilidade AlwaysOn, é importante verificar se seu
sistema atende aos requisitos, incluindo atualizações. Para saber mais sobre os pré-requisitos da
implantação de uma solução de Grupos de Disponibilidade AlwaysOn, consulte Pré-requisitos, restrições
e recomendações para Grupos de Disponibilidade AlwaysOn (SQL Server). É altamente recomendável
que você examine este tópico antes de continuar.
Todos os nós devem ter a mesma versão do sistema operacional Windows Server e as atualizações de
software instaladas. O sistema operacional de servidor deve ser, no mínimo, o Windows Server
2008 SP2 ou o Windows Server 2008 R2 SP1 com pelo menos as seguintes atualizações:



Armazenamento assimétrico (se você estiver usando o Windows Server 2008):
http://support.microsoft.com/kb/976097
Votos de nós: http://support.microsoft.com/kb/2494036
Validar o teste de disco durante a validação de cluster:
http://support.microsoft.com/kb/2531907
Você talvez precise de atualizações adicionais.
15
Configurando a solução no data center primário
A Tabela 1 fornece o fluxo de trabalho para configuração dos nós do data center primário e presume
que haja dois nós.
16
Etapa
1. Adicione o recurso de clustering de
failover em dois nós localizados no data
center primário. Para saber mais sobre
esse processo, consulte Instalar o recurso
Clustering de Failover. Para saber mais
sobre como validar sua infraestrutura de
rede e outros requisitos, consulte
Compreendendo os requisitos para
clusters de failover.
2. Examine os pré-requisitos necessários
e instale as atualizações de software
necessárias do Windows Server em cada
nó do data center primário.
3. Verifique se os volumes de
armazenamento compartilhado
designados para a FCI do data center
primário estão formatados e fornecidos
com uma letra de unidade.
Recomendamos que as letras de unidade
e o caminho do diretório correspondentes
para a FCI de DR correspondam à FCI
primária. Mantenha essa consideração em
mente ao atribuir letras de unidade na FCI
primária.
4. Valide se a conta que você usará para
instalar e configurar o WSFC é uma conta
de domínio. Essa conta também deve ter
permissões de administrador em cada nó
do cluster, além das permissões Criar
Objetos de Computador e Ler Todas as
Propriedades no contêiner usado para as
contas de computadores do domínio.
Como alternativa, você pode preparar
previamente as contas de objetos de
nome ou usar uma conta de administrador
de domínio para a instalação. Para saber
mais sobre as permissões necessárias e as
opções de provisionamento, consulte Guia
passo a passo de cluster de failover:
configurando contas no Active Directory.
17
Administrador Administrador Administrador
de banco de
do Windows
de rede
dados
Server \
cluster
Sim
Sim
(coordenação
das atividades
entre funções)
Sim
Sim
Sim
Etapa
5. Usando o Gerenciador de Cluster de
Failover, execute a validação de cluster
dos dois nós de servidor no data center
primário e no compartilhamento
compartilhado que será adicionado ao
WSFC. Execute a validação de modo
iterativo até que não haja nenhum erro
de bloqueio.
Se você for autorizado a passar para
a próxima etapa com os avisos existentes,
deverá entender todos os avisos para
ajudar a garantir uma configuração
estável. Para saber mais sobre a execução
de um teste de validação, consulte
Validando uma configuração de cluster de
failover.
6. Ao término da etapa de validação de
cluster, use o Gerenciador de Cluster de
Failover para criar um WSFC de dois nós.
Para obter mais informações, incluindo
uma visão geral detalhada desse
processo, consulte Criar um novo cluster
de failover.
7. Verifique se há um número ímpar de
votos; por exemplo, você pode fazer isso
incluindo um compartilhamento de
arquivos ou um nó adicional, conforme
discutido anteriormente neste
documento.
Se você escolher Maioria dos Nós
e Compartilhamentos de Arquivos, antes
de alterar a configuração, verifique se
concedeu permissões de leitura
e gravação na testemunha
compartilhamento de arquivos à conta de
cluster do WSFC.
8. Verifique se a instalação usa
armazenamento compartilhado
formatado que seja acessível apenas aos
dois nós localizados no data center
primário. Esses discos serão usados para
o SQL Server na próxima etapa.
18
Administrador Administrador Administrador
de banco de
do Windows
de rede
dados
Server \
cluster
Sim
Sim, para alguns
problemas que
podem ocorrer
no sistema de
rede dos nós
Sim
Sim
Sim
Sim, para alguns
problemas que
podem ocorrer
no sistema de
rede dos nós
Etapa
9. Instale uma instância FCI do SQL Server
2012 Enterprise no data center primário.
Para saber mais, consulte Criar um novo
cluster de failover do SQL Server.
Você deve executar duas instalações:
a primeira é Nova instalação de cluster de
failover do SQL Server, que cria a FCI, e a
segunda é Adicionar nó a um cluster de
failover do SQL Server no segundo nó do
data center primário.
10. Depois de instalar a primeira FCI, habilite
recursos do Grupo de Disponibilidade
AlwaysOn em ambas as instâncias do
SQL Server.
Para saber mais sobre o uso do SQL Server
Configuration Manager ou,
opcionalmente, do SQL Server
PowerShell, consulte Habilitar
e desabilitar Grupos de Disponibilidade
AlwaysOn. Observe que, ao habilitar
Grupos de Disponibilidade AlwaysOn para
a instância, você deve reiniciá-la para que
a alteração entre em vigor.
19
Administrador Administrador Administrador
de banco de
do Windows
de rede
dados
Server \
cluster
Sim
Etapa
Administrador Administrador Administrador
de banco de
do Windows
de rede
dados
Server \
cluster
11. Depois de habilitar a FCI de DR para dar
suporte a Grupos de Disponibilidade
AlwaysOn, faça backup de seus bancos de
dados de usuário de produção da topologia
herdada e, em seguida, restaure-os na FCI
do data center primário.
Observação: você pode optar por adiar
essa etapa até que a FCI de DR também
esteja disponível e o grupo de
disponibilidade possa ser configurado
com duas réplicas.
Você também deve gerar um script de
outros objetos do SQL Server da topologia
herdada de que seus bancos de dados de
usuário dependerão, mas que não
estejam contidos nos bancos de dados de
usuário restaurados (por exemplo, logons
do SQL Server, permissões em nível de
servidor associadas e trabalhos do SQL
Server Agent).
Isso é semelhante ao processo seguido ao
criar scripts de objetos dependentes que
são externos ao banco de dados
espelhado para uma parceria de
espelhamento de banco de dados.
Existem vários métodos que você pode
usar para transferir objetos e princípios
de banco de dados entre instâncias do
SQL Server. A tarefa Transferir Objetos do
SQL Server do Integration Services é um
desses métodos. Outro método, no qual
os logons e as senhas são transferidos
entre instâncias, é descrito aqui:
http://support.microsoft.com/kb/918992/
Tabela 1: Criando a solução FCI+AG no data center primário
20
Configurando a solução no data center de DR
Esta tabela fornece o fluxo de trabalho para configurar os nós secundários de recuperação de desastre
e criar o grupo de disponibilidade.
Etapa
Administrador
de banco de
dados
1. Adicione o recurso Clustering
de Failover a todos os nós
localizados no data center de
recuperação de desastre e que
participam da solução.
2. Examine os pré-requisitos
necessários e instale as
atualizações de software
necessárias do Windows Server
em cada nó do data center de DR.
3. Valide se a conta que você usará
para instalar e configurar o WSFC
é uma conta de domínio. Essa
conta também deve ter
permissões de administrador em
cada nó do cluster, além das
permissões Criar Objetos de
Computador e Ler Todas as
Propriedades no contêiner usado
para as contas de computadors
do domínio. Se você estiver
usando as mesmas contas que
o data center primário, essas
permissões já estarão definidas
corretamente.
4. Usando o Gerenciador de Cluster
de Failover, execute a validação
de cluster dos dois nós de
servidor e do armazenamento
compartilhado que integrarão
o WSFC existente. Se você vir
a mensagem de aviso de
armazenamento assimétrico
“O disco com a id XYZ só está
visível ou só pode ser colocado
em cluster por meio de um
subconjunto de nós”, não
precisará fazer nada, pois isso
é esperado e aceitável para
o armazenamento assimétrico.
Execute a validação de modo
iterativo até que não haja
nenhum erro de bloqueio.
Sim (coordenação
das atividades
entre funções)
21
Administrador
do Windows
Server \
cluster
Sim
Administrador de
rede
Sim
Sim
Sim
Sim, para alguns
problemas que
podem ocorrer no
sistema de rede
dos nós
Etapa
Administrador
de banco de
dados
5. Depois que a validação for
concluída, use o Gerenciador de
Cluster de Failover para adicionar
os dois nós de recuperação de
desastre ao WSFC existente.
6. Defina o NodeWeight dos nós do
WSFC do data center de
recuperação de desastre como
um peso 0 (zero) (consulte Figura
4: Solução de HA/DR FCI+AG com
atribuições de votos de nós para
ver um exemplo).
7. Esta instalação deve usar
o armazenamento compartilhado
e formatado acessível apenas
pelos dois nós localizados no data
center de DR. Esses discos serão
usados para o SQL Server na
próxima etapa.
Mantenha a letra da unidade e de
mapeamento idênticas para
simplificar a implantação do
grupo de disponibilidade em
etapas posteriores e permitir
operações de arquivos de banco
de dados que não exijam
intervenção manual ou
a interrupção da sessão do grupo
de disponibilidade.
8. Mova o armazenamento
disponível para um dos nós do
data center de DR para uso na
próxima etapa.
9. Instale uma instância FCI do SQL
Server 2012 Enterprise no data
center de recuperação de
desastre.
Você precisa executar a opção
Nova instalação de cluster de
failover do SQL Server em um
dos nós para criar a FCI e, em
seguida, executar a opção
Adicionar nó a um cluster de
failover do SQL Server no
segundo nó do data center de DR.
22
Administrador
do Windows
Server \
cluster
Sim
Administrador de
rede
Sim, para alguns
problemas que
podem ocorrer no
sistema de rede dos
nós
Sim
Sim
Sim
Sim
Sim, para coordenar
o endereço IP (se você
estiver usando
endereços IP
estáticos)
e considerações de
porta
Etapa
Administrador
de banco de
dados
10. Após a instalação das duas FCIs,
a próxima etapa será habilitar
recursos do Grupo de
Disponibilidade AlwaysOn na
instância do SQL Server do data
center de DR.
Sim
Para ver etapas detalhadas sobre
o uso do SQL Server Configuration
Manager ou, opcionalmente, do
PowerShell, consulte Habilitar
e desabilitar Grupos de
Disponibilidade AlwaysOn.
Observe que a habilitação do
Grupo de Disponibilidade
AlwaysOn para a instância exige
a reinicialização da instância para
entrar em vigor.
11. Gere um script de outros objetos Sim
do SQL Server da topologia
herdada de que seus bancos de
dados de usuário dependerão,
mas que não estejam contidos
nos bancos de dados de usuário
restaurados (por exemplo, logons
do SQL Server, permissões em
nível de servidor associadas
e trabalhos do SQL Server Agent).
Estes são os mesmos objetos que
talvez já estejam com os scripts
gerados e copiados na FCI do data
center primário.
12. Verifique se os possíveis
proprietários das duas FCIs foram
definidos corretamente, isto é, os
possíveis proprietários de INST_A
devem ser PRIMARYNODE1,
PRIMARYNODE2; e os possíveis
proprietários de INST_B devem
ser DRNODE1, DRNODE2.
23
Administrador
do Windows
Server \
cluster
Administrador de
rede
Etapa
Administrador
de banco de
dados
13. Crie um grupo de disponibilidade
(esta etapa envolve as FCIs
primária e de DR). Você pode
definir o modo de disponibilidade
como síncrono ou assíncrono,
dependendo das características
de carga de trabalho e de rede do
seu ambiente. Selecione
o failover manual para grupos de
disponibilidade. Em uma solução
FCI+AG, o failover de FCI
é automático e o failover do
grupo de disponibilidade
é manual. Para saber mais sobre
como configurar o failover para
esta solução, consulte Criação
e configuração de grupos de
disponibilidade.
14. Crie o ouvinte de grupo de
disponibilidade. Esta etapa não
será necessária se você já a tiver
configurado para a criação do
grupo de disponibilidade. Você
pode criar o ouvinte do grupo de
disponibilidade usando
Transact-SQL, o SQL Server
PowerShell ou um assistente do
SQL Server Management Studio.
Para saber mais sobre o uso de
vários métodos, consulte Criar ou
configurar um ouvinte de Grupo
de Disponibilidade.
Sim
Sim
Administrador
do Windows
Server \
cluster
Administrador de
rede
Sim, para verificar se
as portas de ponto de
extremidade estão
abertas e para
solucionar problemas,
quando necessário
Sim
Sim, para coordenar
considerações de
endereço IP e porta
Tabela 2: Criando a solução FCI+AG no data center de recuperação de desastre
Depois de concluir estas etapas no Gerenciador de Cluster de Failover do Windows, você poderá ver que
foi criado um novo grupo em Serviços e Aplicativos com o mesmo nome do grupo de disponibilidade.
Nesse novo grupo, você também encontrará o recurso de ouvinte de grupo de disponibilidade e endereços
IP associados a ouvintes (veja a Figura 5).
24
Figura 7: Após a configuração da FCI para a solução de design de DR, HA e AG
A Figura 7 mostra a exibição do WSFC da implantação. Observe que o ouvinte de AG na figura mostra
um endereço IP associado para fins ilustrativos; entretanto, são comuns dois endereços IP para
topologias de vários data centers.
Observação: quando o grupo de disponibilidade aparece como um recurso no WSFC, você não
deve tentar gerenciá-lo com o Gerenciador de Cluster de Failover ou com interfaces com escopo
definido pelo WSFC. Em vez disso, gerencie o grupo de disponibilidade dentro do contexto da
instância do SQL Server usando o SQL Server Management Studio, Transact-SQL ou o Windows
PowerShell. Para saber mais sobre o motivo pelo qual não se deve usar o Gerenciador de Cluster
de Failover ou outras interfaces com escopo definido pelo WSFC, consulte a postagem de blog
NÃO use o Gerenciador de Cluster de Failover do Windows para executar o Failover de Grupo de
Disponibilidade.
A Figura 8 mostra a implantação no SQL Server Management Studio. O painel mostra uma das FCIs com
a hierarquia de pastas do Pesquisador de Objetos de Alta Disponibilidade AlwaysOn aberta. Neste
exemplo, a FCI de DR é a réplica secundária e a outra FCI é a réplica primária. Os três bancos de dados
de disponibilidade que participam do grupo estão listados, bem como o nome do ouvinte do grupo de
disponibilidade.
25
Figura 8: Pós-configuração da FCI para a solução de design de DR, HA e AG no SQL Server Management Studio
Considerações sobre monitoramento
Migrar de uma topologia de FCI e espelhamento de banco de dados para uma solução de FCI e grupo de
disponibilidade exigirá novos métodos de monitoramento da topologia. Os métodos e as ferramentas
que você pode usar para monitorar a infraestrutura do grupo de disponibilidade incluem o Painel
AlwaysOn no SQL Server Management Studio, informações de estado do Pesquisador de Objetos,
políticas de Gerenciamento Baseado em Políticas, novos contadores de desempenho relacionados ao
grupo de disponibilidade, exibições do catálogo, exibições de gerenciamento dinâmico e uma sessão de
Eventos Estendidos que rastreia execuções recentes de instruções relacionadas a DDL AlwaysOn,
problemas de conectividade do WSFC, eventos de failover, alterações de estado e blocos de thread
de restauração.
O Painel AlwaysOn é uma forma recomendada de exibir rapidamente a integridade de um grupo de
disponibilidade específico. Nele, você pode consultar a localização da instância primária, o modo de
failover das réplicas, o estado de sincronização das réplicas e a prontidão de failover das várias réplicas.
Você também pode acessar os dados da sessão de Eventos Estendidos de Integridade AlwaysOn
diretamente no painel para exibir a atividade recente do grupo de disponibilidade, alterações de estado
e eventos.
26
Figura 9: Painel AlwaysOn
Além disso, é possível criar alertas do SQL Server Agent e respostas de trabalho com base em limites do
contador de desempenho e alterações de estado de grupo de disponibilidade. Para obter mais
informações e diretrizes sobre o monitoramento de um ambiente de grupo de disponibilidade, consulte
Monitoramento de grupos de disponibilidade.
Recuperando-se de um desastre
Esta seção descreve detalhadamente o fluxo de trabalho de etapas que você deve executar no caso de
uma interrupção da réplica primária no data center primário. Ela também inclui as etapas necessárias
para restaurar a disponibilidade da réplica primária no data center de recuperação de desastre. Uma
interrupção da réplica primária pode ser causada por um ou mais dos seguintes motivos:



Falha de todos os nós da FCI do data center primário
Falha do armazenamento da FCI do data center primário
Falha ou interrupções de rede que afetam o data center primário inteiro
Em qualquer um desses cenários, são necessárias determinadas ações no data center de recuperação de
desastre para retomar o serviço do SQL Server para os aplicativos.
A Figura 10 mostra a janela Informações de Quorum de Cluster para este cenário (essas informações
podem ser acessadas pelo Painel AlwaysOn e pelo link Exibir Informações de Quorum do Cluster). Ela
mostra o quorum antes de um desastre, onde ambos os nós de DR têm zero voto.
27
Figura 10: O estado “anterior” dos votos de quorum de cluster
O fluxo de trabalho a seguir especifica as etapas necessárias para recuperar um grupo de disponibilidade
no data center de recuperação de desastre no caso de uma interrupção do data center primário:
1. Force o quorum em um dos nós de DR e assegure-se de que os nós do data center primário não
formem seu próprio quorum.
É improvável que o Gerenciador de Cluster de Failover iniciado em um nó de recuperação de
desastre forneça (inicialmente) informações úteis sobre o estado do WSFC, pois o cluster não tem
mais quorum.
Figura 11: Gerenciador de Cluster de Failover depois de um desastre e antes da recuperação
Como as FCIs dependem de um WSFC em funcionamento, elas estarão acessíveis, a menos que um
quorum de cluster e o serviço de cluster estejam em execução. Para um cenário em que o status do
data center primário é incerto e o serviço deve ser restaurado do data center de DR secundário para
estar em conformidade com objetivos de tempo de recuperação da empresa, você deve forçar
o quorum em um dos nós de DR.
O comando a seguir do Windows PowerShell demonstra como forçar o quorum em um dos nós de DR.
Start-ClusterNode –Name "DRNODE1" –FixQuorum
28
Depois de executar esse comando, você verá algo semelhante à saída a seguir.
Name
------drnode1
State
-------Joining
Observação: se o serviço de cluster ainda estiver em execução em “DRNODE1”, você
poderá usar o comando a seguir no Windows PowerShell para pará-lo antes de reiniciar
o serviço de cluster com quorum forçado.
Stop-ClusterNode –Name "DRNODE1"
Para verificar ferramentas adicionais que podem ser usadas para forçar o quorum, como
o cluster.exe ou o Gerenciador de Cluster de Failover, consulte Forçar um cluster do WSFC a iniciar
sem um quorum.
2. Abra o Gerenciador de Cluster de Failover para verificar o status do cluster do Windows. Neste
ponto, o cluster do Windows deve estar ativo no estado de quorum forçado, e a FCI secundária
deve estar ativa. A FCI do data center primário ainda estará offline, assim como os recursos do
grupo de disponibilidade.
Figura 12: Gerenciador de Cluster de Failover depois de forçar o quorum
3. Coloque o grupo de disponibilidade online na FCI de recuperação de desastre.
Cuidado: se a réplica foi configurada com o modo assíncrono, isso significa que restaurar o serviço
poderá resultar na perda de dados para todos os registros de log não enviados. Certifique-se de que
você compreende totalmente as consequências dessa ação.
Para saber mais sobre o que fazer antes, durante e depois desse tipo de failover manual, consulte
Executar um failover manual forçado de um Grupo de Disponibilidade.
Conecte-se à FCI no data center de DR usando o SQL Server Management Studio, que deve mostrar
os bancos de dados de disponibilidade em um estado “não sincronizando”. A FCI de DR também
deverá ser mostrada como “resolvendo”, como mostra a Figura 13.
29
Figura 13: O Pesquisador de Objetos do SQL Server Management Studio depois de forçar o quorum
Observe na Figura 13 que a outra réplica, que neste exemplo é ”SQLFCIPrimary\INST_A”, não
mostra nenhum estado no pesquisador de objetos na pasta ‘Réplicas de Disponibilidade’ do
AG1. Essa é a FCI do data center primário que não está mais acessível devido à interrupção.
Se o risco de alguma perda de dados for aceitável e o serviço precisar ser restaurado no data
center, execute a sintaxe Transact-SQL a seguir na FCI de recuperação de desastre para forçar
o failover.
ALTER AVAILABILITY GROUP [AG1]
FORCE_FAILOVER_ALLOW_DATA_LOSS;
Neste ponto, seus bancos de dados no grupo de disponibilidade deverão estar disponíveis.
Consulte a Figura 14 para ver um exemplo do estado de failover depois de forçá-lo.
30
Figura 14: O Pesquisador de Objetos após o failover forçado
Depois que voltar a ficar online, as novas conexões ao ouvinte de grupo de disponibilidade serão
automaticamente roteadas para a réplica primária atual, que agora é hospedada pela FCI de
recuperação de desastre.
Observe também que você ainda verá diversas mensagens de aviso sobre os nós do data center
primário que não estão disponíveis no SQL Server Management Studio. A Figura 15 mostra um
exemplo disso.
Figura 15: O Painel AlwaysOn depois de um failover forçado
31
4. Em um nó do WSFC de DR, remova votos dos nós do data center primário e dê votos aos nós do
data center de DR. Os votos poderão ser removidos mesmo se os nós do data center primário não
estiverem disponíveis. Os dois nós que receberem um peso “1” serão os nós do WSFC de DR.
(Get-ClusterNode "DRNode1").NodeWeight=1
(Get-ClusterNode "DRNode2").NodeWeight=1
(Get-ClusterNode "PrimaryNode1").NodeWeight=0
(Get-ClusterNode "PrimaryNode2").NodeWeight=0
Observação: se o site de DR precisar ser usado por um período mais longo,
é recomendável que os membros de votação adicionais (nó ou compartilhamento de
arquivos do WSFC) sejam adicionados.
Antes de continuar, você pode validar que os votos do nó foram modificados conforme
planejado usando o comando do Windows PowerShell a seguir.
Get-ClusterNode | fl NodeName, NodeWeight
Como mencionado anteriormente no documento, os ambientes de grandes empresas costumam ter
uma separação de tarefas entre as funções de administrador de banco de dados, administrador do
Windows Server (ou cluster) e administrador de rede. A tabela a seguir recapitula o fluxo de trabalho de
recuperação de desastre descrito anteriormente, indicando quais áreas costumam ser incluídas nas
várias funções empresariais de uma perspectiva de planejamento.
Etapa
Administrador de
banco de dados
1. Confirme o estado atual do
data center primário e os nós
de recuperação de desastre do
WSFC restantes, coordenando
esforços.
2. Force o quorum em um dos
nós no site de DR para acessar
a FCI de DR.
3. Force o failover do grupo de
disponibilidade para a FCI de
recuperação de desastre.
4. Adicione votos aos nós de DR
e remova votos dos nós
primários.
Sim
Sim
Sim
Tabela 3: Recuperação de um desastre por cargo
32
Administrador do
Windows
Server\cluster
Sim
Sim
Administrador
de rede
Sim
Revertendo para o data center primário
Com o serviço restaurado no data center de recuperação de desastre, este cenário ilustrado neste
documento será considerado como um estado temporário até que os problemas do data center
primário sejam resolvidos. Um cenário de interrupção pode ter muitas variações e, portanto, variações
na recuperação. O cenário descrito aqui supõe um cenário de desastre onde os servidores do data
center primário estão inativos por um longo período.
Depois que os problemas com o data center primário forem resolvidos, e os nós no data center primário
forem religados, os nós tentarão se conectar ao WSFC. Depois que serem reconectados ao WSFC com
serviços de cluster em execução, os pesos do nó atribuídos no nó de recuperação de desastre deverão
estar em vigor. Este cenário também supõe que as instalações originais do SQL Server e dos bancos de
dados associados ainda estejam intactas.
A réplica na FCI do data center primário anteriormente com falha estará em um estado “não
sincronizando” (consulte Figura 16).
Figura 16: O SQL Server Management Studio depois da recuperação da FCI primária mas antes da retomada do grupo de
disponibilidade
A instância do SQL Server do site de DR (em nosso exemplo, “SQLFCIDR\DC2”) ainda é a réplica primária.
Observe também o símbolo de “pausa” para cada banco de dados de disponibilidade na pasta Bancos de
Dados de Disponibilidade.
Neste ponto, você deve avaliar se precisa salvar todos os dados (ou seja, as alterações de dados feitas
na réplica primária original, mas que não foram enviadas à réplica de DR pouco antes do desastre) ou
avançar com o restabelecimento das sessões da réplica.
33
Cuidado: retomar as réplicas de grupo de disponibilidade neste momento poderá causar perda de dados
e, portanto, se a perda de dados não for aceitável, os dados deverão ser salvos antes que o movimento
de dados seja retomado. Por outro lado, não retomar o grupo de disponibilidade fará com que os
arquivos de log de transações continuem aumentando nos bancos de dados da réplica de DR.
Um método para fazer isso seria criar um instantâneo do banco de dados nos bancos de dados secundários
suspensos (primário original) com a finalidade de extrair os dados necessários para sincronizar novamente
com a versão da réplica de DR dos bancos de dados de disponibilidade. O exemplo a seguir demonstra
como criar um instantâneo de banco de dados em um banco de dados de disponibilidade “não sincronizando”.
-- Create the database snapshot
CREATE DATABASE AppDB_A1 ON
( NAME = AppDB, FILENAME =
'R:\MSSQL11.MSSQLSERVER\MSSQL\Data\AppDB_A1.ss' )
AS SNAPSHOT OF AppDB;
GO
Os dados necessários agora podem ser extraídos do instantâneo de banco de dados e inseridos na
réplica primária atual de forma apropriada, antes de a movimentação de dados ser retomada.
Observação: para saber mais sobre os riscos de forçar o failover e reduzir a perda de dados,
consulte Failover e modos de failover.
Depois que a questão da perda de dados for tratada de modo adequado, e quando estiver na hora de
reverter o serviço novamente para o data center primário, a próxima etapa será mover a função de
réplica primária de volta ao data center primário de forma controlada:
1. Inicie a migração controlada de volta ao data center primário adicionando novamente os votos
de quorum aos dois nós do data center primário. Depois de definir essa configuração, verifique
mais uma vez se todos os nós do WSFC têm um voto.
2. Para retomar cada banco de dados participante do grupo de disponibilidade, execute os comandos
Transact-SQL ALTER DATABASE na FCI do data center primário. Aqui está um exemplo.
ALTER DATABASE AppDB SET HADR RESUME;
GO
ALTER DATABASE ConfigDB SET HADR RESUME;
GO
ALTER DATABASE ReportDB SET HADR RESUME;
GO
3. Para sincronizar antes do failover, modifique o grupo de disponibilidade na FCI de DR para usar
temporariamente o modo de disponibilidade de confirmação síncrona. O ideal é que
a configuração de confirmação síncrona seja feita durante um período de baixa atividade do
aplicativo, para minimizar o impacto da latência de transações em usuários.
Este é um exemplo do comando Transact-SQL (executado na FCI primária atual do data center
de recuperação de desastre). Neste exemplo, AG1 é o grupo de disponibilidade e a réplica do
data center primário é designada como SQLFCIPrimary\INST_A.
34
USE [master]
GO
ALTER AVAILABILITY GROUP [AG1]
MODIFY REPLICA ON N'SQLFCIPrimary\INST_A' WITH
(AVAILABILITY_MODE = SYNCHRONOUS_COMMIT);
GO
Na mesma sessão do SQL Server Management Studio, execute o comando a seguir para definir
a confirmação síncrona também na réplica de DR.
USE [master]
GO
ALTER AVAILABILITY GROUP [AG1]
MODIFY REPLICA ON N'SQLFCIDR\INST_B' WITH
(AVAILABILITY_MODE = SYNCHRONOUS_COMMIT);
GO
4. Confirme o status da sincronização entre os dois locais (ambos os estados das réplicas devem
indicar “healthy” (íntegra) antes de você passar para a próxima etapa, o que significa que
ambas as réplicas de confirmação síncrona estão sincronizadas).
SELECT
role_desc,
synchronization_health_desc
FROM sys.dm_hadr_availability_replica_states;
5. Para fazer failover da FCI do data center de recuperação de desastre para a FCI do data center
primário anterior, conecte-se e execute o script a seguir na FCI do data center primário que se
tornará a nova réplica primária.
ALTER AVAILABILITY GROUP [AG1] FAILOVER;
6. Se sua topologia usa o modo de alto desempenho, como mencionado anteriormente, altere
o nó da réplica de FCI de recuperação de desastre novamente para confirmação assíncrona.
Execute o comando Transact-SQL a seguir na réplica primária.
USE [master]
GO
ALTER AVAILABILITY GROUP [AG1]
MODIFY REPLICA ON N'SQLFCIDR\INST_B' WITH
(AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT);
GO
USE [master]
GO
ALTER AVAILABILITY GROUP [AG1]
MODIFY REPLICA ON N'SQLFCIPrimary\INST_A' WITH
(AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT);
GO
7. Remova os votos de quorum dos nós de recuperação de desastre.
35
A tabela a seguir recapitula o fluxo de trabalho de recuperação de desastre descrito anteriormente,
indicando quais áreas costumam ser incluídas nas várias funções empresariais de uma perspectiva de
planejamento.
Etapa
1. Após o serviço do data center
primário, os nós e a FCI forem
restaurados, adicione
novamente os votos de quorum
aos nós primários originais.
2. Retome as sessões do banco de
dados de disponibilidade em
cada réplica secundária.
3. Altere a réplica de FCI de
recuperação de desastre e a
réplica de FCI do data center
primário para confirmação
síncrona.
4. Confirme o status da
sincronização entre os dois locais
(ambos os estados das réplicas
devem indicar “healthy” (íntegra)
antes de você passar para
a próxima etapa).
5. Faça failover para a réplica de FCI
do data center primário.
6. Reverta a réplica de recuperação
de desastre para confirmação
assíncrona (para corresponder
à configuração original).
7. Remova os votos dos nós do
WSFC de DR.
Administrador
de banco de
dados
Administrador do
Windows
Server\cluster
Sim
Administrador
de rede
Sim
Sim
Sim
Sim
Sim
Sim
Tabela 4: Revertendo para o data center primário
Conclusão
Os Grupos de Disponibilidade do SQL Server 2012 AlwaysOn podem ser usados para substituir
o espelhamento de banco de dados em topologias com FCIs para alta disponibilidade e espelhamento
de banco de dados para recuperação de desastre. O padrão de design estende os recursos além do que
era oferecido em versões anteriores, permitindo uma unidade de failover com vários bancos de dados,
réplicas somente leitura e mais. A intenção deste white paper era apresentar uma nova solução de HA
e DR usando FCIs AlwaysOn e Grupos de Disponibilidade AlwaysOn para substituir a arquitetura
herdada.
A implantação bem-sucedida de uma solução de HA/DR envolve não apenas a equipe do DBA, mas
a colaboração próxima entre a equipe do DBA, a equipe de administração do Windows Server e a equipe
de rede da organização de TI. O intercâmbio de habilidades é muito valioso quando você implanta
a solução de HA/DR.
36
Referências













Padrões de design de alta disponibilidade e recuperação de desastre do SQL Server 2012 AlwaysOn
(http://go.microsoft.com/fwlink/?LinkId=255048)
Guia de soluções Microsoft SQL Server AlwaysOn para alta disponibilidade e recuperação de
desastre (http://msdn.microsoft.com/library/hh781257.aspx)
Instâncias de cluster de failover AlwaysOn (http://technet.microsoft.com/library/ms189134.aspx)
Visão geral de Grupos de Disponibilidade AlwaysOn
(http://technet.microsoft.com/library/ff877884(v=SQL.110).aspx)
Clustering de Failover e Grupos de Disponibilidade AlwaysOn
(http://technet.microsoft.com/library/ff929171.aspx)
Pré-requisitos, restrições e recomendações para Grupos de Disponibilidade AlwaysOn
(http://technet.microsoft.com/library/ff878487(v=sql.110).aspx)
Guia passo a passo de cluster de failover: configurando o quorum em um cluster de failover
(http://technet.microsoft.com/library/cc770620(v=WS.10).aspx)
Hotfix do Windows Server para votos de quorum (http://support.microsoft.com/kb/2494036)
Windows PowerShell (http://technet.microsoft.com/library/bb978526)
Mapeando comandos do Cluster.exe para cmdlets do Windows PowerShell para clusters de failover
(http://technet.microsoft.com/library/ee619744(v=WS.10).aspx)
Guia de sobrevivência do Windows PowerShell
(http://social.technet.microsoft.com/wiki/contents/articles/183.windows-powershell-survivalguide-en-us.aspx)
Cmdlets de cluster de failover no Windows PowerShell
(http://technet.microsoft.com/library/ee461009.aspx)
SQL Server PowerShell (http://msdn.microsoft.com/pt-br/library/hh245198.aspx)
Para saber mais:
Site do SQL Server (http://www.microsoft.com/sqlserver/)
SQL Server TechCenter (http://technet.microsoft.com/sqlserver/)
SQL Server DevCenter (http://msdn.microsoft.com/sqlserver/)
Este white paper ajudou você? Envie seus comentários. Em uma escala de 1 (ruim)
a 5 (excelente), como você classificaria este white paper e por quê? Por exemplo:


Você está classificando-o como excelente devido aos bons exemplos, às excelentes
capturas de tela, à clareza do texto ou por outro motivo?
Você está classificando-o como ruim devido aos exemplos insatisfatórios, às capturas
de tela confusas ou ao texto mal-escrito?
Os comentários nos ajudam a melhorar a qualidade dos white papers que lançamos.
Enviar comentários
37
Download