Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Во многих статьях указано, что при миграции с Exchange 2003 на более новые версии (Exchange 2007\2010), не поддерживающие link state updates, перед созданием любых дополнительных коннекторов между группами маршрутизации Exchange 2003 и Exchange 2010, помимо коннектора, созданного при первоначальной инсталляции новых версий Exchange в организации, необходимо внести изменение в реестр на всех серверах Exchange 2003. А именно
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\RESvc\Parameters
SuppressStateChanges
Type: DWORD
Value: 1
Данная рекомендация приводит к отключению так называемых "minor link state updates", отсутствие поддержки которых в более новых версиях может привезти к образованию "циклов маршрутизации". Это связано с тем, что в некоторых случах возможно возникновение циклов маршрутизации, например, в случае, если какой-то из коннекторов Exchange 2003 помечен как Down (недоступный) и Exchange 2003 выберет путь не с наименьшей стоимостью. В связи с чем, данная проблема может появиться не сразу, а через некоторое время.
Однако в каком именно случае и почему может возникнуть зацикливание при маршрутизации сообщения? Рассмотрим схему ниже в качестве примера. Предполагается, что коннекторы созданы к bridgehead серверам Exchange 2010 в разных сайтах (т.е. между сайтами есть некий site link cost, но в данном случае это не существенно).
В данной конфигурации можно сказать следующее - если коннекторы BC и CD равнозначны с точки зрения стоимости и адресного пространства, то при отправке из роутинговой группы C может быть использован любой коннектор. Он выбирается произвольно и предпочтений в данном случае нет. В случае недоступности используемого коннектора будет использован второй, однако если первый коннектор станет снова доступен, то переключение обратно произведено не будет.
Т.е. в роунтинговую группу Exchange 2010 трафик может пойти одним из двух путей - CB-BA либо CD-DE, а далее сообщение уже будет доставлено локально в сайте, либо смаршрутизировано в другой сайт HUB серверами.
При этом если на коннекторе DE указано несколько bridgehead серверов Exchange 2010, то bridgehead сервер выбирается произвольно и таким образом достигается балансировка запросов, которые поступают на данный коннектор. При этом, если сообщение уже было смаршрутизировано на какой-то сервер и этот сервер становится недоступен – альтернативный маршрут выбран не будет. Т.е. сообщение будет находиться в очереди до тех пор, пока сервер не станет снова доступным. Link state содержит только информацию о состоянии коннектора, а коннектор всегда считается доступным, если хотя бы один bridgehead сервер доступен. Если же какой-то bridgehead сервер становится недоступным, то маршрутизация производится между оставшимися доступными серверами.
В данной конфигурации сложно представить ситуацию, которая может привести к возникновению циклов в маршрутизации. Например, это может произойти в случае, если оба коннектора BD и BC не доступны (помечены как down). Тогда при отправке сообщений из A в C будет выбран путь AB-BC как с наименьшей стоимостью и локальный для сайта. У B же единственный маршрут – обратно в A. В случае недоступности одного коннектора может получиться неоптимальный путь для прохождения почтового трафика.
Но в случае, если бы стоимость коннектора BD была, к примеру, 20, то для возникновения аналогичной ситуации было бы достаточно только недоступности коннектора BC.
Поскольку в реальной жизни схема маршрутизации намного сложнее, анализ ее на предмет возникновения циклов маршрутизации является более затруднительным. Поэтому стоит последовать рекомендации, и все же отключить "minor link state updates", даже с учетом того, что ремаршрутизация сообщений больше не будет производиться серверами Exchange 2003.
Дополнительная информация по данному вопросу тут: