Noções Básicas Sobre o Gerenciador de Ativos

 

Aplica-se a: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Tópico modificado em: 2015-03-09

O Microsoft Exchange Server 2010 inclui um novo componente chamado Active Manager, que oferece funcionalidades que substituem os recursos de modelo de recurso e gerenciamento de failover fornecidos pela integração com o serviço de Cluster, em versões anteriores do Exchange. O Exchange não usa mais o modelo de recurso de cluster para alta disponibilidade. Todos os recursos de cluster do Exchange fornecidos pela exres.dll não existem mais, incluindo a estrutura conhecida como servidor de caixa de correio em cluster. Um Cluster de Failover do Windows é usado pelo Exchange, mas não há grupos de cluster para o Exchange, e não há recursos de armazenamento no cluster. Assim, se o cluster for examinado usando ferramentas de gerenciamento de cluster, você verá apenas os recursos de cluster principais (Endereço IP e Nome de Rede e, se necessário, recurso de quorum). Nós e redes de cluster também existirão, mas são gerenciados pelo Exchange e não pelo cluster ou por ferramentas de cluster.

O Active Manager é executado como uma função em todos os servidores de Caixa de Correio. Em servidores de Caixa de Correio que não estão configurados para alta disponibilidade, há uma única função do Active Manager: Active Manager Autônomo. Em servidores que são membros de um grupo de disponibilidade de banco de dados (DAG), há duas funções do Active Manager: Active Manager Principal (PAM) e Active Manager em Espera (SAM). PAM é o Active Manager em um DAG que decide quais cópias serão ativas e passivas. O PAM é responsável por obter notificações de alteração de topologia e reagir a falhas do servidor. O membro do DAG que hospeda a função PAM é sempre o membro que atualmente possui o recurso de quorum do cluster (grupo de cluster padrão). Se o servidor que possui o recurso de quorum do cluster falhar, a função PAM automaticamente é movida para um servidor sobrevivente, que se apropria do recurso de quorum do cluster. Além disso, se for preciso desligar o servidor que hospeda o recurso de quorum do cluster para manutenção ou atualização, você deve primeiro mover o PAM para outro servidor do DAG. O PAM controla todo o movimento de designações ativas entre as cópias de um banco de dados (apenas uma cópia pode estar ativa em qualquer tempo especificado, e esta cópia pode ser montada ou desmontada). O PAM também executa as funções da função SAM no sistema local (detectando o banco de dados local e falhas do Armazenamento de Informações).

O SAM fornece informações sobre qual servidor hospeda a cópia ativa de um banco de dados de caixa de correio para outros componentes do Exchange que estão executando um componente cliente do Active Manager (por exemplo, o serviço Acesso para Cliente RPC ou servidor de Transporte de Hub). O SAM detecta falhas de bancos de dados locais e do Armazenamento de Informações local. Ele reage a falhas pedido ao PAM que inicie um failover (caso o banco de dados seja replicado). Um SAM não determina o destino de um failover, nem atualiza o estado da localização do banco de dados no PAM. Ele acessará o estado da localização da cópia do banco de dados ativa para responder consultas na cópia ativa do banco de dados que recebe.

Dica

O Exchange 2010 não é um aplicativo em cluster. Ao invés disso, usa as funções da biblioteca do cluster implementadas na clusapi.dll para cluster, rede de cluster (pulsação), gerenciamento de nó, registro de cluster e algumas funções de código de controle. Além disso, o Active Manager armazena informações do banco de dados de caixa de correio atual (por exemplo, dados ativos e passivos e dados montados) no banco de dados de cluster. Embora as informações sejam armazenadas diretamente no banco de dados de cluster, não são acessadas diretamente por qualquer outro componente.

No Exchange 2010, o serviço de Replicação do Microsoft Exchange monitora periodicamente a integridade de todos os bancos de dados montados. Além disso, também monitora o ESE (Mecanismo de Armazenamento Extensível) para qualquer erro ou falha de E/S. Quando o serviço detecta uma falha, o Active Manager é notificado. O Active Manager então determina qual cópia de banco de dados deve ser montada e o que é necessário para montar o banco de dados. Além disso, controla a cópia ativa de um banco de dados de caixa de correio (com base na última cópia montada do banco de dados) e fornece informações dos resultados do controle para o componente Acesso para Cliente RPC, no servidor de Acesso para Cliente no qual o cliente está conectado.

Seleção de Melhor Cópia do Active Manager

Quando ocorre uma falha que afeta um banco de dados de caixa de correio replicado, o Active Manager executa várias etapas para recuperar-se da falha, selecionando a melhor cópia possível do banco de dados que falhou para ser ativada. O processo geral ocorre na seguinte ordem:

  1. O Active Manager detecta a falha.

  2. O PAM executa um algoritmo interno chamado seleção de melhor cópia (BCS).

  3. Ocorre um processo chamado tentativa de cópia de últimos logs (ACLL), que tenta copiar os arquivos de log ausentes do servidor que hospedava a cópia do banco de dados ativa antes do failover.

  4. Quando o processo do ACLL é concluído, o PAM emite uma solicitação de montagem para o Repositório de Informações do Microsoft Exchange por meio de RPC (chamada de procedimento remoto). Nesse momento:

    1. O banco de dados é montado e disponibilizado para clientes; ou

    2. O banco de dados não é montado e o PAM executa as etapas 3 e 4 na próxima melhor cópia (caso alguma esteja disponível).

Ao pesquisar a melhor cópia possível, o PAM usa até dez conjuntos separados de critérios para determinar a melhor cópia para ativação. Após localizar a melhor cópia possível, o ACLL é executado. Depois da conclusão do processo do ACLL, se todos os arquivos de log ausentes foram copiados da cópia ativa anterior, o banco de dados é montado sem qualquer perda de dados. Isso é conhecido como failover sem perdas. Se o processo do ACLL não for bem-sucedido, o valor configurado em AutoDatabaseMountDial é consultado. Para obter mais informações sobre o AutoDatabaseMountDial, consulte Set-MailboxServer. Se o número de logs perdidos estiver dentro do valor configurado para AutoDatabaseMountDial, o banco de dados é montado. Se o número de logs perdidos estiver fora do valor configurado para AutoDatabaseMountDial, o banco de dados não é montado até que os arquivos de log faltantes sejam recuperados ou até que um administrador monte o banco de dados explicitamente e aceite a perda de dados maior. Se o banco de dados não for montado automaticamente, o PAM selecionará a próxima melhor cópia (caso haja uma disponível). Há pelo menos três razões pelas quais a cópia do banco de dados inicialmente selecionada não é montada automaticamente:

  1. O número de arquivos de log perdidos é maior do que o valor configurado para AutoDatabaseMountDial.

  2. O servidor no qual a tentativa de montagem foi feita está configurado com um máximo flexível para o número ativo dos bancos de dados e o número máximo de cópias do banco de dados ativo foi atingido no servidor.

  3. A cópia do banco de dados está suspensa para ativação.

Processo de seleção de melhor cópia

O Active Manager começa o processo de seleção de melhor cópia cirando uma lista de cópias do banco de dados que são possíveis candidatos para ativação. Cópias de banco de dados que estejam inacessíveis ou bloqueadas administrativamente contra ativação (usando a propriedade DatabaseCopyAutoActivationPolicy do cmdlet Set-MailboxServer) são ignoradas e não são usadas durante o processo de seleção. A ordem da lista depende da versão do Exchange 2010:

  • Na RTM (versão de produção) do Exchange 2010, o Active Manager classifica a lista resultante usando o comprimento da fila de cópia como chave primária. O cálculo é baseado em LastLogInspected (do ponto de vista da cópia), para que a lista de cópias possíveis seja classificada pelo valor mais alto para LastLogInspected (que será a cópia com o menor comprimento de fila de cópia). Então, o Active Manager classifica a lista uma segunda vez usando o valor de ActivationPreference como chave secundária. A cópia com o menor valor de ActivationPreference possui a mais alta prioridade na lista.

  • No Exchange 2010 Service Pack 1 (SP1), o comportamento é o mesmo que na versão RTM, exceto quanto aos servidores configurados com um valor da discagem automática da montagem do banco de dados de Sem Perdas. Quando uma configuração Sem Perdas é usada, o Active Manager classifica a lista resultante em ordem crescente usando o valor de ActivationPreference como chave primária. Esse comportamento é adotado deliberadamente para que o desequilíbrio do banco de dados seja minimizado por operações de movimentação (como alternâncias ou a execução de StartDagServerMaintenance.ps1).

Em seguida, o Active Manager tenta localizar na lista uma cópia do banco de dados de caixa de correio com status Healthy, DisconnectedAndHealthy, DisconnectedAndResynchronizing ou SeedingSource e avalia o potencial de ativação de cada uma das cópias na lista usando um conjunto ordenado de dez critérios. O Active Manager determina se qualquer dos candidatos para ativação atende ao primeiro conjunto de critérios:

  • Tem um índice de conteúdo com o status Íntegro (Healthy).

  • Tem um tamanho de fila de cópia inferior a 10 arquivos de log.

  • Tem um tamanho de fila de repetição inferior a 50 arquivos de log.

Caso nenhuma das cópias do banco de dados atenda ao primeiro conjunto de critérios, o Active Manager tenta localizar uma cópia do banco de dados que atenda ao segundo conjunto de critérios:

  • Tem um índice de conteúdo com o status Rastreando (Crawling).

  • Tem um tamanho de fila de cópia inferior a 10 arquivos de log.

  • Tem um tamanho de fila de repetição inferior a 50 arquivos de log.

Caso nenhuma das cópias do banco de dados atenda ao segundo conjunto de critérios, o Active Manager tenta localizar uma cópia do banco de dados que atenda ao terceiro conjunto de critérios:

  • Tem um índice de conteúdo com o status Íntegro (Healthy).

  • Tem um tamanho de fila de repetição inferior a 50 arquivos de log.

Caso nenhuma das cópias do banco de dados atenda ao terceiro conjunto de critérios, o Active Manager tenta localizar uma cópia do banco de dados que atenda ao quarto conjunto de critérios:

  • Tem um índice de conteúdo com o status Rastreando (Crawling).

  • Tem um tamanho de fila de repetição inferior a 50 arquivos de log.

Caso nenhuma das cópias do banco de dados atenda ao quarto conjunto de critérios, o Active Manager tenta localizar uma cópia do banco de dados que atenda ao quinto conjunto de critérios:

  • Tem um tamanho de fila de repetição inferior a 50 arquivos de log.

Caso nenhuma das cópias do banco de dados atenda ao quinto conjunto de critérios, o Active Manager tenta localizar uma cópia do banco de dados que atenda ao sexto conjunto de critérios:

  • Tem um índice de conteúdo com o status Íntegro (Healthy).

  • Tem um tamanho de fila de cópia inferior a 10 arquivos de log.

Caso nenhuma das cópias do banco de dados atenda ao sexto conjunto de critérios, o Active Manager tenta localizar uma cópia do banco de dados que atenda ao sétimo conjunto de critérios:

  • Possui um índice de conteúdo com status Crawling.

  • Possui um tamanho de fila de cópia inferior a 10 arquivos de log.

Caso nenhuma das cópias do banco de dados atenda ao sétimo conjunto de critérios, o Active Manager tenta localizar uma cópia do banco de dados que atenda ao oitvao conjunto de critérios:

  • Tem um índice de conteúdo com o status Íntegro (Healthy).

Caso nenhuma das cópias do banco de dados atenda ao oitavo conjunto de critérios, o Active Manager tenta localizar uma cópia do banco de dados que atenda ao non conjunto de critérios:

  • Tem um índice de conteúdo com o status Rastreando (Crawling).

Caso nenhuma das cópias de banco de dados atenda ao nono conjunto de critérios, o Active Manager tenta ativar qualquer cópia de banco de dados com status Healthy, DisconnectedAndHealthy, DisconnectedAndResynchronizing ou SeedingSource (o décimo conjunto de critérios). Se nenhuma cópia de banco de dados que atenda ao décimo conjunto de critérios for encontrada, não será possível ativar automaticamente uma cópia do banco de dados.

Uma vez que uma ou mais cópias sejam localizadas de acordo com um ou mais conjuntos de critérios, o processo ACLL é executado para copiar quaisquer arquivos de log da fonte original para a nova cópia ativa potencial. Depois que o processo ACLL é concluído, o PAM emite uma solicitação de montagem e o banco de dados é montado e disponibilizado para os clientes, ou o banco de dados não é montado e o PAM procura a próxima melhor cópia (caso haja uma disponível).

Exemplos de seleção de melhor cópia

A seção seguinte ilustra alguns exemplos do processo de seleção e ativação da melhor cópia pelo Active Manager.

Exemplo 1: cenário básico

Neste exemplo, há quatro cópias do banco de dados de caixa de correio DB1. DB1 está ativo atualmente no Server1, que apresenta uma falha de hardware. A tabela a seguir mostra o status atual das cópias do banco de dados de DB1 no Server2, Server3 e Server4.

Cópia do banco de dados Preferência de ativação Comprimento da fila de cópia Comprimento da fila de repetição Estado do índice de conteúdo Estado do banco de dados Ativação bloqueada

Server2\DB1

2

4

0

Healthy

Healthy

Não

Server3\DB1

3

2

2

Healthy

DisconnectedAndHealthy

Não

Server4\DB1

4

10

0

Crawling

Healthy

Não

A classificação das cópias disponíveis com base em seus comprimentos da fila de cópia (usando Preferência de Ativação se necessário) resulta na seguinte lista ordenada:

  • Server3\DB1

  • Server2\DB1

  • Server4\DB1

Nessa lista, apenas duas cópias de banco de dados atendem ao primeiro conjunto de critérios para ativação:

  • A cópia no Server3, que possui um estado de banco de dados Disconnectedandhealthy, um comprimento da fila de cópia menor que 10, um comprimento da fila de repetição menor que 50 e um índice de conteúdo íntegro.

  • A cópia no Server2, que possui um estado de banco de dados Healthy, um comprimento da fila de cópia menor que 10, um comprimento da fila de repetição menor que 50 e um índice de conteúdo íntegro.

Dessas duas, a cópia no Server3 possui o menor comprimento da fila de cópia; portanto, Server3 é selecionada como a cópia para a tentativa de ativação, visto que possui a menor quantidade de dados ausentes.

Depois que a cópia em Server3 é ativada, o serviço de Replicação do Microsoft Exchange no Server3 executa o processo ACLL e tenta copiar os arquivos de log ausentes do servidor ativo anterior (no caso, Server1). Quando o processo ACLL é concluído, o PAM é notificado sobre os resultados. Caso todos os logs tenham sido copiados com êxito, o banco de dados é marcado como a cópia ativa e montado com perda de dados zero. Caso um ou mais logs estejam faltando, o valor do parâmetro AutoDatabaseMountDial é consultado. Se a perda de dados estiver dentro do valor configurado, o banco de dados será marcado como a cópia ativa e montado com perda de dados. A maioria dos dados ausentes será, então, recuperada do dumpster de transporte.

Se o Active Manager enviar uma solicitação de montagem para o Armazenamento de Informações e a operação de montagem for malsucedida, o Active Manager voltará à lista classificada acima e tentará ativar a próxima melhor cópia (no caso, Server2).

Exemplo 2: duas cópias com o mesmo comprimento da fila de cópia

Neste exemplo, há quatro cópias do banco de dados de caixa de correio DB2. DB2 está ativo atualmente no Server1, que apresenta uma falha de hardware. A tabela a seguir mostra o status atual das cópias do banco de dados de DB2 no Server2, Server3 e Server4.

Cópia do banco de dados Preferência de ativação Comprimento da fila de cópia Comprimento da fila de repetição Estado do índice de conteúdo Estado do banco de dados Ativação bloqueada

Server2\DB2

2

2

0

Healthy

Healthy

Não

Server3\DB2

3

2

2

Healthy

DisconnectedAndHealthy

Não

Server4\DB2

4

10

0

Crawling

Healthy

Não

A classificação das cópias disponíveis com base em seus comprimentos da fila de cópia (usando Preferência de Ativação se necessário) resulta na seguinte lista ordenada:

  • Server2\DB2

  • Server3\DB2

  • Server4\DB2

Nessa lista, apenas duas cópias de banco de dados atendem ao primeiro conjunto de critérios para ativação:

  • A cópia no Server2, que possui um estado de banco de dados Healthy, um comprimento da fila de cópia menor que 10, um comprimento da fila de repetição menor que 50 e um índice de conteúdo íntegro.

  • A cópia no Server3, que possui um estado de banco de dados Disconnectedandhealthy, um comprimento da fila de cópia menor que 10, um comprimento da fila de repetição menor que 50 e um índice de conteúdo íntegro.

Dessas duas, a cópia no Server2 possui um comprimento da fila de cópia igual à cópia no Server3, mas também possui um valor de Preferência de Ativação menor; portanto, a cópia no Server2 está no topo da lista e é selecionada como a cópia para a tentativa de ativação, visto que possui a menor quantidade de dados ausentes e o menor valor de Preferência de Ativação.

Exemplo 3: cópias com estado idêntico de banco de dados e estado diferente de índice de conteúdo

Neste exemplo, há quatro cópias do banco de dados de caixa de correio DB3. DB3 está ativo atualmente no Server1, que apresenta uma falha de hardware. A tabela a seguir mostra o status atual das cópias do banco de dados de DB3 no Server2, Server3 e Server4.

Cópia do banco de dados Preferência de ativação Comprimento da fila de cópia Comprimento da fila de repetição Estado do índice de conteúdo Estado do banco de dados Ativação bloqueada

Server2\DB3

2

0

3

Crawling

Healthy

Não

Server3\DB3

3

0

3

Healthy

DisconnectedAndHealthy

Não

Server4\DB3

4

0

0

Healthy

Healthy

Não

A classificação das cópias disponíveis com base em seus comprimentos da fila de cópia (usando Preferência de Ativação se necessário) resulta na seguinte lista ordenada:

  • Server2\DB3

  • Server3\DB3

  • Server4\DB3

Todas as três das cópias de banco de dados hospedadas nos servidores acima atendem aos critérios para ativação. Embora Server2 tenha um valor menor de Preferência de Ativação, o estado de seu índice de conteúdo é Crawling; como resultado, quando o Active Manager verifica a lista em relação ao primeiro conjunto de critérios (que inclui um status Healthy de índice de conteúdo), a cópia do banco de dados no Server3 é preferida, já que seu estado do índice de conteúdo é Healthy.

Exemplo 4: efeito de AutoDatabaseMountDial na seleção de melhor cópia

Neste exemplo, há quatro cópias do banco de dados de caixa de correio DB4. DB4 está ativo atualmente no Server1, que passa por uma falha que faz com que ele seja reinicializado. A tabela a seguir mostra o status atual das cópias do banco de dados de DB4 no Server2, Server3 e Server4. O parâmetro AutoDatabaseMountDial para todos os servidores de Caixa de Correio no DAG é configurado como Sem Perdas (o comprimento da fila de cópia é 0).

Cópia do banco de dados Preferência de ativação Comprimento da fila de cópia Comprimento da fila de repetição Estado do índice de conteúdo Estado do banco de dados Ativação bloqueada

Server2\DB4

2

0

4523

Healthy

Healthy

Não

Server3\DB4

3

100

25

Crawling

Healthy

Não

Server4\DB4

4

6

62

Healthy

Healthy

Não

Como a configuração da discagem automática da montagem do banco de dados está definida como Sem Perdas, o Active Manager usa a Preferência de Ativação em vez do comprimento da fila de cópia como chave de classificação primária. A classificação das cópias disponíveis com base em sua Preferência de Ativação resulta na seguinte lista ordenada:

  • Server2\DB4

  • Server3\DB4

  • Server4\DB4

Nenhum dos bancos de dados atende ao primeiro, segundo ou terceiro conjunto de critérios, mas a cópia do banco de dados no Server3 atende ao quarto conjunto de critérios (ela possui um estado de índice de conteúdo de Crawling e um comprimento da fila de repetição menor que 50). A cópia do banco de dados no Server3 possui um comprimento da fila de cópia 100, mas, como o Server1 ainda não terminou a reinicialização, o processo ACLL não consegue copiar esses arquivos de log ausentes para o Server3. O processo ACLL informa ao PAM que a quantidade de dados ausentes não está dentro do valor configurado para o parâmetro AutoDatabaseMountDial, o que faz com que o PAM selecione a próxima melhor cópia disponível.

No cenário acima, as cópias do banco de dados no Server2 e Server4 correspondem ao sexto conjunto de critérios (elas possuem um banco de dados e um índice de conteúdo íntegros e um comprimento da fila de cópia menor que 10). Como é a mais alta na lista classificada de cópias disponíveis, a cópia do banco de dados no Server2 é testada em seguida. O processo ACLL é executado no Server2, mas Server1 ainda não está se comunicando na rede e o ACLL não consegue copiar nenhum log. Porém, como o comprimento da fila de cópia está dentro do valor configurado para o parâmetro AutoDatabaseMountDial, o ACLL envia uma mensagem de êxito ao PAM e o PAM emite uma solicitação de montagem de banco de dados via RPC.

 © 2010 Microsoft Corporation. Todos os direitos reservados.