Modo de Coordenação de Ativação do Datacenter no Exchange Server
O modo DAC (Coordenação de Ativação do Datacenter) é uma propriedade de um DAG (grupo de disponibilidade de banco de dados). O modo DAC é desabilitado por padrão, mas deve ser habilitado para todos os DAGs com dois ou mais membros que usam replicação contínua. O modo DAC não deve ser habilitado para DAGs que usam o modo de replicação de terceiros, a menos que especificado pelo fornecedor de terceiros.
O modo DAC é usado para controlar a montagem do banco de dados no comportamento de inicialização de um DAG. Esse controle foi projetado para evitar que o cérebro dividido ocorra no nível do banco de dados durante um retorno do datacenter. O cérebro dividido, também conhecido como síndrome cerebral dividida, é uma condição que resulta em um banco de dados sendo montado como uma cópia ativa em dois membros do mesmo DAG que são incapazes de se comunicar uns com os outros. O cérebro dividido é evitado usando o modo DAC, pois o modo DAC exige que os membros daG obtenham permissão para montar bancos de dados antes que eles possam ser montados.
Por exemplo, quando um datacenter primário contém dois membros DAG e o servidor testemunha, e um segundo datacenter contém dois outros membros DAG, o DAG não está no modo DAC. O datacenter primário perde energia, portanto, você ativa o DAG no segundo datacenter. Eventualmente, a energia para o datacenter primário é restaurada, e os membros da DAG no datacenter primário, que tinha quorum antes da falha de energia, iniciarão e montarão seus bancos de dados. Como o datacenter primário foi restaurado sem conectividade de rede com o segundo datacenter e, como o DAG não estava no modo DAC, os bancos de dados ativos dentro do DAG entram em uma condição cerebral dividida.
Como funciona o modo DAC
O modo DAC inclui um protocolo chamado DACP (Protocolo de Coordenação de Ativação do Datacenter). Quando o modo DAC estiver habilitado, os membros da DAG não montarão bancos de dados automaticamente, mesmo que tenham quorum. Em vez disso, o DACP é usado para determinar o estado atual do DAG e se o Active Manager deve tentar montar os bancos de dados.
Você pode pensar no modo DAC como um nível de quorum de aplicativo para bancos de dados de montagem. Para entender a finalidade da DACP e como ela funciona, é importante entender o cenário primário que se destina a lidar. Considere o cenário de dois datacenter descrito acima. Suponha que haja uma falha de energia completa no datacenter primário. Nesse caso, todos os servidores e a WAN estão desligados, portanto, a organização toma a decisão de ativar o datacenter em espera. Em quase todos esses cenários de recuperação, quando a energia é restaurada para o datacenter primário, a conectividade WAN normalmente não é restaurada imediatamente. Isso significa que os membros da DAG no datacenter primário serão habilitados, mas não poderão se comunicar com os membros da DAG no datacenter em espera ativado. O datacenter primário deve sempre conter a maioria dos eleitores do quorum DAG, o que significa que quando o poder é restaurado, mesmo na ausência de conectividade WAN com os membros DAG no datacenter em espera, os membros da DAG no datacenter primário têm maioria e, portanto, têm quorum. Isso é um problema porque, com o quorum, esses servidores podem ser capazes de montar seus bancos de dados, o que, por sua vez, causaria divergência dos bancos de dados ativos reais que agora estão montados no datacenter em espera ativado.
A DACP foi criada para resolver esse problema. O Active Manager armazena um pouco na memória (um 0 ou um 1) que informa ao DAG se ele tem permissão para montar bancos de dados locais atribuídos como ativos no servidor. Quando um DAG está em execução no modo DAC, cada vez que o Active Manager inicia o bit é definido como 0, o que significa que não é permitido montar bancos de dados. Como está no modo DAC, o servidor deve tentar se comunicar com todos os outros membros do DAG que ele sabe para obter outro membro DAG para dar-lhe uma resposta sobre se ele pode montar bancos de dados locais atribuídos como ativos a ele. A resposta vem na forma da configuração de bit para outros Active Managers no DAG. Se outro servidor responder que seu bit está definido como 1, significa que os servidores poderão montar bancos de dados, portanto, o servidor inicializado define seu bit como 1 e monta seus bancos de dados.
Mas quando você se recupera de uma interrupção de energia do datacenter primário em que os servidores são recuperados, mas a conectividade WAN não foi restaurada, todos os membros da DAG no datacenter primário terão um valor de bit DACP de 0; e, portanto, nenhum dos servidores que iniciarem backup no datacenter primário recuperado montará bancos de dados, pois nenhum deles pode se comunicar com um membro DAG que tem um valor de bit DACP de 1.
Modo DAC para DAGs com dois membros
Os DAGs com dois membros têm limitações inerentes que impedem que o bit DACP sozinho proteja totalmente contra a síndrome cerebral dividida no nível do aplicativo. Para DAGs com apenas dois membros, o modo DAC também usa o tempo de inicialização do servidor testemunha do DAG para determinar se ele pode montar bancos de dados na inicialização. O tempo de inicialização do servidor testemunha é comparado ao momento em que o bit DACP foi definido como 1.
Se a hora em que o bit DACP foi definido for anterior à hora de inicialização do servidor testemunha, o sistema pressupõe que o membro DAG e o servidor testemunha foram reiniciados ao mesmo tempo (talvez por causa da perda de energia no datacenter primário) e que o membro DAG não tem permissão para montar bancos de dados.
Se o tempo que o bit DACP foi definido for mais recente do que a hora de inicialização do servidor testemunha, o sistema pressupõe que o membro DAG foi reiniciado por algum outro motivo (talvez uma interrupção agendada na qual a manutenção foi executada ou talvez uma falha do sistema ou perda de energia isolada para o membro DAG) e o membro DAG tem permissão para montar bancos de dados.
Importante
Como o tempo de inicialização do servidor testemunha é usado para determinar se um membro DAG pode montar seus bancos de dados ativos na inicialização, você nunca deve reiniciar o servidor testemunha e o único membro DAG ao mesmo tempo. Isso pode deixar o membro DAG em um estado em que ele não pode montar bancos de dados na inicialização. Se isso acontecer, você deverá executar o cmdlet Restore-DatabaseAvailabilityGroup no DAG. Isso redefine o bit DACP e permite que o membro DAG monte bancos de dados.
Outros benefícios do modo DAC
Além de prevenir a síndrome cerebral dividida no nível do aplicativo, o modo DAC também permite o uso dos cmdlets internos de resiliência do site usados para executar alternações de datacenter. Elas incluem o seguinte:
Executar uma alternância de datacenter para DAGs que não estão no modo DAC envolve o uso de uma combinação de ferramentas do Exchange e ferramentas de gerenciamento de cluster. Para obter mais informações, confira Alternâncias do Datacenter.
Habilitando o modo DAC
O modo DAC só pode ser habilitado usando o Shell de Gerenciamento do Exchange. Especificamente, você pode usar o cmdlet Set-DatabaseAvailabilityGroup para habilitar o modo DAC, conforme ilustrado no exemplo a seguir.
Set-DatabaseAvailabilityGroup -Identity DAG2 -DatacenterActivationMode DagOnly
No exemplo anterior, o DAG2 está habilitado para o modo DAC.
Para obter mais informações sobre como habilitar o modo DAC, consulte Configurar propriedades do grupo de disponibilidade de banco de dados e Set-DatabaseAvailabilityGroup.