Перемещение почтовых ящиков Exchange 2010 и их отказоустойчивостьИсточник: technet Ivan Makarov
Одна из целей отказоустойчивости почтовых ящиков Exchange 2010 заключается в том, чтобы минимизировать потерю информации. В Exchange 2010 SP1 мы добавили непрерывную репликацию - блочный режим (continuous replication - block mode) для дальнейшего уменьшения потери информации во время сбоев. Однако на высоконагруженных почтовых базах с очень высокой скоростью генерации журналов существует большая вероятность потери информации, если репликация на пассивные копии почтовых баз не может справиться с генерацией журналов. Один из сценариев, который может вызвать высокую скорость генерации журналов - это перемещение почтовых ящиков. Рассмотрим следующие два примера: • Пример 1: Вы -администратор, и решили переместить почтовый ящик из DatabaseA в DatabaseB. Перемещение завершается успешно. Однако сразу после завершения операции перемещения сервер с активной копией базы DatabaseB выходит из строя. Другая копия DatabaseB активируется с потерей информации, т.к. AttemptCopyLastLogs не может завершиться успешно. В результате порция информации почтового ящика будет потеряна. Как вы понимаете, это серьезные проблемы потери информации. К счастью мы подумали о них во время разработки Exchange 2010. Data Guarantee API & the Mailbox Replication ServiceExchange 2010 включает Data Guarantee API, который используется службой репликации почтовых ящиков (Mailbox Replication Service, MRS) для того, чтобы проверять "здоровье" системы копирования почтовых баз на основе определенных настроек почтовой базы, которые задаются системой или администратором. В частности, Data Guarantee API может использоваться для: 1. Проверки Replication Health - подтверждение того, что доступно заданное число копий почтовой базы. После выполнения API возвращает следующую информацию вызывающему приложению: 1. Статус возвращает одно из следующих значений: o Retry: возвращается как результат промежуточных ошибок, которые делают невозможным проверку состояния почтовой базы. 2. Как долго вызывающему приложению следует ждать перед повторной проверкой. a. Если информация о копировании не получена, то время ожидания по умолчанию составляет 10 секунд. Максимально возможное время ожидания 10 минут. DataMoveReplicationConstraintЗначение свойства DataMoveReplicationConstraint почтовой базы определяет, сколько копий почтовой базы должно быть возвращено в запросе. Свойство DataMoveReplicationConstraint имеет следующие варианты значений: • None: Это значение по умолчанию, когда создается почтовая база. Когда значение равно None, условия в data guarantee API игнорируются. Это значение должно использоваться только для почтовых баз, которые не реплицируются. Check Replication HealthКогда Data Guarantee API определяет "здоровье" инфраструктуры копий почтовых баз, вычисляются следующие параметры: 1. Если DataMoveReplicationConstraint имеет значение SecondCopy, то для данной реплицируемой почтовой базы как минимум одна пассивная копия почтовой базы должна: a. быть "здоровой"; 2. Если DataMoveReplicationConstraint имеет значение SecondDatacenter, то для данной почтовой базы как минимум одна копия пассивной почтовой базы в другом сайте Active Directory должна: a. быть "здоровой"; 3. Если DataMoveReplicationConstraint имеет значение AllDatacenters, то для данной почтовой базы активная копия должна быть смонтирована, а пассивная копия в каждом сайте AD должна: a. быть "здоровой"; 4. Если DataMoveReplicationConstraint имеет значение AllCopies, то для данной почтовой базы активная копия должна быть смонтирована, а все пассивные копии почтовой базы должны: 1. быть "здоровыми"; Check Replication FlushData Guarantee API в 2010 SP1 может также использоваться для проверки того, что заданное число копий почтовой базы применяет требуемые транзакционные журналы. Это проверяется сравнением временной метки последнего примененного журнала с временной меткой подтверждения от вызывающего сервиса (в большинстве случаев это временная метка последнего файла журнала, который содержит требуемую информацию) плюс 5 секунд (это связано с отклонениями системного времени). Если метка времени применения больше, чем время подтверждения, то DataMoveReplicationConstraint удовлетворяется. Если метка времени применения не больше, чем время подтверждения, то DataMoveReplicationConstraint не удовлетворяется. Mailbox Replication ServiceMRS вызывает Data Guarantee API несколько раз за время выполнения запроса на перемещение. Как описано в документации в статье Общие сведения о запросах на перемещение, перемещение почтовых ящиков выполняется в следующем порядке: 1. Запрос на перемещение обновляет Active Directory и помещает сообщение в системный почтовый ящик, расположенный в почтовой базе целевого сайта Active Directory. Затем MRS запрашивает Data Guarantee API, чтобы определить здоровье целевой инфраструктуры копий почтовых баз. Пока возвращаемый статус равен Satisfied, выполнение запроса на перемещение будет продолжаться. Если во время шагов с 1 по 4 Data Guarantee API вернет NotSatisfied или Retry, MRS поместит запрос на перемещение в очередь и будет повторять запрос каждые 30 секунд. MRS помещает запрос на перемещение в очередь не более чем на 15 минут, после чего аварийного его завершает. Если в пределах этих 15 минут возвращается ответ Satisifed, MRS будет автоматически возобновлять запрос на перемещение. Во время шага 6 MRS будет ждать максимум 30 минут, пока Data Guarantee API не вернет Satisfied (повторяя запрос каждые 10 секунд). Если Satisfied не получен, то MRS будет аварийно завершать перемещение почтового ящика. Когда запрос на перемещение завершается аварийно, он не будет возобновляться сервисом MRS автоматически. До выполнения Resume-MoveRequest администратору следует выполнить Get-MoveRequestStatistics для того, чтобы определить причину аварийного завершения перемещения. После этого администратор может выполнить Resume-MoveRequest. Отметим, что если почтовый ящик и персональный архив перемещаются одновременно, то для успешного завершения операции необходимо, чтобы было успешно выполнено перемещение каждого их них. Определение подходящего для вашей среды DataMoveReplicationConstraintВы должны правильно настроить DataMoveReplicationConstraint на каждой почтовой базе в соответствии со следующими правилами:
ЗаключениеЧтобы минимизировать потерю информации в результате перемещения почтовых ящиков в высокодоступной среде Exchange 2010, установите правильное значение DataMoveReplicationConstraint на каждой почтовой базе. |