Artigo original publicado na quinta-feira, 28 de junho de 2012

Atualização 03/07/2012: Seção solução alternativa expandida para incluir mais detalhes.

Desejamos chamar a atenção para um problema que temos visto recentemente no CSS, onde várias caixas de correio no mesmo banco de dados de caixa de correio ficam em quarentena por nenhuma razão. Após a inspeção do log de aplicativos, você verá vários eventos 10018 com o texto contendo a seguinte informação.

Nome do Log: Aplicativo
Origem: MSExchangeIS
ID de evento: 10018
Categoria de tarefa: Geral
Nível: Erro
Descrição:
A caixa de correio para o usuário <guid>: /o=Contoso /ou=Grupo Administrativo do Exchange (FYDIBOHF23SPDLT)/cn=Destinatários/cn=UserMailbox foi colocada em quarentena. O acesso a esta caixa de correio será restrita para os logins administrativos nas próximas 6 horas.

Além disso, a seguinte ID de evento 5410 aparecerá no log de eventos Microsoft-Exchange-Troubleshooters/Operational para cada caixa de correio em quarentena pela resolução de problemas de espaço do banco de dados:

Nome do Log: Microsoft-Exchange-Troubleshooters/Operational
Origem: Espaço do banco de dados
ID de evento: 5410
Nível: Aviso
Palavra-chave: Clássico
Descrição:
A resolução de problemas do espaço do banco de dados colocou a caixa de correio em quarentena <guid> no banco de dados <DBName>.

A chave aqui é a última frase. “A resolução de problema de espaço do banco de dados”. Em ambientes onde o System Center Operations Manager foi implantado, um Monitor está no local por padrão para verificar o espaço livre em disco para o banco de dados e volumes de log. Este monitor usa o script do PowerShell Troubleshoot-DatabaseSpace.ps1, que é enviado com o Exchange 2010 por padrão. Para ler mais sobre o script Troubleshoot-DatabaseSpace.ps1, consulte o seguinte artigo TechNet:

Gerenciar o crescimento do log de banco de dados usando o script Troubleshoot-DatabaseSpace.ps1 no shell
http://technet.microsoft.com/en-us/library/ff477617.aspx

A equipe do System Center lançou recentemente o Service Pack 2 para o Pacote de Gerenciamento do Exchange. Entre outras coisas, isto ajustou um valor de tempo de inatividade para executar o script. Antes do Pacote de Serviço, o valor de tempo limite era de 300 segundos e o monitor foi definido para disparar a cada 5 minutos. Isto significa que em várias organizações grandes, o script foi garantido virtualmente para tempo limite, casando a não conclusão. Após instalar a atualização, o novo valor de tempo limite é de 1.200 segundos. Além disso, o monitor executa uma vez por hora ao invés de a cada 5 minutos. Os efeitos desta alteração são que a solução de problemas é agora confiável executando o código que anteriormente não executou antes da atualização SP2. Isto fez com que a solução de problemas encontre um bug no contador perfmon de Repositório de Informações usado pela solução de problemas determinar a taxa de geração de byte de log para o banco de dados ou volume de log (a taxa de realização pode exceder 1.0E+19 Bytes/Hr). Quando a taxa por hora estimada da geração de log excede a capacidade do espaço livre em disco restante no banco de dados ou volume de log, a solução de problemas começa a colocar as caixas de correio em quarentena para parar a geração de log consumindo todo o espaço livre e fazendo com que o banco de dados seja desmontado. A solução de problemas parece tocar esta condição quando o contador perfmon possui um valor bogus (o contador perfmon é atualizado uma vez por minuto e não deve ter um valor bogus por mias de 1 min)… Portanto, não ocorre frequentemente, mas ocorre com probabilidade moderada.

O que isto significa para você?

Bem, conforme documentado no artigo TechNet, a função principal do script é manter um registro da taxa de geração de log e verificar o espaço livre em disco para o banco de dados e volumes de log. Quando o script é executado, usa um contador perfmon do repositório para determinar a taxa de geração de log e calcula se a taxa atual fará com que o disco fique sem espaço dentro do limite de horas (o padrão é 12 horas), e, caso sim, iniciará opcionalmente as caixas de correio em quarentena (até 150 por vez). O script irá também opcionalmente colocar caixas de correio em quarentena quando a porcentagem de espaço livre em disco vai abaixo de um valor especificado. O valor de porcentagem de espaço livre em disco padrão usado é 25%. Para poder colocar caixas de correio em quarentena quando estas condições são cumpridas, o parâmetro –Quarantine deve ser passado para o script.

O monitor utilizado pelo SCOM 2007 e superior usa o parâmetro Quarantine por padrão e não há opção suportada para alterar isto porque o Pacote de Gerenciamento é vedado. Isto significa que se o espaço livre de disco para o banco de dados ou volume de log para um banco de dados vai abaixo dos 25%, E se a taxa de geração de log é calculada para consumir o espaço restante em disco dentro das próximas 12 horas, os usuários mais pesados serão colocados em quarentena. Quando há várias caixas de correio em um banco de dados, isto significa que várias caixas de correio podem ser colocadas em quarentena em um curto período de tempo.

O que posso fazer?

Obviamente, ter várias caixas de correio colocadas em quarentena não é um comportamento desejado, pois causa interrupções para estes usuários, embora ainda é melhor do que a alternativa de desmontar todo o banco de dados devido a falta de espaço em disco, que causará uma interrupção para todos os usuários neste banco de dados. Embora as caixas de correio em quarentena possam ser liberadas manualmente removendo o GUID da caixa de correio do Registro, esta não é a melhor solução, pois a próxima vez que o monitor for executado, as mesmas caixas de correio podem acabar sendo colocadas em quarentena novamente.

As caixas de correio em quarentena são identificadas no seguinte local:

Hkey_Local_Machine\SYSTEM\CurrentControlSet\Services\MSexchangeIS\Servername\Private-<D Bguid>\Quarantined Mailboxes\ {Mailbox GUID}

Queremos que saiba que estamos cientes desta situação e estamos trabalhando para implementar uma correção. Enquanto trabalhamos para identificar a melhor forma de resolver isso avançando, desejamos deixar você saber uma solução alternativa que pode ser implementada para evitar que as caixas de correio sejam colocadas em quarentena. Enquanto isso, para ajudar prevenir mais clientes de executar neste problema, removemos temporariamente o Pacote de Gerenciamento do Exchange 2010 SP2 do Centro de Download.

Solução alternativa

Criar uma substituição para desabilitar os monitores que verificam o espaço livre em disco. Isto evitará que o arquivo Troubleshoot-DatabaseSpace.ps1 seja executado.

Ao criar substituições, é recomendado colocá-las em um novo pacote de gerenciamento especificamente para personalizações dentro do System Center Operations Manager. Isto permite gerenciar de forma rápida e fácil suas substituições ou outras configurações personalizadas. Se você ainda não tiver um pacote de gerenciamento para isso, é possível criar um seguindo as etapas abaixo:

  1. No Console de Operações, clique no botão Administração. No painel Administração, clique com o botão direito em Pacotes de Gerenciamento e clique em Criar o Pacote de Gerenciamento. O assistente Criar um Pacote de Gerenciamentoé exibido.
  2. Na página Propriedades gerais, digite um nome para o pacote de gerenciamento no Nome, o número de versão correta na Versão e uma descrição curta em Descrição. Clique em Avançar e em Criar.

image

Ao designar um pacote de gerenciamento para substituição, você desejará criar para os 4 monitores listados aqui:

image

No System Center Operations Manager, vá para o módulo Autoria e em Monitores em Objetos do Pacote de Gerenciamento. Os monitores podem ser desabilitados configurando uma Substituição e escolhendo desabilitar o Monitor para todos os objetos da classe Copiar espaço de disco lógico do banco de dados DB (como mostrado abaixo):

image

Marque a caixa próximo a Habilitado e modifique o valor de substituição selecionando Falso:

image

Na caixa de diálogo Propriedades de substituição, certifique-se de selecionar o pacote de gerenciamento designado para personalizações.

image

Neste momento, sentimos que você está sendo impactado pelas caixas de correio em quarentena, a opção para desabilitar os Monitores está apenas disponível como solução alternativa. Reconhecemos que isto potencialmente evitará que os administradores recebam alertas quando o espaço de disco estiver baixo, mas sentimos que é a melhor opção para evitar que as caixas de correio sejam colocadas em quarentena até que uma correção seja lançada.

Observe que quando o espaço de disco do Banco de dados está baixo, um alerta ainda será recebido quando a unidade do log de transação coexiste com o banco de dados, pois é gerado por uma regra diferente do que apenas baseada em perfmon.

Ben Winzenz, Kevin Carker

Esta é uma publicação localizada. Encontre o artigo original em Mailboxes on a database are Quarantined in an environment with System Center Operations Manager