Всё о о Microsoft Exchange Server и электронной почте.

Высокая доступность транспорта в Exchange 2007

Transport Компания Microsoft сделала новый шаг по повышению доступности почтовой системы в Exchange 2007. Высокая доступность (HA — High Availiability) делится на доступность почтовых ящиков, серверов клиентского доступа и доступность транспорта.

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

Так за счет чего собственно обеспечивается доступность транспорта (SMTP) и какие возможны сценарии?

1. Отправка почты получателю в том же сайте. В Exchange 2003 сообщение обрабатывалось внутри сервера. В Exchange 2007 даже если почта отправляется получателю, чей ящик находится на том же сервере и даже в той же базе почтовых ящиков, почта все равно пройдет через транспортный сервер (Hub Transport). Для чего это нужно?. Во первых это позволяет единообразно применять политики ко всем сообщениям в организации. Во вторых, это снижает нагрузку на сервер почтовых ящиков (Mailbox).

В этом сценарии будет использован любой доступный транcпортный сервер сайта (однако если роли HUB и Mailbox расположены на одном сервере, будет выбран именно он)

2. Отправка почты получателю в другом сайте. Здесь также транспортный сервер сайта отправителя будет использовать любой доступный транспортный сервер сайта получателя

Более того, в сценариях 1 и 2 обеспечивается не только отказоустойчивость, но и балансировка нагрузки, так как по умолчанию сервера Exchange распределяют нагрузку на транспортные сервера, расположенные в одном сайте. Сервер транспорта выбирается по принципу Round Robin. Если он недоступен, соединение устанавливается со следующим сервером и так далее.

3. Отправка почты в интернет. Здесь все зависит от настройки соединителей отправки (Send Connectors). При корректной настройке каждый транспортный сервер сможет отправлять почту в интернет через любой сервер Edge или напрямую в интернет. Здесь балансировка и отказоустойчивость достигается за счет указания более чем одного транспортного сервера в качестве источника в соединителе отправки. При планировании следует помнить, что сервер Edge можно подписать только на один сайт Active Directory. Однако возможно использование серверов Edge и без подписки. Здесь написано как настроить коннекторы, если не используется EdgeSync

4. Получение почты из интернет. MX можно использовать по-разному

  • Использовать mx записи с разным весом. В этом случае обеспечивается необходимая отказоустойчивость, так как при выходе из строя одного сервера Edge, почта будет приниматься другим. Однако о распределении нагрузки в этом случае говорить не приходится
  • Использовать MX записи с одинаковым весом и Round Robin. В этом случае мы получаем распределение нагрузки. А как быть в случае, если один из серверов выйдет из строя? Ничего страшного, в отличие от https клиентов, smtp сессии очень короткие. Кроме того (ведь мы говорим о других серверах, а не о pop3/imap клиентах) smtp сервер будет пытаться доставить почту, используя все mx записи в соотвествии с их приоритетом. Это решение является так называемым best practice, и более того, Microsoft у себя использует именно такую схему.

Есть некоторые аспекты, которые не охвачены этой схемой

1. POP3/IMAP клиенты. Как быть с ними? Ведь для отправки в явном виде должен быть указан транспортный сервер, и ни о каких mx записях речь идти не может.

2. Слишком много серверов. HA — это всегда удорожание системы. Вы не забыли, что нам нужно обеспечить доступность и других компонентов системы — клиентский доступ, сервера почтовых ящиков?

Отличные новости — с выходом SP1 для Exchange 2007 поддерживается NLB для транспортных серверов Exchange. Это позволяет разместить транспорт и клиентский доступ на одном NLB кластере, сэкономив при этом на аппаратном обеспечении. Кроме того, решается проблема с pop3/imap клиентами. На форумах технет частенько возникали вопросы по этому поводу. Теперь это не только возможно, но и поддерживается

Что насчет NLB для серверов Edge? Поддерживается ли для них NLB? Я не нашел никакого официального подтверждения или опровержения. Но вот что мне ответил на это Scott Landry

NLB in general is supported, although may need to work with the vendor on any issues that reproduce only when the load balancer is present.  If you choose Windows Load Balancing, be aware that as with anything, there are challenges associated with it, and it is critical to understand all layers before deploying.  Like any networking technology, WLBS is not simply a checkbox that you check to enable.

My personal opinion is that NLB for SMTP only makes sense in a few corner cases (usually a large scale POP/IMAP hosting environment like that of a national ISP or something – and even then, I’d say port 587, not port 25; this is only because I’m not confident every desktop client would handle it gracefully).  This does not mean that you can’t use NLB, it simply means that there is little or no return and only risk and complexity.  I have personally worked 4 issues with NLB and Exchange 2007 that were all caused by NLB, not by Exchange.  In every case, if they had used our recommendation, they would have met their requirements but possibly had fewer issues.

The only NLB configurations I would not personally support are:

· NLB of Hub port 25 or Edge internal receive connector

· Any performance issues related to WLBS configured without dedicated NICs

Думаю переводить не следует, все и так понятно. Использовать NLB или нет — решать вам. Если кто то уже использует NLB для smtp — напишите пожалуйста ваши комментарии. Были ли у вас проблемы связанные с использованием этой технологии для балансировки SMTP ?

Полезные ссылки

Deployment Options for Hub Transport Servers

Load Balancing and Fault Tolerance for Transport Servers

Deployment Options for Edge Transport Servers

Network Load Balancing Technical Reference

Похожие посты:

  • Дмитрий

    А вот интересно, какова ситуация с использованием внешних storage в Exchange 2007?

  • Pavel Dugaev

    С этим все в порядке. Единственное что не подддерживается — это NAS. iSCSI, FibreChannel -пожалуйста. Например на проекте, в котором я сейчас участвую, используются следующие устройства хранения
     http://h18006.www1.hp.com/products/storageworks/eva/index.html
    и
    http://h50043.www5.hp.com/enterprise/msa/hk/en/products/msa1000.asp
    Не сочтите за рекламу вендора 🙂

  • http://www.exchangerus.ru Pavel Nagaev

    MSA 1000 у нас тоже крутится пару лет под 2003. Никаких проблем не было вообще после настройки.  Eva — вообще жесть 🙂 Глазами видел только на картинках, руками не трогал.  Ее без суппорта не продают и монтирует только инженер из НР. Так?

    Паша, с почином тебя.

  • D.Ilyin

    симпотичные девайсы :)…
    жаль не пообщаться с такими поближе :(.
    Павел спасибо за некоторые разъяснения. В ближайщий месяц как раз собирались делать кластеризацию танспортной и CA ролей.
    По возможности, опишу потом практическую сторону вопроса на конкретном примере, если конечн кому то будет интересно.

  • http://www.exchangerus.ru Pavel Nagaev

    Пишите, пишите. Чужой опыт — всегда интересно.

  • Maxim Zinchenko MVP:Exchange

    К четырем указанным функциям HT — не забывайте также, что он проводит MIME<->RTF content conversion по необходимости, для Mailbox server role, поскольку последний, в отличии от Exchange Server 2003, теперь не содержит двух частей баз ".edb" и ".stm", а только ".EDB" исключительно для данных в формате RTF. Раньше Exch2003 back-end сам занимался этой задачей, с помощью механизма Imail, теперь — это задача Hub Transport, и Client Access server role кстати также, когда сообщения принимаются от не MAPI-клиентов.
    Вообще с таким разделением ролей — все функции стали распределены намного четче, что повышает общую производительность.

  • Kladov

    Я сейчас настраиваю CA и HT в NLB
    установил SP1 , это значит что я могу в правилах указать распределение на все порты?
    т.к. до выхода SP1 в рекомендациях говорилось не успользовать балансировку на порты 25 и 465.

    Проясните ситуацию
    Спасибо

  • http://www.exchangerus.ru/ Pavel Dugaev

    NLB в Exchange 2007 sp1 полностью поддерживается для клиентского доступа и доступа приложений (системы оповещений и т.д.). По умолчанию это client connector и порт 587. Но nlb (несмотря на то что впринципе работает) не имеет смысла и не поддерживается для маршрутизации почты внутри организации. Здесь, как я уже писал, балансировка обеспечивается по принципу round robin.

  • Kladov

    Тогда просвятите меня, какие правила самые оптимальнче для NLB, если на нем поднят CA и HT планируется использовать POP3 IMAP MAPI OWA Спасибо

  • Pavel Dugaev

    Ну положим MAPI в чистом виде — это прерогатива Mailbox Server. А MAPI поверх https для nlb тоже самое что OWA
    Прочитайте вот этот пост, там дано детальное описание настроек NLB для вашего случая
    https://msmvps.com/blogs/clusterhelp/archive/2007/10/05/exchange-server-2007-hub-transport-and-client-access-service-on-the-same-nlb-cluster.aspx

  • kkv

    Добрый день.
    в статье http://www.msexchange.org/articles_tutorials/exchange-server-2007/planning-architecture/load-balancing-exchange-2007-sp1-hub-transport-servers-windows-network-load-balancing-technology-part1.html
    описывается именно e2k7 sp1, в вашей же ссылке как понял оно не так?

  • Pavel Dugaev

    Данная конфигурация поддерживается только в Exchange 2007 sp1, совершенно правильно. Про какую именно ссылку вы говорите и где там указание на поддержку nlb на хабах для RTM версии?

  • kkv

    ту которую вы превели выше.. говорилось как раз, что нельзя балансировать 25 порт… Нов SP1 это поправили.. я это и хотел узнать,
    Сейчас я знаю что нада и как 🙂

  • Anton

    Добрый день коллеги! В моей конфигурации используется 2007 со всем ролями, разнесенный по своим серверам. (Blade C System) В качестве системы хранения EVA4000.
    В паре с 2007 трудиться 2003, идет процесс миграции. Оба сервера работают в одной почтовой организации.
    В недавнее время возникла ошибка в маршрутизации почты между 2003 и 2007. Буду благодарен за поомщь в решении проблеммы. gaoo90@mail.ru  Антон.

  • SilverCat

    Добрый день.
    Устроил себе тестовую лабораторию для миграции с Exchange 2003 на 2007. Для повышения отказоустойчивости соединил 2 сервера в кластер с единым storage (FiberOptic) и установил роль MailBox на них. Позже выяснилось, что никакой иной роли на кластер не установить. Отсюда вопрос: возможно ли установить все остальные роли на 2 дополнительных серверах, в связке NLB?

  • http://www.exchangerus.ru Pavel Nagaev

    Антон, чтобы ответить на ваш вопрос нужно знать больше информации об ошибке. В логах что и как она проявляется.
    На mailbox сервер в кластере больше роли устанавливать нельзя. Про NLB и HUB написано в этой статье,  про клиенские http://www.msexchange.org/articles_tutorials/exchange-server-2007/high-availability-recovery/load-balancing-exchange-2007-client-access-servers-windows-network-technology-part1.html

  • Exchange IT now » Высокая доступность транспорта – неожиданное продолжение

    […] года назад я написал статью про высокую доступность транспорта в Exchange 2007. Как […]