Почтовые ящики в базе данных помещаются на карантин в среде с System Center Operations Manager

Дата публикации исходной статьи: четверг, 28 июня 2012 г.

Обновление от 3 июля 2012 г. : в раздел "Решение" добавлены дополнительные сведения.

Мы хотим обратить ваше внимание на проблему, с которой мы столкнулись недавно в CSS. Она заключается в том, что без видимой причины большое число почтовых ящиков из одной базы данных помещается на карантин. При просмотре журнала приложений обнаруживается много событий 10018 со следующим сообщением.

Имя журнала: приложение
Источник: MSExchangeIS
Код события: 10018
Категория задачи: общая
Уровень: ошибка
Описание:
Почтовый ящик пользователя <guid>: /o=Contoso /ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=UserMailbox помещен в карантин. Доступ к этому почтовому ящику будет ограничен административными входами на следующие 6 часов.

Кроме того, для каждого почтового ящика, помещенного на карантин средством устранения неполадок с пространством баз данных, в журнале событий Microsoft-Exchange-Troubleshooters/Operational будет отображаться следующее событие с кодом 5410.

Имя журнала: Microsoft-Exchange-Troubleshooters/Operational
Источник: пространство базы данных
Код события: 5410
Уровень: предупреждение
Ключевые слова: классическое
Описание:
Почтовый ящик <guid> в базе данных <имя_БД> отправлен на карантин средством устранения неполадок с пространством баз данных.

Ключевой здесь является последняя фраза: "...средством устранения неполадок с пространством баз данных". В средах, в которых развернут диспетчер System Center Operations Manager, по умолчанию реализован монитор для проверки свободного дискового пространства для баз данных и журналов. Он использует скрипт PowerShell Troubleshoot-DatabaseSpace.ps1, который поставляется с Exchange 2010. Дополнительные сведения о скрипте Troubleshoot-DatabaseSpace.ps1 можно найти в следующей статье TechNet:

Управление ростом журнала базы данных с помощью сценария Troubleshoot-DatabaseSpace.ps1 в консоли
https://technet.microsoft.com/en-us/library/ff477617.aspx

Рабочая группа System Center недавно выпустила пакет обновления 2 (SP2) для пакета управления Exchange. Помимо прочего, он изменяет время ожидания при выполнении скриптов. До выхода пакета обновления это время составляло 300 секунд, а монитор запускался каждые 5 минут. Поэтому во многих крупных организациях время ожидания для скрипта практически гарантированно истекало до того, как он завершал выполнение. После установки обновления время ожидания меняется на 1200 секунд, а монитор запускается не каждые пять минут, а один раз в час. Результат — средство устранения неполадок теперь практически всегда выполняет код, который ранее оно не успевало выполнить. Однако теперь средство также обнаруживает и ошибку в счетчике системного монитора "Банк данных", который оно использует для определения скорости создания журналов для базы данных (скорость может превышать 1,0E+19 байт в час). Если расчетная скорость создания журналов превышает оставшийся объем дискового пространства на томе с базой данных или журналами, средство устранения неполадок начинает помещать почтовые ящики на карантин, чтобы предотвратить переполнение тома и отключение базы данных. По-видимому, такая ситуация возникает в том случае, если счетчик системного монитора имеет ложное значение (счетчик обновляется каждую минуту, поэтому ложное значение не должно существовать более 1 минуты). Происходит это нечасто, но вероятность имеется.

Что это означает для вас

Как описано в статье TechNet, основной функцией скрипта является отслеживание скорости создания журнала, а также проверка свободного пространства в томах базы данных и журналов на достаточность. Когда скрипт запускается, он использует счетчик системного монитора, отвечающий за операции хранения, для определения скорости создания журнала и рассчитывает, произойдет ли при текущей скорости переполнение диска в течение заданного периода (по умолчанию 12 часов). Если да, он может начать помещать почтовые ящики на карантин (до 150 ящиков одновременно). Скрипт также может помещать ящики на карантин, если процент свободного места на диске опускается ниже заданного значения. По умолчанию оно равно 25 %. Чтобы почтовые ящики помещались на карантин при выполнении одного из этих условий, скрипту необходимо передать параметр –Quarantine.

Для монитора, используемого в SCOM 2007 или более поздних версиях, параметр Quarantine задан по умолчанию, и отменить его нельзя, поскольку пакет управления запечатан. Это означает, что если процент свободного места на томе с базой данных или журналом опустится ниже 25 % и если при текущей скорости создания журнала оставшееся место на диске будет заполнено в течение следующих 12 часов, наиболее часто используемые почтовые ящики будут помещаться на карантин. Если в базе данных много почтовых ящиков, это может привести к тому, что в течение непродолжительного времени на карантин будет помещено большое их число.

Что можно сделать

Очевидно, что помещать на карантин большое число почтовых ящиков нежелательно, поскольку это приведет к их временной недоступности для пользователей. Однако это все же лучше, чем другая альтернатива — отключение всей базы данных вследствие нехватки дискового пространства, которое сделает ее недоступной для всех пользователей. Хотя почтовые ящики и можно вручную снять с карантина путем удаления их идентификаторов GUID из реестра, это решение не оптимальное, поскольку при следующем выполнении монитора эти же ящики могут снова оказаться в карантине.

Помещенные на карантин почтовые ящики можно найти в следующем разделе реестра:

Hkey_Local_Machine\SYSTEM\CurrentControlSet\Services\MSexchangeIS\Servername\Private-<guid_БД>\Quarantined Mailboxes\{GUID почтового ящика}

Мы хотим сообщить вам, что нам известна эта проблема и мы работаем над ее решением. Пока мы ищем наилучший способ ее устранения, можно воспользоваться обходным решением, чтобы предотвратить помещение почтовых ящиков на карантин. Чтобы с этой проблемой не столкнулись и другие клиенты, мы также временно удалили пакет обновления 2 (SP2) для пакета управления Exchange из Центра загрузки.

Решение

Создайте переопределение, чтобы отключить мониторы, наблюдающие за объемом свободного дискового пространства. В результате файл Troubleshoot-DatabaseSpace.ps1 перестанет запускаться.

При создании переопределений мы советуем помещать их в новый пакет управления, предназначенный специально для собственных настроек в System Center Operations Manager. Это позволит вам легко управлять переопределениями и другими настраиваемыми параметрами. Если у вас еще нет такого пакета управления, его можно создать:

  1. В консоли управления нажмите кнопку Администрирование . В области "Администрирование" щелкните правой кнопкой мыши узел Пакеты управления и выберите команду Создать пакет управления . Откроется мастер создания пакета управления .
  2. На странице Общие свойства в поле Имя введите имя пакета управления, в поле Версия — правильный номер версии, а в поле Описание — краткое описание. Последовательно нажмите кнопки Далее и Создать .

изображение

Назначив пакет управления для переопределений, создайте их для следующих четырех мониторов.

изображение

В System Center Operations Manager перейдите в модуль Создание и настройка и затем в разделе Объекты пакетов управления выберите Мониторы . Чтобы отключить мониторы, задайте переопределение и отключите монитор для всех объектов класса Database Copy DB Logical Disk Space (Место на логическом диске с копией базы данных), как показано ниже.

изображение

Установите флажок Включен и затем измените значение переопределения, выбрав False.

изображение

В этом же диалоговом окне ("Свойства переопределения") выберите пакет управления, предназначенный для настроек.

изображение

Если помещение почтовых ящиков на карантин причиняет вам неудобство, отключение мониторов на данный момент является единственно возможным решением. Мы понимаем, что это может помешать администраторам получать предупреждения о нехватке места на диске, но до выпуска исправления это, на наш взгляд, лучший вариант.

Обратите внимание, что если журнал транзакций находится на одном диске с базой данных, при уменьшении объема свободного пространства на этом диске предупреждение будет выводиться, поскольку оно создается другим правилом, основанным только на системном мониторе.

Бен Винзенз (Ben Winzenz) и Кевин Каркер (Kevin Carker)

Это локализованная публикация в блоге. Оригинал — Mailboxes on a database are Quarantined in an environment with System Center Operations Manager.