Exchange Server 2013 Criando Database Availability Groups
Fernando Lugão Veltem
Maio, 2014
Visão Geral
O Database Availability Group (DAG) é a funcionalidade de alta disponibilidade para as bases de dados do Exchange Server 2013. Um DAG é formado por um conjunto de até 16 servidores Mailbox e provê replicação das bases e recuperação no caso em falha de servidores.
Cada membro do DAG é capaz de hospedar uma cópia de uma base de dados do Exchange com um limite de 100 bases. Todas as copias das bases devem ser localizadas no mesmo caminho, e um membro do DAG somente pode possuir uma cópia de uma determinada base.
O serviço de alta disponibilidade utiliza a replicação contínua para manter todas as copias atualizadas. E as bases ativas podem ser distribuídas entre os membros do DAG e a qualquer momento uma base passiva pode se tornar ativa e servir conexão para os usuários.
O DAG introduz um componente chamado Active Manager, que é responsável que gerencia a plataforma de alta disponibilidade e a copia das bases.
Active Manager
Este componente do DAG é executado dentro do serviço Microsoft Exchange Replication (MSExchangeRepl.exe),em todos os servidores Mailbox,mesmo os que não são membros de um Database Availability Group
Em Mailbox Server que fazem parte de um DAG este componente é executado em Primary Active Manager ou Standby Active Manager.
- Primary Active Manager: controla quais copias das bases estão ativas e quais estão no estado passivo. É responsável por processar alterações na topologia e reagir a falhas em servidores e serviços.
- Standby Active Manager: responsável por monitorar a saúde de todas as bases montadas da estrutura e detectar falhas no serviço Microsoft Exchange Information Store e nos acessos às bases. Quando uma falha é detectada o Standby Active Manager envia uma mensagem ao Primary Active Manager que inicia o processo de failover das bases afetadas e determina onde a copia será montada,
Se o servidor que detêm o Primary Active Manager falhar o componente é movido para o servidor que for ower do quorum do cluster. Para exibir o Primary Active Manager do cluster execute o cmdlet:
Get-DatabaseAvailabilityGroup <nome do dag> -Status | Format-List Name, PrimaryActiveManager
Quorum
O Quorum de um cluster é um componente que mantem a logica do cluster determinando quais membros são ativos e quais são passivos.
O Exchange Server 2013 utiliza o componente do quorum do Windows cluster para determinar o número de nodos que o cluster pode perder e sem afetar a continuidade do serviço de base.
O Quorum impede que dois servidores operem simultaneamente como ativos no cluster, o quorum implementa um algorítimo de voto para determinar se o cluster tem uma quantidade de nodos ativos para manter o serviço de cluster. Como o cluster tem um número finito de nodos e uma configuração de quorum, o serviço de cluster sabe quantos votos são necessários para manter o serviço. Se o número de votos ficar abaixo do mínimo o cluster não pode ser iniciado.
O DAG faz uso de um witness server e um compartilhamento de rede como o quorum. O servidor witness não faz parte como um membro do DAG e não participa na replicação das bases, o witness hospeda uma pasta compartilhada que é usada como quorum,. O quorum então é utilizado para determinar os membros da replicação e quais servidores possuem bases passivas.
Uma boa prática é configurar o servidor Client Access como o witness server. Este serviço consome poucos recursos e não afeta o funcionamento dos componentes do servidor web.
Como o cluster utiliza o sistema de voto, podemos encontrar duas situações quando configuramos um DAG. Quando a quantidade de servidores é par ou impar.
Se um Database Availability Group foi criado com um número impar de membros o a maioria simples de membros devem votar para que o cluster funcione. Por exemplo em um DAG de três servidores:
Se um Database Availability Group foi criado com um número par de membros se cria uma situação onde pode ocorrer uma falha de metade dos membros e o serviço de cluster falhar. Para impedir esta situação o Witness server é tratado como um membro votante do DAG. Por exemplo em um cluster de dois Mailbox Server e um Witness server temos o seguinte sistema de voto
Com um DAG configurado com quatro Mailbox Server e um Witness Server
Continuous Replication
Cada membro do DAG participa do processo chamado de continuous replication, que mantem as copias passivas atualizadas e consistentes. O Exchange 2013 suporta dois tipos configurações:
- File Mode
- Block Mode
File Mode replication
O serviço do DAG utiliza envio de log assíncrono da base ativa para a base passiva. Cada arquivo de log do Exchange 2013 tem o tamanho fixo de 1 Mb, apos a gravação do arquivo o serviço de replicação copia para o servidor Mailbox que contem a copia da base. Cada Mailbox que recebe o arquivo de log então o aplica na base passiva mantendo a estrutura atualizada.
Quando o último arquivo de log for aplicado à base o serviço de replicação passa a funcionar com o Block Mode.
Block Mode replication
O Extensible Storage Engine (ESE) utiliza um conjunto de log buffers para armazenar informações na memória do servidor antes de escreve-los no transaction logs no disco. A replicação Block Mode replica o Extensible Storage Engine (ESE) log buffers da memória do servidor onde a base esta ativa para todos os membros do DAG que possuem uma copia passiva da base. Quando o log buffer enche o servidor escreve o conteúdo no arquivo de log do Exchange e esvazia o buffer, as alterações são aplicadas na base ativa e passiva simultaneamente.
O benefício da replicação em bloco é que diminui a diferença entre a base ativa e passiva diminuindo a possibilidade de perda de dados durante uma falha.
Rede
Quando um DAG é configurado dois tipos de tráfego são gerados pelos servidores:
- MAPI, trafego de comunicação entre o servidor e cliente
- Replicação, trafego de replicação entre servidores DAG
As redes configuradas nos servidores devem ser separadas logicamente para evitar falhas de comunicação.
O DAG suporta compressão entre os servidores baseada no algorítimo XPRESS implementado sobre algorítimo LZ77. As seguintes configurações são suportadas:
- Disabled: tráfego de rede não é comprimido
- Enable: tráfego de rede é comprimido
- InterSubnetOnly: Este é a configuração padrão do DAG, compressão é utilizada quando a replicação em subredes diferentes
- SeedOnly: compressão é utilizada no seed
Para configurar compressão o seguinte cmdlet
Set-DatabaseAvailabilityGroup <nome DAG> -NetworkCompression <Opção>
O DAG pode criptografar o tráfego de replicação, a criptografia pode tomar as seguintes configurações
- Disabled: tráfego de rede não é encriptado
- Enable: tráfego de rede é encriptado
- InterSubnetOnly: Este é a configuração padrão do DAG, a encriptação é utilizada quando a replicação em subredes diferentes
- SeedOnly: encriptação é utilizada no seed
Para configurar compressão o seguinte cmdlet
Set-DatabaseAvailabilityGroup <nome DAG> -NetworkEncrytion <Opção>
Instalação do Database Availability Group
Pré Requisitos
Para a instalação do DAG tenho um ambiente de quatro maquinas virtuais.
Um controlador de domínio e certificadora chamado Hm01.home.intranet, e três servidores executando o Exchange Server 2013 Service Pack 1. O servidor chamado Hm03CAS1.home.intranet foi configurado com o Client Access role e os servidores Hm03MBX1.home.intranet e o Hm03mbx2.home.intranet são foram configurados com o Mailbox Server. Todos os servidores estão executando Windows Server 2012 R2.
O servidor Hm03CAS1.home.intranet será configurado como Witness server para o DAG formado pelos Hm03MBX1 e Hm03MBX2. Os servidores Mailbox foram configurados com duas placas de rede, uma rede conectada com comunicação com os servidores e o Client Access e outra subnet utilizada para replicação e heartbeat do cluster.
FQDN |
Endereço IP |
Rede Replicação |
Função do Servidor |
---|---|---|---|
Hm01.home.intranet |
172.16.1.240/16 |
- |
Controlador de domínio |
Hm03CAS.home.intranet |
172.16.1.241/16 |
- |
Exchange Server Client Access |
Hm03MBX1.home.intranet |
172.16.1.242/16 |
192.168.0.1/30 |
Exchange Server Mailbox |
Hm03MBX2.home.intranet |
172.16.1.243/16 |
192.168.0.2/30 |
Exchange Server Mailbox |
As placas de rede dos servidores Mailbox foram renomeadas para identificar suas funções.
As redes de replicação foram configuradas sem gaeway padrão, e removido as configurações de registro de DNS
Permissões e Contas
Para o servidor que será configurado como Witness server é necessário adicionar o grupo Exchange Trusted Subsystem no grupo de administradores locais. Como o servidor que será utilizado é um Exchange Server Client Access a permissão deste grupo está configurada.
Antes de iniciar a criação do Database Availability Group é necessário criar um Cluster Network Object no Active Directory. O CNO é uma conta de computador no Active Directory Domain Services desabilitada.
Na segurança do objeto adicione o Mailbox Server que será usado para criar o DAG com full control.
Storage
Cada servidor que será membro do DAG deve conter o mesmo número unidades e com a mesma nomenclatura. Neste exemplo cada servidor Mailbox contem duas unidades de disco.
A unidade E: armazena os arquivos de bancos de dados e a unidade F: armazena os arquivos de logs.
Tenho criada duas bases de dados, DB1 e DB2.
Criação do Database Availability Group
Para criar o DAG acesse o Exchange console, na guia Server clique em
No assistente de criação adicione as configurações do DAG
- Database avalability group name: configure o nome do DAG. Este nome deve ser igual ao Cluster Network Objectcriado no Active Directory
- Witness server: adicione o nome do servidor que será usado como witness
- Witness server directory: Configure o nome da pasta que será criada e compartilhada no servidor witness
- Database avalability group IP Address: configure o endereço ip que o serviço de DAG responderá
As informações do Database Availability Group já é deve ser exibida no console. Agora é preciso adicionar os servidores no grupo, clique
No assistente de configuração clique no sinal de adição
Selecione o servidor que foi configurado com Full Controll no Cluster Network Object e clique OK
Clique em Save para gravar e iniciar as configurações do Mailbox
O processo pode demorar um pouco, com o processo concluído clique em Close
Repita o mesmo processo para os outros servidores que serão membros do DAG. As informações dos membros devem ser exibidas
Verifique se o diretório foi criado e compartilhado no witness server
Configurando a Base para Replicação
Para adicionar uma base em alta disponibilidade, selecione a base e clique em Add database copy
Selecione o Mailbox Server que receberá a base copia e clique em Save
O assistente deve configurar a cópia da base no servidor de destino
Nas propriedades da base são exibidas os servidores que hospedam uma cópia da base
Existe o cmdlet Get-MailboxDatabaseCopyStatus também mostra as copias de uma base e a saúde e qual servidor a base está montada
Get-MailboxDatabaseCopyStatus db1
No console do Exchange apresenta algumas opções de gerenciamento da copia
Verificando Replicação
O cmdlet Test-ReplicationHealth pode ser usado para verificar o status da replicação e replay dos logs nas bases passivas.
Test-ReplicationHealth
Artigos Relacionados
- Trabalhando com Mailbox Database no Database Availability Groups
- Guia de Sobrevivência: Exchange Server 2013
- Curah! - Alta Disponibilidade do Exchange Server 2013
Referência
Você pode melhorar este artigo? Acesse e contribua no Microsoft Technet Wiki e contribua: https://social.technet.microsoft.com/wiki/pt-br/contents/articles/23841.exchange-server-2013-criando-database-availability-groups.aspx
Este artigo foi originalmente escrito por:
Fernando Lugão Veltem
blog: http://flugaoveltem.blogspot.com
twitter: @flugaoveltem