Почему именно сейчас?

На сегодня известно, что следующая версия Microsoft Exchange Server 2007, ранее известная под названием Exchange 12, будет совместима только с 64-разрядными системами AMD и Intel (версия для Intel Itanium выпускаться не будет). Решение компании Microsoft основано на уверенности, что в недалеком будущем 64-разрядные аппаратные средства станут нормой у потребителей. Кроме того, с переводом Exchange на 64-разрядную платформу устраняется ряд технических затруднений. Приведет ли это решение к замедлению темпов развертывания Exchange 2007 на предприятиях или сделает следующую версию Exchange еще более привлекательной для потребителей?

Проблема Microsoft

В течение последнего десятилетия изменилось множество параметров, определяющих потенциальную производительность сервера обработки сообщений, такого как Exchange. Увеличился размер сообщений. Выросла емкость почтовых ящиков. Постоянно остается актуальной тема консолидации. Пользователи обращаются к электронной почте чаще и с разнообразных устройств: PDA, Research In Motion (RIM) BlackBerry, смартфонов. Компания Microsoft уже объявила, что Exchange 2007 станет первой подлинно 64-разрядной версией Exchange. Проблема заключалась в том, чтобы решить, следует ли по-прежнему выпускать 32-разрядную версию Exchange наряду с 64-разрядной.

Можно возразить, что сохранение 32-разрядной версии позволит потребителям перейти к Exchange 2007 на существующих аппаратных средствах. Почему бы не сделать Exchange 2007 последней версией, совместимой с 32-разрядными аппаратными средствами, и таким образом подготовить сообщество пользователей к необходимым аппаратным переменам в следующей версии?

Во-первых, следующая версия может появиться не ранее 2010 года, а многие серверы, выпущенные в конце 2005 года, уже готовы для выполнения 64-разрядных программ. Ко времени выпуска Exchange 2007 (скорее всего, в начале 2007 г.), найти 32-разрядные серверы будет нелегко. Во-вторых, при сохранении двух вариантов исходного текста возрастают затраты Microsoft на разработку, тестирование, отладку, формирование и поддержку Exchange. С технической точки зрения сохранение 32-разрядной версии помешает компании решать проблемы, препятствующие масштабированию Exchange Information Store, в частности проблему фрагментации виртуальной памяти, которая ограничивает переходы состояний кластеров в Exchange Server 2003 и Exchange 2000 Server, а также число баз данных, размещаемых на одном сервере Exchange. Среди других недостатков 32-разрядного продукта — проблемы режима ядра. Память, необходимая для делегирования прав доступа к календарям и почтовым ящикам, или число клиентских соединений при обращениях пользователей к Exchange через разнообразные устройства, еще более увеличивает общую нагрузку на сервер. Например, считается, что сервер обеспечивает 2000 соединений с почтовыми ящиками одновременно, но если учесть все другие соединения, устанавливаемые устройствами и программами с Exchange, то действительная нагрузка возрастает на 20-30%. Это увеличение не способствует росту производительности, особенно на серверах, где время отклика близко к предельно приемлемому. Во врезках «I/O, I/O» и «Решения на базе Store» приведены и другие примеры 32-разрядных и 64-разрядных решений.

Программы поиска вирусов, необходимые для серверов Exchange, также используют память режима ядра, что ограничивает ее объем, доступный для других процессов. Еще одна сложность связана с истощением ресурсов ядра в случае, если в общедоступной папке на сервере размещено более 10 тыс. почтовых ящиков.

Первой реакцией администратора на решение ориентировать Exchange 2007 только на 64-разрядные платформы может быть возмущение. Но если принять во внимание все обстоятельства, данное решение выглядит логичным. Не исключено, что оно будет даже встречено с одобрением, если в конце цикла проектирования Exchange 2007 компания Microsoft предложит качественный продукт.

Что ожидает потребителя

Независимо от того, насколько удачным будет исключительно 64-разрядный продукт, главный вопрос для потребителя - как повлияет это решение на развертывание Exchange на конкретном предприятии. Отвечая на этот вопрос, необходимо учитывать несколько факторов.

Первый из них - аппаратные средства. В настоящее время приобретение 32-разрядных систем вряд ли оправданно, если только предприятие не планирует заменить их в течение двух лет. Если предполагается развернуть Exchange 2007 в течение следующих трех или четырех лет, то лучше покупать перспективные системы Intel или AMD, пригодные для работы 64-разрядных Windows и Exchange. Но даже с такими системами вряд ли удастся перейти с Windows Server 2003 и Exchange 2003 непосредственно на 64-разрядные Windows и Exchange 2007 из-за сложности модернизации. Я полагаю, что потребителю придется развернуть новые, 64-разрядные серверы Windows и Exchange, а затем переместить почтовые ящики с прежних серверов Exchange. Такой подход не будет серьезной проблемой для предприятия с несколькими серверами, но если в компании имеется только один сервер Exchange или администратору приходится иметь дело с офисами филиалов (разместить несколько серверов в офисе нелегко), то лучше отложить переход на Exchange 2007 до замены аппаратных средств.

Второй фактор — тестирование. Новое программное обеспечение перед развертыванием принято тестировать. Администраторы, консультанты и архитекторы систем Exchange также используют тестовые установки для развертывания и оценки новых версий программ, исправлений и продуктов, функционирующих совместно с Exchange. Тестовая среда может быть сложной, многосерверной структурой, в которой задаются все производственные характеристики, или виртуальной средой на ноутбуке. Очевидно, тестовую среду придется перестроить в соответствии с требованиями Exchange 2007. Если предприятие не готово к этому, то связанные с модернизацией непредвиденные расходы станут препятствием к развертыванию Exchange 2007. Представители Microsoft заявили, что компания подготовит 32-разрядные версии Exchange 2007 для тестирования на ранних этапах цикла разработки (начало 2006 г.), но в этих версиях наверняка не будет функций, возможных только на 64-разрядной платформе, именно тех, которые представляют интерес для администратора. Более того, в конечном итоге эти 32-разрядные версии будут отставлены, и внимание Microsoft целиком сосредоточится на выпуске 64-разрядной версии. Например, не следует ожидать от Microsoft серьезного тестирования производительности 32-разрядных версий, от которых компания планирует отказаться.

Проблемы независимых поставщиков

Как бы ни относились к этому в Microsoft, лишь немногие серверы Exchange используются исключительно для Exchange. Пытается ли Microsoft изменить эту ситуацию, постоянно расширяя функциональность базового продукта? Возможно. Тем не менее я полагаю, что модули расширения от независимых поставщиков останутся необходимой частью «экосистемы» Exchange в течение многих лет. А значит, поставщикам коннекторов для сообщений и факсов, антивирусных продуктов, инструментов подготовки отчетов и анализа придется обновить свои программы для работы с 64-разрядной версией Exchange. Новые версии этих программ необходимо протестировать, чтобы убедиться в их полной совместимости с Exchange, прежде чем применять комбинацию продуктов в производственной среде.

Между выпуском каждой окончательной версии Microsoft Exchange и появлением сторонних программ для этой версии проходит некоторое время. Задержка составляет от двух недель до двух кварталов и является естественным следствием необходимости протестировать продукты с окончательной версией Exchange. Я полагаю, что для Exchange 2007 задержка будет дольше обычного, даже если Microsoft приложит значительные усилия, чтобы помочь поставщикам модернизировать их продукты. Учитывая сложность новой версии, новой платформы и новые API (например, Exchange 2007 не поддерживает коннекторы, построенные с использованием Microsoft Exchange Development Kit, EDK; в состав Exchange 2007 войдет новая версия антивирусного API — VSAPI), можно смело предположить, что программы независимых поставщиков появятся не раньше чем через 3-6 месяцев после выхода Exchange 2007.

Движение продолжается

Решение Microsoft перевести Exchange 2007 на 64-разрядную платформу, несомненно, вызовет жаркие споры. Разработчики компании настаивают на том, что благодаря этой перемене появляется возможность повысить масштабируемость, производительность и функциональность. До выхода продукта еще остается время, но, чтобы получить четкое представление о том, как переход повлияет на конкретное предприятие, необходимо изучать факты уже сегодня. Направление движения Microsoft очевидно: вперед и вверх к 64-разрядной среде Exchange. Следует ли остальным вставать на этот путь — другой вопрос.

Тони Редмонд - Редактор Windows IT Pro, старший технический редактор Exchange & Outlook Administrator, вице-президент и главный технолог HP Services. Он автор книги Microsoft Exchange Server 2003 with SP1 (издательство Digital Press). exchguru@windowsitpro.com


I/O, I/O

В течение многих лет разработчики Microsoft Exchange Server испытывали беспокойство по поводу числа операций ввода/вывода в секунду (IOPS), генерируемого пользователями, особенно на больших серверах. Одна из проблем заключалась в том, что ядро Exchange Information Store, процессор базы данных Jet, располагает кэшем объемом 1 Гбайт, который нельзя расширить в 32-разрядных системах. Другая трудность состоит в том, что данные Jet организованы в последовательных страницах по 4 Кбайт. Такой метод применялся со времени выпуска Exchange Server 4.0 в 1996 году. В то время размер среднего сообщения на предприятии составлял около 4 Кбайт, поэтому на одной странице умещалось целое сообщение. Сегодня средний размер сообщения стал гораздо больше (более 100 Кбайт в некоторых организациях), и лишь небольшой фрагмент сообщений умещается на каждой странице. Соответственно, Store обрабатывает больше запросов ввода/вывода для чтения и записи сообщения на многочисленных страницах. Размеры сообщений вряд ли будут уменьшаться, так как объем вложенных файлов все время растет, пользователи составляют тело сообщения в таких графических редакторах, как Microsoft Word, а компания Microsoft начинает применять технологию унифицированной обработки сообщений, чтобы в почтовых ящиках можно было размещать и голосовые сообщения. Чем больше размер почтовых ящиков и баз данных, тем выше интенсивность операций ввода/вывода; типичная проектная величина для пользователя Exchange Server 2003 составляет от 0,5 до 1,0 IOPS.

Трудностей не возникает, если на предприятии имеется только маленький сервер. Современные серверные и дисковые технологии экономично и без проблем обслуживают несколько сотен почтовых ящиков Exchange. Однако при переходе на серверы с более чем 1000 почтовых ящиков память перестает быть ограничивающим и самым дорогостоящим компонентом. Решающим фактором становится способность подсистемы памяти обрабатывать запросы ввода/вывода, генерируемые пользователями. Если подсистема памяти не справляется с нагрузкой, то пользователи ощущают падение производительности из-за малой пропускной способности Store.

Если предприятие готово потратить значительную сумму, то можно спроектировать и развернуть подсистемы памяти для обслуживания 4000 пользователей на сервере Exchange одновременно. Стоимость устройств хранения данных для крупных серверов Exchange — одна из причин, по которым число почтовых ящиков на сервере Exchange не превышает 4000 (среди других причин — время, необходимое для операций резервного копирования и восстановления). Стоимость памяти — реальное ограничение при проектировании крупных систем Exchange. Специалисты Microsoft прекрасно представляют себе проблему ввода/вывода хотя бы потому, что проделали огромную работу по консолидации внутренней структуры Exchange компании.


Решения на базе Store

По мнению специалистов Microsoft, переход на 64-разрядную платформу поможет решить многие застарелые проблемы Microsoft Exchange Server Information Store. Благодаря расширению адресуемой памяти значительно смягчается проблема фрагментации виртуальной памяти, и Exchange может поддерживать больше групп хранения (Storage Group, SG) и баз данных. Вместе с тем дополнительная память позволяет сохранять в кэше Store больше данных, чем в настоящее время, поэтому Exchange должен генерировать гораздо меньше операций ввода/вывода. Если в кэше Exchange можно сохранить почтовые ящики "Входящие" всех пользователей, правила обработки сообщений, поступающих во входной почтовый ящик, и 50 последних сообщений, то число операций ввода/вывода существенно сократится, так как даже в крупных серверах Store может доставлять эти данные из памяти без постоянных обращений к диску. Один из расчетов, сделанных группой Microsoft Exchange Engineering, показывает, что в настоящее время в 32-разрядном кэше базы данных Jet можно выделить по 250 Кбайт для пользователя на сервере с 4000 почтовых ящиков. Для сравнения, на 64-разрядном сервере с оперативной памятью объемом 16 Гбайт в расширенном кэш Jet будет содержаться по 3,5 Мбайт для одного пользователя при таком же числе почтовых ящиков. Это 14-кратное увеличение объема данных в памяти Store, за которыми не нужно обращаться к диску. Следует отметить, что расширение кэша не означает автоматического 14-кратного уменьшения числа операций ввода/вывода, но замена дорогостоящего ввода/вывода на сравнительно недорогой доступ к памяти, несомненно, выгодна.

Помимо увеличения кэша, размер страницы Jet в Exchange 2007 вырос с 4 до 8 Кбайт, чтобы на одной странице можно было разместить больше тел сообщений. Тело сообщения - информация, введенная пользователем, вместе с подписью и другими данными, но без вложенных файлов, пересылаемых вместе с сообщением. По оценкам специалистов Microsoft, более 50% всех сообщений будут размещаться на одной странице объемом 8 Кбайт, что приведет к уменьшению числа операций чтения и записи, генерируемых Store для каждого сообщения.

Необходимо провести тестирование, чтобы получить данные в реальной производственной среде и выяснить, как переход на 64-разрядную Exchange повлияет на число операций ввода/вывода в секунду (IOPS). По отзывам инженеров, участвующих в работе, эта величина составляет от 0,3 до 0,25 IOPS для одного пользователя. Эти данные были собраны на некоторых системах Microsoft, которые работали с показателем 1 IOPS для одного пользователя на 32-разрядной платформе. Теоретически такое уменьшение может сократить затраты на хранение данных, хотя опыт показывает, что подобной экономии трудно достичь, так как потребители не освобождаются от существующих систем хранения, заменяя их недорогими альтернативами. Большинство потребителей сохраняют ту же инфраструктуру хранения, но со снижением интенсивности ввода/вывода. Систему хранения можно использовать для подключения дополнительных серверов или обслуживания новых приложений с повышенной рабочей нагрузкой (например, унифицированной обработки сообщений). Реальная экономия Exchange 2007 будет достигнута благодаря консолидации и увеличению срока эксплуатации устройств хранения (вместо установки менее дорогостоящих хранилищ данных).