Exchange 2007 Очередность сообщений

OSzone.net » Microsoft » Exchange Server » Exchange Server 2007 » Exchange 2007 Очередность сообщений
Автор: Натан Уинтерс(Nathan Winters)
Иcточник: MSexchange.ru
Опубликована: 07.09.2007

Статья расскажет вам о том, по какому принципу организуется очередность в Exchange 2007. Начну, пожалуй, с пояснения, чем отличаются архитектуры Exchange 2003 и 2007. При этом затрону тему существования базы данных очередности в версии 2007. Далее я расскажу о новом средстве для просмотра очередности в Exchange 2007, что оно на самом деле делает, и зачем оно нам нужно. И в конце я дам ответ на вопрос, как средство просмотра очередности связано с PowerShell(силовая оболочка), дам несколько полезных советов.

Очередность сообщений , введение.

Еще начиная с пятых версий (возможно даже 4), в Microsoft Exchange была возможность просмотра обработанных сообщений, тем не менее легкость и функциональность доступа менялась от версии к версии. Так же случилось и с переходом от Exchange 2003 на Exchange 2007. Способ формирования очередности очень сильно изменился, мы перешли от метода, при котором каждый SMTP виртуальный сервер имел свою собственную директорию на разделе NTFS, на метод создания базы данных(с информацией о очередности), используя стандартный движок «расширяемого хранилища»( Extensible Storage Engine (ESE)). Лучшим подтверждением полного изменения интерфейса в Exchange 2007 является тот факт, что он основан на новой консоли управления(Microsoft Management Console (MMC) v3). Чтобы подчеркнуть отличия интерфейсов, предлагаю посмотреть на скриншоты, представленные ниже;

Рисунок 1. Местоположение очередей в Exchange 2003

Рисунок 1: Местоположение очередей в Exchange 2003

В этой версии, действительно, было легко найти что-либо, тем не менее был существенный недостаток – в каждый отдельный момент времени можно было просмотреть очередь лишь одного сервера.

Рисунок 2. Просмотр очередей в Exchange 2003

Рисунок 2: Просмотр очередей в Exchange 2003

На рисунке номер 2 легко можно увидеть тип очереди и ее статус. В данном случае нетрудно увидеть, что есть пара писем, ждущих отправки. Скорее всего они представляют собой отчеты о неудачной отправке со спам-адресов.

Используя Exchange 2007, очередность просматривается с помощью специального средства Queue Viewer («просмотрщик» очереди), которое можно найти среди других утилит на панели управления (Toolbox area), которая показана на рисунке 3.

Рисунок 3. Новая панель управления в Exchange 2007

Рисунок 3: Новая панель управления в Exchange 2007

Открыв Queue Viewer, становится ясно, что он построен на MMC(Microsoft Management Console) 3 версии, обратите внимание на рисунок 4.

Рисунок 4. Интерфейс средства просмотра очередности

Рисунок 4: Интерфейс средства просмотра очередности

Основным преимуществом является возможность создать собственную консоль, используя всего лишь одно средство просмотра.Это позволит вам следить сразу за несколькими серверами одновременно.

Рисунок 5. Добавление консоли в средство просмотра очередности

Рисунок 5: Добавление консоли в средство просмотра очередности

Казалось бы, посмотрев на изменения в интерфейсе, самое время перейти к фундаментальной теории, исходя из которой строятся очереди в Exchange 2007, тем не менее до этого вам следует знать еще кое-что. Не все сервера Exchange 2007 записывают информацию о очередях. Огромная разница заключается в том, что в Exchange 2003 все сервера были вовлечены в передачу сообщений, каждый их них обладал очередностью. В Exchange 2007 только центральный и крайний(граничный) транспортные сервера хранят информацию о очередях.

Теория очередности

Итак, мы хотим узнать, куда же дели базу данных? Как говорилось выше, вся информация об очередности хранится в базе данных ESE. Файл базы данных(основной) назван mail.que и по умолчанию его можно найти C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue

Рисунок 6. Папка, которая содержит файлы базы данных

Рисунок 6: Папка, которая содержит файлы базы данных

Тут же находятся и другие файлы.

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

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

При перемещении базы данных и логов конкретных операций соблюдаются определенные правила. Чтобы переместить базу данных, вам необходимо отредактировать файл конфигурации EdgeTransport.exe(граничный, краевой транспорт), который по умолчанию можно найти C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config,

затем необходимо остановить и перезапустить сервис msexchangetransport(перемещение ms exchange).

Что вам нужно знать до того, как вы начнете редактировать файл конфигурации? Исходная директория содержит правильные разрешения(как установлено ниже). Таким образом директория будет создана для вас.

Соответствующие строки показаны ниже. Чтобы переместить базу данных, нужно отредактировать строку, содержащую “QueueDatabasePath”, для перемещения логов следует изменить строку, содержащую “QueueDatabaseLoggingPath”. На рисунке 7 показан пример того, как я переместил мою базу данных и логи на H:

Рисунок 7. Изменение файла конфигурации EdgeTransport.exe.config

Рисунок 7: Изменение файла конфигурации EdgeTransport.exe.config

Посмотрев на базу данных, самое время понять, что в нее входит. Существует несколько различных очередей:

Использование очередности

Теперь с использованием MMC v3 интерфейс стал очень простым. По умолчанию средство просмотра сообщений отображает очереди транспортного сервера, на котором Вы залогинены. Чтобы подсоединиться к другому серверу, используйте средство «Connect to Server» (соединиться с сервером).

Рисунок 8. Процесс подключения к серверу

Рисунок 8: Процесс подключения к серверу

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

Рисунок 9. Отображение меток в средстве просмотра очередности

Рисунок 9: Отображение меток в средстве просмотра очередности

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

Ключевая особенность Exchange 2007 – фильтрация сообщений. Приведем пример использования фильтра в случае спам-атаки. Будучи администратором, вы можете использовать преимущество «Bulk Action» (массового действия), особенности, которая воздействует на все сообщения, содержащие похожий параметр, указанный в настройках фильтра. Это позволит избавиться от спама с NDR или без него.

Рисунок 10. Фильтрация, показанная в метке сообщения

Рисунок 10: Фильтрация, показанная в метке сообщения

Рисунок 11. Еще несколько опций фильтрации

Рисунок 11: Еще несколько опций фильтрации

Еще несколько опций средства просмотра очередности показаны ниже.

Очередность и PowerShell(силовая оболочка)

Нам известно, что вся консоль (Exchange Management Console) основана на PowerShell. Нужно отметить, что при открытом окне средства просмотра сообщений можно попробовать остановить сервис msexchangetransport, появится ошибка. На рисунке 12 видны команды PowerShell, которые исполняются, чтобы добраться до интерфейса средства просмотра очередности.

Рисунок 12. Командная ошибка PowerShell

Рисунок 12: Командная ошибка PowerShell

Я пришел к выводу, что можно использовать PowerShell для управления очередностью. Для начала я использовал команду, представленную ниже, чтобы вывести список всех возможных действий с очередностью.

Get-command *queue*

Рисунок 13. Get-command *queue*

Рисунок 13: Get-command *queue*

Затем я попытался получить список возможных команд, применимых к сообщениям

Рисунок 14. get-command *message*

Рисунок 14: get-command *message*

Обладая этим знанием, я запустил команду получения очереди (get-queue)

Рисунок 15.get-queue (получение очереди, вызов списка)

Рисунок 15: get-queue (получение очереди, вызов списка)

Далее я стал искать какую-нибудь очередь, в которой содержится менее 100 сообщений. Было обнаружено 3 очереди, которые не содержали ни одного сообщения.

Все очереди кроме submission queue (к обработке, была описана выше) после доставок всех сообщений удаляются. В submission queue всегда есть какие-либо сообщения, ожидающие разбиения на категории.

Рисунок 16.get-queue с фильтрацией

Рисунок 16: get-queue с фильтрацией

Вы заметили, что управление очередями при помощи PowerShell(а точнее через команды, встроенные туда, которые запускают конкретный скрипт) значительно проще, чем при использовании VBScript. Да, пускай примеры выше довольно просты, но знание их поможет двинуться дальше, никто не запретит вам удалять сообщения, которые идут от некого anything@spammer.com с рейтингом SCL выше, чем 5.

Remove-Message -Filter {FromAddress -like "*spammer.com*" -and SCL -gt 5} -withNDR $false 

Вывод

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

http://www.microsoft.com/downloads/details.aspx?familyid=555F5974-9258-475A-B150-0399B133FEDE&displaylang=en


Ссылка: http://www.oszone.net/5552/Exchange_Server_2007