• Exchange Server 2010 How-to: Включение Integrated Windows authentication для Outlook Web App

    После установки роли Client Access в Exchange Server 2010 доступ к Outlook Web App по умолчанию не настроен на прохождение встроенной аутентификации Windows. Если сервера Client Access используются для доступа к OWA внутри локальной сети, то для пользователей будет более удобно использовать SSO вход в свой почтовый ящик через OWA. Что бы штатно включить механизм встроенной проверки аутентификации Windows в консоли Exchange Management Console перейдём в раздел Server Configuration > Client Access, выбираем сервер и в открывшейся закладке Outlook Web App откроем настройки OWA:

    image

    На закладке Authentication выберем соответствующий метод аутентификации – Integrated Windows authentication:

    image

    При сохранении изменённых настроек мы получим логичное предупреждение о том, что нам так же необходимо изменить способ аутентификации на аналогичный и в настройках Exchange Control Panel (ECP)

    image

    Это связано с тем, что при использовании ссылки «Параметры» в веб-интерфейсе OWA присутствуют ссылки на виртуальный каталог ECP. Поэтому в настройках ECP нам нужно выбрать тот же метод аутентификации, что и для OWA – Integrated Windows authentication:

    image

    Для того чтобы изменения вступили в силу, необходимо будет выполнить перезапуск IIS командой:

    iisreset /noforce

    В некоторых случаях попытка перезапуска IIS на сервере Client Access может приводить к ошибке:

    image

    В данном случае проблема может заключаться в том, что службе не хватает времени, отведённого системой на ответ от службы о том, что она выполнила остановку или запуск (по умолчанию это значение составляет 30 секунд). Для решения этой проблемы предлагается увеличить значение, установленное по умолчанию как минимум вдвое:

    В системном реестре находим ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl, создаем в ней параметр DWORD с именем ServicesPipeTimeout и значением 60000 (Десятичное значение)

    image

    Обратите внимание на то, что значение параметра указывается в миллисекундах и влияет на запуск всех служб в ОС. Дополнительную информацию по этому вопросу можно найти в статье KB824344 How to debug Windows services

    После внесения изменений в реестр для вступления параметра в силу потребуется перезагрузка ОС.

    Если Client Access сервер входит в массив Client Access Array, то соответствующие изменения потребуется выполнить для всех остальных серверов, являющихся членами этого же массива.

    Дополнительная информация:
    Exchange Server TechCenter - Configure Integrated Windows Authentication

  • Exchange Server 2010 How-to: Создание Database Availability Group (DAG) на Mailbox серверах на Windows Server 2008 R2

    В прошлой заметке мы на конкретном примере рассмотрели создание и настройку NLB кластера для ролей Client Access и Hub Transport и теперь, отталкиваясь от ранее описанной конфигурации с работающим массивом Client Access Array, рассмотрим пошагово процедуру создания и первоначальной настройки отказоустойчивого кластера с группой DAG в Exchange Server 2010 SP1.

    С точки зрения сетевого взаимодействия, схема отказоустойчивого кластера DAG из двух серверов Exchange Server 2010 с ролями Mailbox в нашем случае будет выглядеть так:

    image


    Среда исполнения

    В качестве серверов, на которые будет произведена установка Exchange Server 2010 SP1, будет использоваться два физических сервера HP ProLiant DL 380 G5. Каждый сервер имеет следующую конфигурацию:

    • ОС Windows Server 2008 R2 Enterprise EN;
    • Объем выделенной ОЗУ - 10 Gb PC2-5300 ECC;
    • 2 процессора Xeon 5160 (число логических процессоров – 4);
    • Два сетевых адаптера;
    • 8 HDD SAS 10K, из них 2 HDD по 73Gb в зеркале RAID1 под ОС и исполняемые файлы Exchange и 6 HDD по 136 Gb в non-RAID конфигурации (каждый диск отдельно). В итоге на каждом сервере по доступному дисковому пространству мы получим такую картинку:

    image


    Условимся, что каждый свободный диск по 136 Gb (D - I) будет использоваться под отдельную базу данных (файлы БД и логи на одном диске).

    Сервера будут иметь имена KOM-AD01-CM01 и KOM-AD01-CM02. Создаваемый в процессе описания кластерный экземпляр Exchange DAG будет иметь имя KOM-AD01-DAG1.

    В процессе создания DAG в двух-узловой конфигурации нам потребуется сервер-свидетель (Witness server). Для этой роли мы выберем установленный ранее HT сервер Exchange с именем KOM-AD01-HT01.


    Настройка сетевых параметров

    Итак, на каждом сервере мы имеем по два сетевых интерфейса. Назовём их NIC1 - Public и NIC2 – Cluster и условимся, что согласно нашей схемы, NIC1 будет отвечать за управление самим сервером (будет зарегистрирован в DNS на FQDN имя сервера) а NIC2 будет отвечать за работу сервера в кластере Windows Failover Cluster. При этом мы должны обеспечить прямое физическое соединение интерфейсов NIC2 между двумя серверами.

    image

    Откроем окно настройки сетевых подключений и в меню Advanced > Advanced Settings и проверим порядок использования подключений (Connections). NIC1 должен иметь приоритет над NIC2, так как будет являться для сервера основным маршрутизируемым интерфейсом.

    image

    Так же в свойствах кластерного интерфейса NIC2 можно отключить все компоненты, за исключением TCP/IP (HP Network Configuration Utility в нашем случае это неотключаемая часть вендорного ПО для поддержки расширенных функций сетевого адаптера):

    image

    В свойствах компонента TCP/IP зададим только выделенный IP адрес и маску подсети и по кнопке Advanced откроем окно дополнительных настроек

    image

    В окне дополнительных настроек TCP/IP на закладке DNS отключаем опцию регистрации этого подключения в DNS - Register this connection's addresses in DNS

    image


    Подготовка ОС к установка Exchange Server 2010 SP1

    Предварительные требования к ОС для установки Exchange Server 2010 можно найти по ссылке - TechNet Library - Exchange 2010 Prerequisites. Перед развертыванием Exchange Server 2010 в AD должны быть проведены процедуры расширения схемы, подготовки леса и домена. Порядок проведения этих процедур описан в статье Exchange Server TechCenter - Prepare Active Directory and Domains.

    Так как мы планируем развертывание роли Mailbox, нам нужно предварительно скачать и установить 64-битную версию пакета Microsoft Office 2010 Filter Packs. Фильтры IFilter, входящие в этот пакет, используются в подсистеме поиска Exchange для индексирования текстового содержимого в форматах файлов Microsoft Office 2007/2010.

    В Exchange Server 2010 SP1 программа установки Exchange должна сама зарегистрировать фильтры IFilter из пакета фильтров Office 2010 Filter Pack в службе поиска Exchange, в отличие от RTM версии, где регистрацию нужно проводить в ручную, поэтому всё, что нам предварительно нужно сделать, это скачать 64-битную версию пакета и установить её…

    image

    Далее все необходимые системные компоненты для роли Mailbox устанавливаем с помощью PowerShell:

    Import-Module ServerManager

    Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server –Restart

    После окончания установки компонент, сервер выполнит перезагрузку. И так как набор используемых в ОС компонент расширился, сразу после перезагрузки выполним запрос к серверу WSUS и установим все доступные обновления.

    Также перед установкой Exchange Server 2010 SP1 нам необходимо учесть требования раздела «Install the Exchange 2010 SP1 Hotfixes for Windows Server 2008 R2» онлайн документации и вручную скачать и установить обновления (которые не распространяются через WSUS), необходимые для исправления проблем в SP1:

    Скачаем по ссылкам указанным в KB пакеты исправления соответствующие нашей платформе – x64 и произведём их установку. После установки этих обновлений потребуется перезагрузка системы.

    image

    Без предварительной установки этих обновлений инсталлятор Exchange Server 2010 SP1 не даст нам установить роль Mailbox.


    Установка Exchange Server 2010 SP1

    Запускаем Setup.exe в режиме Run as Administrator.

    Выбираем пункт 3 - Choose Exchange language option и указываем то что для установки используем только языковые пакеты, входящие в состав дистрибутива

    image

    Затем выбираем пункт 4 - Install Microsoft Exchange

    Проходим шаги Introduction, License Agreement, Error Reporting и на шаге Installation Type выбираем Custom Exchange Server Installation, а так же на всякий случай отмечаем галку автоматической установки недостающих системных компонент (случаи бывают разные :)):

    image

    На шаге выбора ролей отмечаем роль Mailbox Role

    image

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

    image

    Если проблемы не выявлены, можно запускать непосредственный процесс установки.

    image

    После окончания успешной установки необходимо будет произвести перезагрузку сервера.


    Установка последнего Rollup для Exchange Server 2010 SP1

    Информацию о текущих версиях Exchange Server можно найти по адресу - TechNet Wiki - Exchange Server and Update Rollups Builds Numbers

    На момент написания этой заметки, последним пакетом исправлений является - Update Rollup 2 for Exchange Server 2010 SP1 - 14.1.270.1 (12/9/2010) KB2425179

    Порядок установки последнего накопительного пакета обновлений описан в статье - TechNet Library - Install the Latest Update Rollup for Exchange 2010. Следуя его рекомендациям, для ускорения процесса установки, на время установки можно отключить проверку списков отзывов сертификатов в свойствах Internet Explorer (Открываем Internet Explorer и в меню Tools > Internet Options > Advanced > Security отключаем флажок Check for publisher’s certificate revocation).

    image

    Дополнительные сведения см. в статье 974445 базы знаний Майкрософт Создание образов NGEN занимает слишком много времени

    Для установки Rollup открываем командную строку в режиме Run as Administrator и запускаем из неё программу установки обновления, в нашем случае это файл Exchange2010-KB2425179-x64-en.msp, дожидаемся окончания установки и снова перезагружаем сервер, чтобы удостовериться в том, что все необходимые службы Exchange Server стартуют в штатном режиме.

    Помимо такого варианта установки Rollup можно попробовать воспользоваться и другим – разместить дистрибутив пакета исправлений в подкаталоге UPDATES дистрибутива Exchange Server 2010 SP1 перед процедурой первоначальной установки самого Exchange Server.


    Создание Database Availability Group (DAG)

    Если сервер, который планируется использовать в качестве сервера-свидетеля (Witness server), не является сервером Exchange, то перед тем как создавать DAG, на этом сервере необходимо включить доменную группу «Exchange Trusted Subsystem» в локальную группу администраторов (Administrators). В нашем случае в качестве сервера-свидетеля выбран сервер Exchange уже несущий роль Hub Transport и Client Access и поэтому в его локальной группе Администраторов уже присутствует данная группа безопасности и поэтому мы не будем испытывать проблем при попытке удалённого управления каталогом-свидетелем со стороны учетных записей серверов входящих в DAG.

    В интернете можно так же найти информацию о том, как в качестве сервера-свидетеля использовать контроллеры домена - для этого нужно включить группу “Exchange Trusted Subsystem” в доменную группу “Administrators”. Но как мы все понимаем, это далеко не «Best practice», ибо после таких действий полномочия учетных записей серверов Exchange в домене становятся слишком большие, что само по себе серьёзно понижает уровень безопасности в домене в целом.

    Итак, открываем Exchange Management Console (EMC) переходим в раздел Organization Configuration > Mailbox на закладку Database Availability Groups и в меню Action либо в контекстном меню выбираем пункт New Database Availability Group

    image

    В открывшемся мастере создания новой группы DAG указываем имя группы (будет использовано в дальнейшем для создания учетной записи кластера в домене), имя сервера свидетеля и каталог (по желанию). Если указать только имя сервера-свидетеля, а значение Witness directory оставить пустым, то будет создан каталог в виде %SystemDrive%DAGFileShareWitnesses<DAGFQDN> и на основе этого каталога будет создан сетевой каталог с именем <DAGFQDN>

    image

    Примечание: В дальнейшем, в случае необходимости, например при аппаратном или программном сбое сервера-свидетеля, изменить для DAG сведения о сервере-свидетеле и его каталоге в случае необходимости можно будет с помощью командлета Set-DatabaseAvailabilityGroup

    Создаем группу…

    image

    После этого в службе каталогов Active Directory будет создан объект класса msExchMDBAvailabilityGroup (его можно увидеть через оснастку ADSIEdit.msc)

    image


    Следующим этапом нам нужно задать статический IP адрес, который будет использоваться для предоставления доступа к кластерным ресурсам. Для этого откроем в консоли Exchange Management Console (EMC) свойства только что созданной группы DAG и на закладке IP Addresses добавим IP адрес:

    image

    Задачу назначения IP адреса группе DAG можно выполнить так же и через Exchange Management Shell командлетом Set-DatabaseAvailabilityGroup:

    Set-DatabaseAvailabilityGroup -DatabaseAvailabilityGroupIpAddresses '10.160.0.31' -Identity 'KOM-AD01-DAG1'

    Вообще стоит отметить, что и создание новой группы DAG более оперативно можно сделать через EMS командлетом New-DatabaseAvailabilityGroup:

    New-DatabaseAvailabilityGroup -Name 'KOM-AD01-DAG1' -WitnessServer 'KOM-AD01-HT01' -DatabaseAvailabilityGroupIpAddresses '10.160.0.31'

    Добавление первого сервера в DAG

    В консоли Exchange Management Console открываем Organization Configuration > Mailbox > Database Availability Group > выбираем нашу группу DAG и в меню Action выбираем пункт Manage Database availability Group Membership

    image

    В открывшемся мастере управления серверами-членами DAG с помощью Add добавляем первый сервер:

    image

    Итак, первый сервер в DAG добавлен…

    image

    Как мы видим, добавление сервера в DAG мы могли выполнить через Exchange Management Shell командлетом Add-DatabaseAvailabilityGroupServer:

    Add-DatabaseAvailabilityGroupServer -MailboxServer 'KOM-AD01-CM01' -Identity 'KOM-AD01-DAG1'

    В процессе добавления первого сервера в DAG произойдёт следующая последовательность действий:

    1) На сервер будут установлены компоненты Windows Failover Clustering, и будет создан новый кластер в режиме Node Majority с именем, соответствующим имени группы DAG. Переключение кластера в режим Node and File Share Majority, и как следствие использование сервера-свидетеля, произойдёт только после добавления в DAG второго сервера.

    image


    2) При создании кластера в доменном контейнере Computers будет соответствующая учетная запись объекта Cluster network object (CNO)

    image


    3) В DNS должна появиться A-запись с именем и IP адресом группы DAG

    image


    4) В свойства объекта DAG в Active Directory будет внесена информация о добавленном сервере

    image

     

    Добавление второго сервера в DAG

    Для добавления второго сервера в группу DAG можно воспользоваться мастером «Manage Database availability Group Membership» также как и при добавлении первого сервера, но мы для наглядности воспользуемся Exchange Management Shell:

    Add-DatabaseAvailabilityGroupServer -MailboxServer 'KOM-AD01-CM02' -Identity 'KOM-AD01-DAG1'

    image

    Результатом успешного выполнения этой команды будет:

    1) Добавление второго сервера в качестве второй ноды в Windows Failover Cluster с изменением режима работы кластера на Node and File Share Majority с сервером свидетелем.

    image


    2) Добавление информации о втором сервере в свойства объекта DAG в Active Directory


    3) Начинает использоваться служебный сетевой каталог, созданный на транспортном сервере – свидетеле (KOM-AD01-HT01) с появлением в нём информации о состоянии кластерного кворума


    Создание реплицируемых БД

    После того как DAG настроена, мы можем создать необходимое нам количество БД и настроить репликацию. Для создания новой БД на первом сервере Mailbox воспользуемся Exchange Management Console (Organization Configuration > Mailbox > Database Management > выбираем в меню Action пункт New Mailbox Database)

    В открывшемся мастере вводим имя новой базы данных и имя сервера на котором она будет использоваться как активный экземпляр:

    image

    Задаём расположение файла БД и подкаталога для логов…

    image

    Дожидаемся успешного окончания процесса создания и монтирования новой БД…

    image

    После того как база создана на первом сервере, сделаем её реплицируемой на второй сервер. Для этого в Exchange Management Console в разделе Organization Configuration > Mailbox > Database Management > выбираем нужную базу данных и в меню Action пункт Add Mailbox Database Copy

    image

    В открывшемся мастере выбираем второй сервер Mailbox входящий в группу DAG, на котором будет размещена копия БД:

    image

    Дожидаемся окончания процесса …

    image

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

    Теперь в консоли Exchange Management Console можно проверить статус состояния активного экземпляра БД и её копии.

    image


    Проверка механизма Switchover

    После того как создано необходимое количество реплицируемых БД, мы можем проверить механизм переключения активных копий с одного сервера в группе DAG на другой (switchover). В нашем случае все активные копии БД в текущий момент находятся на сервере KOM-AD01-CM01. Выполним переключение активных копий на сервер KOM-AD01-CM02. Для этого в консоли Exchange Management Console в разделе Server Configuration > Mailbox выберем сервер с активными копиями и в меню Action выберем Switchover Server:

    image

    В открывшемся окне выбираем сервер, на который мы хотим переместить активные экземпляры всех БД. Если в группе DAG всего два сервера, то вполне можно выбрать вариант Automatically choose a target server.

    image

    После этого, сделав Refresh в консоли, мы увидим, что статус активности баз изменился, и теперь все активные экземпляры БД находятся на сервере KOM-AD01-CM02. Процедуру «переезда» активных копий обратно (с сервера KOM-AD01-CM02 на сервер KOM-AD01-CM01) можно выполнить так же и через Exchange Management Shell с помощью командлета Move-ActiveMailboxDatabase:

    Move-ActiveMailboxDatabase -Server "KOM-AD01-CM02"

    image


    Далее, перед вводом группы DAG в промышленную эксплуатацию так же не помешает выполнить и тестирование процедуры Failover-переключения активных копий БД между серверами участниками DAG, сымитировав отказ сервера являющегося носителем активных копий БД.

    Дополнительная информация:

  • Exchange Server 2010 How-to: Установка ролей Client Access и Hub Transport в NLB кластере на Windows Server 2008 R2

    imageС учетом нововведений в Exchange Server 2010, которые приближают роль Client Access к действительно оправдывающей своё название компоненте, перед нами возникает задача обеспечения максимально возможной отказоустойчивости этой роли в продуктивной среде. На сегодняшний день существуют лучшие методики и рекомендации Microsoft, которые обеспечение отказоустойчивости Exchange посредствам WNLB уже не признают как рекомендуемые, а вместо этого предлагают использовать аппаратные решения обеспечения балансировки нагрузки и отказоустойчивости. Однако в реальной практике, по тем или иным причинам, не все себе могут позволить придерживаться таких рекомендаций, и поэтому использование NLB на платформе Windows Server в такой ситуации будет вполне приемлемым вариантом. Я пошагово опишу на практическом примере процедуру установки ролей Exchange Server 2010 SP1 - Client Access (CA) и Hub Transport (HT) на два сервера, включённых в NLB кластер на Windows Server 2008 R2 в среде виртуализации Hyper-V Server 2008 R2.

    С точки зрения сетевого взаимодействия, схема отказоустойчивого NLB кластера из двух серверов Exchange 2010 с ролями Client Access и Hub Transport в нашем случае будет выглядеть так:

    clip_image002

    Среда исполнения

    В качестве серверов, на которые будет произведена установка Exchange Server 2001 SP1, будет использоваться два виртуальных сервера на базе хостов виртуализации на ОС Hyper-V Server 2008 R2. Каждый виртуальный сервер имеет следующую конфигурацию:

    • ОС Windows Server 2008 R2 Standard EN;
    • Объем выделенной ОЗУ - 4 Gb;
    • Число логических процессоров – 4;
    • Жёсткий диск – VHD фиксированного размера в 60 Gb;
    • Два синтетических сетевых адаптера

    При создании второго сетевого адаптера, который будет использоваться для построения NLB в свойствах виртуальной машины Hyper-V необходимо разрешить спуфинг МАС адресов (Enable spoofing of MAC addresses)

    image

    На Microsoft есть статья, описывающая возможные проблемы, связанные с построением NLB кластеров в окружении Hyper-V -KB953828 - Windows Server 2008 Hyper-V virtual machines generate a Stop error when NLB is configured or when the NLB cluster does not converge as expected


    Подготовка ОС к созданию кластера NLB

    После того как виртуальные машины сконфигурированы, на них установлена ОС и установлены все последние обновления с Windows Update, приступаем к настройке ОС для подготовки к созданию NLB кластера.

    Первым делом через Server Manager установим компоненту (фичу) Network Load Balancing

    image

    Так же компоненту NLB можно установить с помощью команды:

    dism /online /enable-feature /featurename:NetworkLoadBalancingFullServer

    clip_image007

    Дополнительную информацию об альтернативных способах установки NLB можно найти в статье MSDN Blogs - Clustering and High-Availability - Installing Network Load Balancing (NLB) on Windows Server 2008 R2

    Как обозначилось ранее, на каждом виртуальном сервере мы имеем по два сетевых интерфейса. Назовём их NIC1 и NIC2 и условимся что, согласно нашей схемы, NIC1 будет отвечать за управление самим сервером (будет зарегистрирован в DNS на FQDN имя сервера) а NIC2 (для которого включён спуфинг MAC адресов) будет участником NLB кластера.

    clip_image008

    Откроем окно настройки сетевых подключений и в меню Advanced > Advanced Settings и проверим порядок использования подключений (Connections). NIC1 должен иметь приоритет над NIC2.

    clip_image009

    Так же в свойствах сетевого подключения, которое будет использоваться для подключения к NLB кластеру (в нашем случае - NIC2) можно отключить все компоненты, за исключением TCP/IP:

    clip_image010

    В свойствах компонента TCP/IP зададим только выделенный IP адрес и маску подсети и по кнопке Advanced откроем окно дополнительных настроек

    clip_image011

    Обратите внимание на то, что в системах Windows Server 2008/2008R2 IP форвардинг пакетов между локальными интерфейсами внутри системы по умолчанию выключен, и для того чтобы наш NLB интерфейс стал доступен, нам нужно включить IP форвардинг на сетевом подключении входящем в NLB кластер командой:

    netsh interface ipv4 set interface “NIC2 – NLB” forwarding=enabled

    В окне дополнительных настроек TCP/IP на закладке DNS отключим механизм регистрации в DNS

    clip_image012

    После этого в локальной доменной зоне прямого просмотра DNS нам необходимо создать статическую А-запись для будущего NLB кластера.

    clip_image013


    Создание кластера NLB

    На первом виртуальном сервере (KOM-AD01-HT01) открываем консоль Network Load Balancing Manager. (меню Пуск > Administrative Tools). Выбираем пункт меню Cluster > New Cluster

    clip_image014

    Вводим имя первого узла, который хотим добавить в NLB, кнопкой Connect подключаемся к нему, и получив с него набор доступных интерфейсов, выбираем нужный:

    clip_image015

    На странице параметров хоста (Host Parameters) оставляем настройки по умолчанию:

    clip_image016

    В следующем окне мастера создания кластера добавляем IP адрес NLB кластера, на который мы ранее в DNS зарегистрировали А-запись.

    clip_image017

    Далее указываем FQDN кластера NLB (по той самой A-записи), а также режим его работы. Если серверы Exchange 2010 CAS установлены на VMware ESX или имеют другие требования к выбору многоадресного режима нужно выбрать режим Multicast , в нашем же случае нужно выбрать опцию одноадресного режима - Unicast.

    clip_image018

    На странице правил портов (Port rules) удаляем имеющееся по умолчанию правило и добавляем необходимые нам правила. При добавлении правила портов убираем флажок All и указываем конкретный интерфейс NLB и диапазон портов, который хотим добавить в кластер NLB.

    clip_image019

    В общей сложности, в нашем примере балансировке в NLB кластере мы будем подвергать следующие порты:

    • TCP 25 – Отправка почты по SMTP (для Legacy приложений);
    • TCP 80 – Перенаправление HTTP > HTTPS в IIS;
    • TCP 110 – Получение почты по POP3 (для Legacy приложений);
    • TCP 143 – Подключение по IMAP4;
    • TCP 443 - Outlook Anywhere, Exchange ActiveSync и Outlook Web App;
    • TCP 135 – MAPI RPC для подключения клиентов;
    • TCP 1024-65535 – MAPI RPC (Динамический диапазон RPC) для подключения клиентов;
    • TCP 993 – Secure IMAP (в Filtering mode Affinity установить в значение None);
    • TCP 995 – Secure POP (в Filtering mode Affinity установить в значение None);

    Диапазон динамических портов RPC при желании можно изменить до использования конкретного статического порта. Пример того как это можно сделать описан в статье Новая служба RPC Client Access Service в Exchange 2010 (обратите внимание на то, что в статье упор делается на RTM Exchange Server 2010, а с выходом SP1 процедура настройки статических портов RPC несколько изменилась).

    clip_image020

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

    image

    Далее, переходим на имя NLB кластера и пунктом меню Add Host to Cluster вызываем мастер добавления второго хоста в кластер.

    clip_image022

    Указываем имя нашего второго виртуального сервера (KOM-AD01-HT02), выполняем к нему подключение(Connect) и выбираем соответствующее сетевое подключение на этом удалённом сервере:

    clip_image023

    Значения на странице параметров хоста (Host Parameters) оставляем по умолчанию (приоритет хоста в кластере NLB будет выбран автоматически и при желании его можно изменить в много-хостовых конфигурациях)

    clip_image024

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

    clip_image025


    Подготовка ОС к установке Exchange Server 2010 SP1

    Предварительные требования к ОС для установки Exchange Server 2010 можно найти по ссылке - TechNet Library - Exchange 2010 Prerequisites. Перед развёртыванием Exchange Server 2010 в AD должны быть проведены процедуры расширения схемы, подготовки леса и домена. Порядок проведения этих процедур описан в статье Exchange Server TechCenter - Prepare Active Directory and Domains.

    Так как на наших виртуальных серверах мы планируем включение роли Hub Transport, нам желательно предварительно скачать и установить Microsoft Office 2010 Filter Packs. Фильтры IFilter, входящие в пакет Microsoft Office 2010 Filter Pack используются в подсистеме поиска Exchange для индексирования текстового содержимого в форматах файлов Microsoft Office 2007/2010.

    В Exchange Server 2010 SP1 программа установки Exchange должна сама зарегистрировать фильтры IFilter из пакета фильтров Office 2010 Filter Pack в службе поиска Exchange, в отличие от RTM версии, где регистрацию нужно проводить в ручную, поэтому всё, что нам предварительно нужно сделать, это скачать 64-битную версию пакета и установить её…

    clip_image026

    Далее все необходимые системные компоненты для ролей Client Access и Hub Transport можно быстро установить с помощью PowerShell:

    Import-Module ServerManager

    Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy -Restart

    После окончания установки компонент, сервер выполнит перезагрузку. И так как набор используемых в ОС компонент расширился, сразу после перезагрузки выполним запрос к серверу WSUS и установим все доступные обновления.

    Мы планируем наши сервера для роли Client Access и поэтому необходимо изменить тип запуска службы Net.Tcp Port Sharing Service на Автоматический. Сделать это можно также командой PowerShell:

    Set-Service NetTcpPortSharing -StartupType Automatic

    Дополнительно, перед установкой роли Client Access, нам необходимо учесть требования раздела «Install the Exchange 2010 SP1 Hotfixes for Windows Server 2008 R2» онлайн документации и вручную скачать и установить обновления (которые не распространяются через WSUS), необходимые для корректного сосуществования с Exchange Server 2010 SP1:

    · KB982867 - WCF services that are hosted by computers together with a NLB fail in .NET Framework 3.5 SP1
    · KB979744 - A .NET Framework 2.0-based Multi-AppDomain application stops responding when you run the application
    ·
    KB983440 - An ASP.NET 2.0 hotfix rollup package is available for Windows 7 and for Windows Server 2008 R2
    ·
    KB977020 - FIX: An application that is based on the Microsoft .NET Framework 2.0 Service Pack 2 and that invokes a Web service call asynchronously throws an exception on a computer that is running Windows 7

    Скачаем по ссылкам указанным в KB пакеты исправления соответствующие нашей платформе – x64 и произведём их установку. После установки этих обновлений потребуется перезагрузка системы.

    clip_image027

    Без предварительной установки этих обновлений инсталлятор Exchange Server 2010 SP1 попросту не даст установить роль Client Access.


    Установка Exchange Server 2010 SP1

    Распаковываем ISO дистрибутив Exchange Server 2010 с интегрированным SP1 и запускаем Setup.exe в режиме Run as Administrator.

    Выбираем пункт 3 - Choose Exchange language option и указываем то, что для установки используем только языковые пакеты, входящие в состав дистрибутива

    image

    Затем выбираем пункт 4 - Install Microsoft Exchange

    Проходим шаги Introduction, License Agreement, Error Reporting и на шаге Installation Type выбираем Custom Exchange Server Installation, а так же на всякий случай отмечаем галку автоматической установки недостающих системных компонент:

    image

    На шаге выбора ролей отмечаем роли Client Access Role и Hub Transport Role

    image

    На следующем шаге нам будет предложено ввести FQDN имя нашего CA сервера (массива) опубликованное в Интернет. В моём случае точка публикации находится на другом сервере и поэтому я оставлю это значение пустым.

    image

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

    image

    Если проблемы не выявлены, можно запускать непосредственный процесс установки.

    image

    После окончания успешной установки необходимо будет произвести перезагрузку сервера.


    Установка последнего Rollup для Exchange Server 2010 SP1

    Информацию о текущих версиях Exchange Server можно найти по адресу - TechNet Wiki - Exchange Server and Update Rollups Builds Numbers

    На момент написания этой заметки, последним пакетом исправлений является - Update Rollup 2 for Exchange Server 2010 SP1 - 14.1.270.1 (12/9/2010) KB2425179

    Порядок установки последнего накопительного пакета обновлений описан в статье - TechNet Library - Install the Latest Update Rollup for Exchange 2010. Следуя его рекомендациям, для ускорения процесса установки, на время установки можно отключить проверку списков отзывов сертификатов в свойствах Internet Explorer (Открываем Internet Explorer и в меню Tools > Internet Options > Advanced > Security отключаем флажок Check for publisher’s certificate revocation).

    clip_image040

    Дополнительные сведения см. в статье 974445 базы знаний Майкрософт Создание образов NGEN занимает слишком много времени

    Для установки Rollup открываем командную строку в режиме Run as Administrator и запускаем из неё программу установки обновления, в нашем случае это файл Exchange2010-KB2425179-x64-en.msp, дожидаемся окончания установки и снова перезагружаем сервер, чтобы удостовериться в том, что все необходимые службы Exchange Server стартуют в штатном режиме.

    clip_image041


    Подготовка и привязка SAN сертификата

    Для корректной работы защищённого доступа к службам массива Client Access необходимо создать новый сертификат, так как FQDN, используемый для доступа в серверы Client Access в NLB кластере, не соответствует FQDN, заданному в поле общих имён или в поле альтернативных имён в SSL сертификате, который автоматически устанавливается на каждом сервере Client Access во время установки Exchange Server 2010. То есть нужно создать сертификат, в котором присутствуют несколько FQDN (сертификат с альтернативными именами объекта – SAN - Subject Alternative Name) – FQDN Client Access Array, FQDN каждого узла кластера NLB и служебные имена (такие как Autodiscover)

    Для создания запроса для нового SAN сертификата можно использовать Exchange Management Shell (командлет New-ExchangeCertificate):

    $RequestData = New-ExchangeCertificate -GenerateRequest -SubjectName "E = V.Pupkin@holding.com,CN = KOM-AD01-CA01.Holding.com,OU = KOMI,O = Holding Ltd.,L = Syktyvkar,S = Komi republic,C = RU" -DomainName kom-ad01-ca01.holding.com, kom-ad01-ht01.holding.com, kom-ad01-ht02.holding.com, autodiscover.holding.com, kom-ad01-ca01, kom-ad01-ht01, kom-ad01-ht02 -KeySize 1024 -PrivateKeyExportable $true

    Set-Content -path "C:TempCAS_SAN_Cert.req" -Value $RequestData

    Далее, на основании полученного файла запроса в локальном центре сертификации (если он настроен на поддержку сертификатов с Subject Alternative Name) можно получить сертификат.

    В нашем случае для отправки запроса и получения сертификата будет использоваться веб-узел локального центра сертификации Active Directory Certificate Services.

    На странице Advanced Certificate Request перейдём по ссылке “Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-encoded PKCS #7 file.” и скопируем содержимое сгенерированного ранее запроса

    clip_image042

    После того как размещённый запрос на сертификат обработан администратором центра сертификации, мы можем с этого же веб-узла локального центра сертификации Active Directory Certificate Services загрузить сертификат в формате «Base 64 encoded» по ссылке « View the status of a pending certificate request » а затем «Download certificate chain».

    image

    Теперь импортируем полученный сертификат, используя Exchange Management Shell с помощью командлета Import-ExchangeCertificate:

    Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path С:Temp CAS_SAN_Cert.p7b -Encoding byte -ReadCount 0))

    После импорта сертификата командлет вернёт нам Thumbprint, по которому можно будет проверить текущее состояние сертификата с точки зрения Exchange и его привязки к сервисам командлетом Get-ExchangeCertificate:

    Get-ExchangeCertificate -Thumbprint <thumbprint> | FL

    clip_image045

    В данный момент мы видим, что сертификат используется только службами IMAP и POP и нам нужно включить сертификат для остальных клиентских служб и SMTP. Для этого воспользуемся командлетом Enable-ExchangeCertificate:

    Enable-ExchangeCertificate –Thumbprint <thumbprint> -Services "IMAP, POP, IIS, SMTP"

    Теперь наш новый сертификат необходимо установить на втором узле NLB кластера (на сервере KOM-AD01-HT02). Для этого нужно произвести на сервере KOM-AD01-HT01 экспорт этого сертификата с закрытым ключом из хранилища Certificates /Local Computer/Personal. Сделать это можно через оснастку управления сертификатами.

    clip_image046

    в Certificate Export Wizard на странице Export Private Key выберите опцию Yes, export the private key

    image

    На странице Export File Format выберите Personal Information Exchange – PKCS #12 (.PFX) и поставьте отметку напротив Include all certificates in the certificates path if possible.

    image

    Затем введите пароль для защиты закрытого ключа, который мы в дальнейшем будем использовать для импорта сертификата на сервер KOM-AD01-HT02

    image

    Далее указываем имя файла и завершаем мастер экспорта сертификата. Полученный файл в формате PFX копируем на наш второй сервер (KOM-AD01-HT02) и, открыв на нём Exchange Management Shell, выполняем импорт сертификата с помощью командлета Import-ExchangeCertificate:

    clip_image053

    При этом появиться запрос на ввод учетных данных. В поле User name можно ввести любой текст, а в поле Password нужно ввести пароль, который мы ранее задали при экспорте сертификата в формате PFX. После того как сертификат успешно импортирован, как описывали ранее, выполняем привязку этого сертификата к службам Exchange на этом сервере:

    Enable-ExchangeCertificate –Thumbprint <thumbprint> -Services "IMAP, POP, IIS, SMTP"


    Создание массива Client Access Array (CAA)

    Теперь собираем сам массив Client Access Array. Для этой цели воспользуемся командлетом New-ClientAccessArray:

    New-ClientAccessArray -Fqdn KOM-AD01-CA01.holding.com -Site "MyMainSite" -Name "KOM-AD01-CA01.holding.com"

    Посмотреть свойства и проверить текущее состояние массива можно с помощью командлета Get-ClientAccessArray

    clip_image054


    Настройка Client Access URLs в массиве CAA

    Теперь для каждого сервера CAS в массиве CAA должны быть установлены URL обеспечивающие доступ к службам Exchange через NLB. То есть мы должны проверить следующие URL:

    · Autodiscover. Виртуальный каталог - /Autodiscover
    · Outlook Web Apps. Виртуальный каталог - /OWA
    · Exchange Control Panel. Виртуальный каталог - /ECP
    · Exchange Active Sync. Виртуальный каталог - /Microsoft-Server-ActiveSync
    · Offline Address Book. Виртуальный каталог - /OAB
    · Exchange Web Services. Виртуальный каталог - /EWS

    Итак, на каждом CAS сервере, входящем в ферму NLB (Массив CAA):


    1) Параметр AutoDiscoverServiceInternalUri должен быть установлен в значение CAA FQDN. Проверить это можно следующим скриптоблоком:

    $CASArrayName = "KOM-AD01-CA01.holding.com"

    $CAAObj = Get-ClientAccessArray | Where-Object {$_.Name -eq $CASArrayName}

    $CAAHosts = $CAAObj.Members

    Foreach ($CASHost in $CAAHosts)

    {

    Get-ClientAccessServer -Identity $CASHost.Name | FL Identity,AutoDiscoverServiceInternalUri

    }

    Результат должен быть примерно таким:

    clip_image055


    2) Для каждой веб-службы значение параметра InternalNLBBypassURL должно быть установлено в значение Server FQDN. Проверить это можно следующим скриптоблоком:

    $CASArrayName = "KOM-AD01-CA01.holding.com"

    $CAAObj = Get-ClientAccessArray | Where-Object {$_.Name -eq $CASArrayName}

    $CAAHosts = $CAAObj.Members | Select-Object Name

    Foreach ($CASHost in $CAAHosts)

    {

    Get-WebServicesVirtualDirectory -Server $CASHost.Name  | FL Identity, InternalNLBBypassUrl

    }

    Результат должен быть примерно таким:

    clip_image056


    3) Параметры InternalURL и ExternalURL для каждой веб-службы должны быть заданы в соответствии с таблицей:

    Виртуальный каталог

    InternalURL

    ExternalURL
    (AD Сайт с подключением к Интернету)

    ExternalURL
    (AD сайт без подключения к Интернету)

    /OWA

    NLB FQDN

    NLB FQDN (Внешнее имя)

    X

    /ECP

    NLB FQDN

    NLB FQDN (Внешнее имя)

    X

    /Microsoft-Server-ActiveSync

    NLB FQDN

    NLB FQDN (Внешнее имя)

    X

    /OAB

    NLB FQDN

    NLB FQDN (Внешнее имя)

    X

    /EWS

    NLB FQDN

    NLB FQDN (Внешнее имя)

    X

    Для быстрого получения информации о том, какие в текущий момент значения InternalURL и ExternalURL установлены на всех серверах массива CAA можно использовать скриптоблок:

    $CASArrayName = "KOM-AD01-CA01.holding.com"

    $CAAObj = Get-ClientAccessArray | Where {$_.Name -eq $CASArrayName}

    $CAAHosts = $CAAObj.Members | Select Name

    Foreach ($CASHost in $CAAHosts)

    {

    Write-Host $CASHost.Name "Client Access URLs:" -ForegroundColor Cyan

    Write-Host ""

    $UrlOWA = Get-OwaVirtualDirectory -Server $CASHost.Name

    Write-Host "OWA Internal:" $UrlOWA.InternalUrl

    Write-Host "OWA External:" $UrlOWA.ExternalUrl

    $UrlECP = Get-EcpVirtualDirectory -Server $CASHost.Name

    Write-Host "ECP Internal:" $UrlECP.InternalUrl

    Write-Host "ECP External:" $UrlECP.ExternalUrl

    $UrlASc = Get-ActiveSyncVirtualDirectory -Server $CASHost.Name

    Write-Host "ASc Internal:" $UrlASc.InternalUrl

    Write-Host "ASc External:" $UrlASc.ExternalUrl

    $UrlOAB = Get-OabVirtualDirectory -Server $CASHost.Name

    Write-Host "OAB Internal:" $UrlOAB.InternalUrl

    Write-Host "OAB External:" $UrlOAB.ExternalUrl

    $UrlWeb = Get-WebServicesVirtualDirectory -Server $CASHost.Name

    Write-Host "EWS Internal:" $UrlWeb.InternalUrl

    Write-Host "EWS External:" $UrlWeb.ExternalUrl

    Write-Host ""

    }

    Для того чтобы быстро установить все значения InternalURL в FQDN CAA воспользуемся скриптоблоком:

    $CASArrayName = "KOM-AD01-CA01.holding.com"

    $CAAObj = Get-ClientAccessArray | Where {$_.Name -eq $CASArrayName}

    $CAAFQDN = $CAAObj.Fqdn

    $CAAHosts = $CAAObj.Members | Select Name

    Foreach ($CASHost in $CAAHosts)

    {

    $OWADirObj = Get-OwaVirtualDirectory -Server $CASHost.Name

    Set-OwaVirtualDirectory -Identity $OWADirObj.Identity -InternalUrl "https://$CAAFQDN/owa"

    $ECPDirObj = Get-EcpVirtualDirectory -Server $CASHost.Name

    Set-EcpVirtualDirectory -Identity $ECPDirObj.Identity -InternalUrl "https://$CAAFQDN/ecp"

    $AScDirObj = Get-ActiveSyncVirtualDirectory -Server $CASHost.Name

    Set-ActiveSyncVirtualDirectory -Identity $AScDirObj.Identity -InternalUrl "https://$CAAFQDN/Microsoft-Server-ActiveSync"

    $OABDirObj = Get-OabVirtualDirectory -Server $CASHost.Name

    Set-OabVirtualDirectory -Identity $OABDirObj.Identity -InternalUrl "http://$CAAFQDN/OAB"

    $WebDirObj = Get-WebServicesVirtualDirectory -Server $CASHost.Name

    Set-WebServicesVirtualDirectory -Identity $WebDirObj.Identity -InternalUrl https://$CAAFQDN/EWS/Exchange.asmx

    }


    Подключение баз данных Exchange к CAA

    Если базы данных на серверах с ролью Mailbox создаются после создания массива CAA, то значение атрибута RpcClientAccessServer каждой БД должно быть задано как FQDN массива CAA. Проверить это можно с помощью команды:

    Get-MailboxDatabase | Format-List Name,RpcClientAccessserver

    clip_image057

    Если базы данных были созданы до настройки CAA, то значение атрибута RpcClientAccessServer будет иметь FQDN конкретного сервера с ролью Client Access. Переопределить это значение, указав FQDN массива CAA можно командой:

    Set-MailboxDatabase "MyDB" -RpcClientAccessServer "KOM-AD01-CA01.holding.com"


    Проверяем работоспособность Client Access Array

    Проверить работоспособность CAA можно, например, с помощью MS Outlook 2007/2010, служба Autodiscover должна разрешить имя сервера как FQDN массива. Откроем мастер добавления новой учетной записи в Outlook, утвердительно ответим на вопрос о настройке учетной записи электронной почты..

    clip_image058

    Дождёмся окончания процесса автоконфигурации..

    clip_image059

    После окончания работы мастера откроем в Outlook свойства созданного профиля учетной записи и проверим то, что подключение настроено на FQDN массива CAA

    image

    Обратите внимание на то, что при использовании клиентов Outlook 2003 может возникнуть проблема при подключении, если на серверах Exchange в службе RPC Client Access включено требование шифрования. Проверить текущее состояние этой настройки можно командой:

    Get-RpcClientAccess | Format-List Server,EncryptionRequired

    Дальше можно проверить возможность подключения к OWA с указанием всех вариантов имени CA/CAA в URL используемых при создании SAN сертификата и поочерёдно сымитировать отказ одного из серверов в NLB кластере, чтобы удостовериться в том, что сервисы клиентского доступа Exchange Server при этом остаются доступными.

    Дополнительная информация:

    TechNet Library - Exchange Server 2010 Library.
    Exchange Server TechCenter - White Paper: Understanding the Relative Costs of Client Access Server Workloads in Exchange Server 2010
    MSExchange.ru - Новая служба RPC Client Access Service в Exchange 2010
    Yannick Varloud Blog - Exchange Server 2010 : How to setup a Client Access Array

  • Exchange Server 2007 – Включение почтовых ящиков для списка пользователей из файла

    Для массового включения почтовых ящиков для уже существующих в домене пользователей приготовим *.CSV файл с разделителем – запятая. В первой строке файла будут описаны заголовки значений, в последующих строках – сами значения.

    В нашем примере в качестве используемых значений будут имя пользователя в домене в формате DOMAINUser и алиас для создаваемого почтового ящика к этому имени пользователя. В обычном текстовом редакторе файл будет выглядеть так:

    DomainUser,mailAlias
    MYDOMivanov-ip,I.Ivanov
    MYDOMpetrov-sa,S.Petrov
    MYDOMsidorov-dg,D.Sidorov

    Чтобы убедиться в том, что PowerShell  действительно может разобрать наш файл по значениям выполним команду:

    Import-CSV C:Users.csv

    Результат вывода должен быть таким:

    image

    Непосредственно для импорта содержимого файла и включения на основе этих данных почтовых ящиков выполним:

    $DBId =  'MailboxServerStorageGroupDataBase'

    Import-CSV C:Users.csv | ForEach-Object { Enable-Mailbox -Identity $_.DomainUser -Alias $_.mailAlias –Database $DBId } | Get-Mailbox | Select Alias,WindowsEmailAddress

     

  • Exchange Server 2007 – Просмотр статистики БД почтовых ящиков

    Для получения статистики об использовании почтовых ящиков пользователями организации в Exchange Server 2007 можно воспользоваться Exchange Management Shell и командлетами Get-MailboxDatabase и Get-MailboxStatistics.

    Для того чтобы получить сводную информацию о количестве почтовых ящиков в каждой базе данных и общему размеру каждой базы данных на определенном сервере в Exchange Management Shell выполним скрипт:

    $MailBoxServer = "MyMailBoxServer"

    Get-MailboxDatabase | Where-Object {$_.ServerName -eq $MailBoxServer} | Select @{Label="SG Name";Expression={$_.StorageGroupName}}, @{Label="DB Name";Expression={$_.Name}}, @{Label="Mailboxes";Expression={(Get-Mailbox -Database $_.Identity | Measure-Object).Count}} , @{Label="DB Size";Expression={"{0:N2}" -f ((get-mailboxstatistics -database $_.Identity | Measure-Object -Property TotalItemSize,TotalDeletedItemSize -Sum | Select-Object Sum | Measure-Object -Property Sum -Sum).Sum.ToString() /1024KB)}} | Sort -Property "DB Name" | Format-Table –AutoSize

    Для того чтобы получить информацию об использовании пространства почтовых ящиков в определенной базе данных (в мегабайтах) выполним скрипт:

    $FullDBIdentity = "MyMailBoxServerMyStorageGroupMyDataBase"

    Get-MailboxDatabase -Identity $FullDBIdentity | Get-MailboxStatistics | Sort -Property TotalItemSize | Select DisplayName,@{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}},ItemCount,StorageLimitStatus | Format-Table -AutoSize

     

    Если же нас интересует информация только о почтовых ящиках, у которых превышен лимит хранения почты, выполним скрипт:

    $FullDBIdentity = "MyMailBoxServerMyStorageGroupMyDataBase"

    Get-MailboxDatabase -Identity $FullDBIdentity | Get-MailboxStatistics | Where-Object {$_.StorageLimitStatus -ne "BelowLimit"} | Sort -Property TotalItemSize | Select DisplayName,@{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}},ItemCount,StorageLimitStatus | Format-Table –AutoSize

     

    Дополнительные источники информации:

    Exchange Server TechCenter - Get-MailboxDatabase: Exchange 2007
    Neil Hobson - Getting Mailbox Statistics in Exchange 2007
    Exchange Server Share Blog - Exchange 2007: Database Statistics in Powershell

    PowerShellCommunity Forums - Exchange Mailbox Database size

  • Exchange Server 2007 How-to: Настройка анонимной ретрансляции почты

    image Иногда для некоторых «не очень продвинутых» приложений типа всякого рода АРМ и т.п. требуется возможность анонимной отправки почты наружу с использованием протокола SMTP.

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

    • Создать Receive Connector с типом использования Custom;
    • Добавить группы разрешений «Анонимные» для созданного Receive Connector;
    • Назначить разрешения на ретрансляцию участнику безопасности «Анонимный вход» для созданного Receive Connector

    Открываем консоль Exchange Management Console:

    Переходим в Server Configuration > Hub Transport > Выбираем сервер HT > Receive Connectors
    Выбираем пункт меню ActionsNew Receive Connector

    image

    В открывшемся мастере создания нового коннектора указываем его имя и выбираем тип Custom

    image

    Далее указываем FQDN имя нашего HT-Сервера для которого мы создаем этот коннектор и номер порта. По умолчанию используется 25 порт, но мы при желании можем задать другой номер порта, при этом не стоит забывать, что если мы используем для SMTP подключений NLB кластер, то в нём должна быть включена поддержка соответствующего порта.

    image

    Далее мы указываем IP адрес хоста (или нескольких хостов) для которого мы хотим разрешить анонимную ретрансляцию почты. Значение по умолчанию 0.0.0.0-255.255.255.255 нужно удалить.

    image

    Далее, когда уже коннектор создан, открываем его свойства и если у нас нет необходимости (или нет возможности) в использовании TLS – на закладке Authentication отключаем его.

    image

    На закладке Permission Groups включаем опцию для анонимных пользователей.

    image

    Затем открываем Exchange Management Shell и выполняем командлет на нашем HT-сервере:

    Get-ReceiveConnector "ARM Anonymous Mail Relay" | Add-ADPermission -User "NT AUTHORITYANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

    image

    Опять же, если мы используем NLB кластер и хотим чтобы созданный коннектор работал на всех нодах кластера - нам необходимо проделать данную процедуру на каждом HT-сервере, который является членом NLB кластера.

    Источник
    Exchange Server TechCenter - How to Allow Anonymous Relay on a Receive Connector

  • Exchange Server 2007 How-to: Перемещение файлов групп хранения и баз данных в кластере CCR

    Иногда может потребоваться выполнить перемещение расположения файлов групп хранения (Storage Group) и/или файлов баз данных (Database) на сервере Exchange Server 2007 с ролью Mailbox Server. Если сервер не является нодой CCR кластера, то сделать это можно стандартным способом через UI консоли Exchange Management Console

    image

    Сделать это можно как через контекстное меню, так и через меню Actions. В общем то на некластеризованном сервере эта задача не представляет из себя ничего сложного. Однако если вы попытаетесь выполнить данное действие на одной из нод CCR кластера, вы получите информативное сообщение о том, что данная операция в стандартном режиме невозможна.

    image

    Для выполнения нашей задачи мы должны выполнить следующую последовательность действий:

    1) Остановить репликацию группы хранения. Сделать это можно в Exchange Management Console через меню Actions – Suspend Storage Group Copy или же в Exchange Management Shell командой:

    Suspend-StorageGroupCopy –Identity "CCRClusterStorageGroup" -SuspendComment "Moving files to new location" -Verbose

    2) Размонтировать нашу базу данных. Сделать это можно в Exchange Management Console через меню Actions – Dismount Database или же в Exchange Management Shell командой:

    Dismount-Database -Identity "CCRClusterStorageGroupDatabase" –Verbose

    3) На обеих нодах CCR кластера в ручную копируем файлы в новое расположение (разумеется на обеих нодах путь к файлам должен быть идентичным).

    4) Обновляем информацию о расположении файлов в Exchange Management Shell командой:
    для файлов базы данных:

    move-DatabasePath -Identity “CCRClusterStorageGroupDatabase” –ConfigurationOnly -EdbFilePath “R:NEW_DB_FOLDERDatabase.edb”

    для файлов группы хранения:

    move-StorageGroupPath -Identity “CCRClusterStorageGroup” -ConfigurationOnly -LogFolderPath “R:NEW_SG_FOLDER” -SystemFolderPath “R:NEW_SG_FOLDER”

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

    Get-StorageGroupCopyStatus

    Также обратите внимание на то, что если резервное копирование данных Exchange выполняется с помощью Data Protection Manager, то после перемещения файлов баз данных или групп хранения потребуется удалить старые сведения из Protection Group DPM и создать источник резервного копирования заново.

    Дополнительная информация:

    Exchange Server TechCenter - How to Move a Database in a CCR Environment
    Exchange Server TechCenter - How to Move a Storage Group and Its Database in a CCR Environment

  • Установка SP2 на CCR кластер Exchange Server 2007 SP1 в среде Windows Server 2008

    Рассмотрим установку пакета обновлений SP2 на кластерный экземпляр CCR Exchange Server 2007 SP1 под управлением ОС Windows Server 2008 x64 SP2.
    В моём примере в качестве нод кластера будут выступать два сервера с именами KOM-TCSO-CM01 и KOM-TCSO-CM02 (активная и пассивная ноды соответственно), имя CCR кластера - KOM-TCSO-MAIL

    Технически процесс установки SP2 на кластерный экземпляр CCR Exchange Server 2007 SP1 состоит из трёх основных этапов:

    • Обновление первого (пассивного) узла кластера;
    • Остановка CCR кластера, перемещение кластера на обновлённый узел и обновление самого кластера.
    • Обновление второго узла кластера

    Рассмотрим более подробно все три этапа.

    Этап #0. Подготовительные процедуры

    Перечисленные ниже процедуры рекомендуемы к выполнению на обоих узлах кластера непосредственно перед запуском программы установки SP2:

    • Останавливаем все службы, которые используют открытые дескрипторы счетчиков производительности.
      К общеизвестным службам, которые надо остановить, относятся служба журналов производительности и предупреждений (Performance Logs & Alerts), а также все агенты Microsoft Operations Manager (например System Center Management).
    • Останавливаем и затем запускаем заново службу удаленного реестра (Remote Registry).
    • В силу того что на запуск служб Exchange в некоторых ситуациях может уходить достаточно много времени и это может привести к ошибкам в процессе установки, рекомендуется увеличить системное значение таймаута запуска служб как минимум вдвое (по умолчанию это значение составляет 30 секунд).

      В системном реестре находим ветку  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
      Создаем в ней параметр DWORD с именем ServicesPipeTimeout и значением 60000 (Десятичное значение).

      Указанное значение параметра указывается в миллисекундах и влияет на запуск всех служб в ОС.
      Для вступления данного параметра в силу потребуется перезагрузка сервера.

      Источник: Microsoft KB824344 How to debug Windows services

    • Если сервер не имеет прямого подключения к интернету, необходимо на время процесса установки в свойствах обозревателя IE выключить параметр «Проверять аннулирование сертификатов издателей».

      Дело в том что, при установке пакета обновления Exchange пытается подключиться к веб-сайту со списком отзыва сертификатов. Проблемы возникают из-за того, что Exchange пытается проанализировать список отзыва сертификатов для проверки сертификата подписи кода при каждой компиляции сборки в управляемый код. Чтобы обойти эту проблему и сократить время установки, отключите параметр Проверять аннулирование сертификатов издателей на обновляемом сервере. Для этого выполните описанные ниже действия

      1. Запустите Internet Explorer.
      2. В меню Сервис выберите пункт Свойства обозревателя.
      3. Откройте вкладку Дополнительно и перейдите в раздел Безопасность.
      4. Снимите флажок Проверять аннулирование сертификатов издателей и нажмите кнопку ОК.
      5. После завершения установки накопительного пакета обновления установите флажок Проверять аннулирование сертификатов издателей

    image
    Дополнительные сведения см. в статье 974445 базы знаний Майкрософт Создание образов NGEN занимает слишком много времени


    Этап #1. Обновление первого (пассивного) узла кластера

    Для начала в консоли Exchange Management Console откроем свойства нашего CCR кластера и убедимся, что он находится в состоянии Online, и пассивной нодой в кластере на данный момент является сервер KOM-TCSO-CM02

    image

    Теперь выполним первый этап обновления – обновление пассивного узла кластера на сервере KOM-TCSO-CM02.
    Для этого распакуем дистрибутив SP2, откроем командную строку с правами администратора и запустим команду установки:

    setup.com /mode:upgrade

    image

    После завершения процесса установки выполняем перезагрузку сервера.

    В некоторых случаях в конце процесса конфигурирования на этапе Finalizing Setup может возникнуть ошибка запуска службы MSExhangeMailSubmission. Но после перезагрузки сервера эта служба, как правило, успешно стартует. Одной из возможных причин проблем запуска служб, как я уже сказал, может стать маленький таймаут ожидания системы.

    Этап #2. Обновление кластера.

    После перезагрузки заходим на обновленную пассивную ноду (KOM-TCSO-CM02) и снова проделываем подготовительные процедуры перед очередным запуском программы установки. Затем открываем консоль Exchange Management Shell и выполняем команду по остановке нашего CCR кластера (на этом этапе пользователи потеряют подключение к нашему серверу):

    Stop-ClusteredMailboxServer KOM-TCSO-MAIL -StopReasonSP2 Install

    image

    Далее выполним команду перемещения кластера CCR на обновлённую пассивную ноду (KOM-TCSO-CM02):

    Move-ClusteredMailboxServer KOM-TCSO-MAIL -TargetMachine KOM-TCSO-CM02 -MoveCommentSP2 Install

    image

    Далее из командной строки запустим процедуру обновления кластера CCR:

    setup.com /upgradecms

    image

    С этого момента наш обновленный кластер запущен и снова принимает подключения клиентов работая на обновленной ноде.
    Для того чтобы в этом убедиться, мы можем например открыть консоль Exchange Management Console и посмотреть свойства нашего кластера.
    Как мы можем видеть, версия кластера изменилась на новую и теперь соответствует версии SP2.

    image

    Теперь можно перейти к окончательному этапу – обновлению второго узла кластера.
    Не забываем вернуть в работающее состояние службы, остановленные на этапе подготовительных процедур (клиентов MOM, SCOM и т.п.)

    Этап #3. Обновление второго узла кластера

    Заходим на второй узел кластера (KOM-TCSO-HT01) и выполняем подготовительные процедуры, описанные ранее.
    Далее мы должны обеспечить полное перемещение всех кластерных ресурсов Windows Failover Cluster на уже обновленный узел. Делаем это с помощью CLI-утилиты cluster.exe. Сначала получим список всех кластерных групп:

    cluster group

    затем последовательно выполним перенос каждой кластерной группы на обновленную ноду:

    cluster group <GroupName> /move

    Выглядеть это будет примерно так:

    image

    Теперь все кластерные ресурсы расположены на первой обновленной ноде (KOM-TCSO-CM02) и мы можем запустить программу установки SP2 на необновленной ноде (KOM-TCSO-CM01):

    setup.com /mode:upgrade

    image

    После этого перезагружаем сервер и проверяем работоспособность всех служб Exchange.
    На этом установку SP2 в на CCR кластер Exchange Server 2007 можно считать оконченной.

    Официальное описание процесса обновления можно найти на сайте TechNet Microsoft:
    на русском языке - http://technet.microsoft.com/ru-ru/library/bb676320(EXCHG.80).aspx
    на английском языке - http://technet.microsoft.com/en-us/library/bb676320(EXCHG.80).aspx

    Загрузка SP2 для Exchange Server 2007 доступна по ссылке: Exchange Server 2007 Service Pack 2

  • Установка CCR кластера Microsoft Exchange Server 2007 SP1 на базе Windows Server 2008 SP2

    Для установки кластера CCR необходимо чтобы на обоих узлах отказоустойчивого кластера была установлена ОС Windows Server 2008 Enterprise SP2 x64 и присутствовали все системные обновления, вышедшие после выхода SP2 для Windows Server 2008 (предпочтительно обновление через службу WSUS).
    Оба сервера, которые будут выступать у нас в качестве нод кластера, должны быть оснащены двумя сетевыми интерфейсами (один для подключений к локальной сети, второй для обеспечения работы кластера). Присвоим на обоих серверах сетевым интерфейсам соответствующие наименования.

    image

    После присвоения имен необходимо изменить порядок использования сетевых интерфейсов. Для этого выбираем Advanced >Advanced Settings

    image

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

    image

    Далее производим настройку сетевых интерфейсов (идентично на обоих серверах):

    · Отключаем использование IPv6 на обоих сетевых интерфейсах (в силу того что нами этот протокол на текущий момент не этот протокол используется);
    · Отключаем на кластерном сетевом интерфейсе (NIC2 - Cluster) использование
    Client for Microsoft Networks
    File and Printer Sharing for Microsoft Networks
    Link-Layer Topology Discovery Mapper I/O Driver
    Link-Layer Topology Discovery Responder

    В конечном итоге мы должны получить такую вот картину:

     image image

    Далее мы конфигурируем настройки IPv4 в свойствах сетевых интерфейсов.
    Для интерфейса публичной сети (NIC1 – Public) задаем следующие параметры:
    - статический IP адрес нашей сети (например, 10.161.0.20 на первом сервере и 10.161.0.21 на втором сервере);
    - маску сети (например, 255.255.255.0 на обоих серверах);
    - IP адрес шлюза по умолчанию (например, 10.161.0.1 на обоих серверах);
    - IP адреса DNS серверов (например, 10.161.0.10 и 10.161.0.9 на обоих серверах);
    - Проверяем наличие признака динамической регистрации имени в DNS (Закладка DNS, параметр «Register this connection`s addresses in DNS» – включен)

    Для кластерного сетевого интерфейса (NIC2 - Cluster) задаем следующие параметры:
    - статический IP адрес внутренней кластерной сети (например, 192.168.254.254 на первом сервере и 192.168.254.253 на втором сервере);
    (важно чтобы IP адреса кластерной сети не пересекались с адресами нашей публичной серверной сети)
    - маску сети (например 255.255.255.0 на обоих серверах);
    - IP адрес шлюза по умолчанию не указываем на обоих серверах;
    - IP адреса DNS серверов не указываем на обоих серверах;
    - Проверяем то, что признак динамической регистрации имени в DNS выключен (Закладка DNS, параметр «Register this connection`s addresses in DNS» – выключен)

    Установка необходимых компонент Windows Server 2008
    Кластерный почтовый сервер на базе Windows Server 2008 требует следующих ролей и функций на каждом кластерном узле:

    • Web Server (IIS)
    • PowerShell
    • Fail-Over Clustering

    Для ускорения процесса установки необходимых компонент, воспользуемся утилитой ServerManagerCMD.exe, входящей в состав операционной системы. Открыв командную строку с правами администратора выполним следующую последовательность команд:

    ServerManagerCmd -i PowerShell
    ServerManagerCmd -i Failover-Clustering
    ServerManagerCmd -i Web-Server
    ServerManagerCmd -i Web-ISAPI-Ext
    ServerManagerCmd -i Web-Metabase
    ServerManagerCmd -i Web-Lgcy-Mgmt-Console
    ServerManagerCmd -i Web-Basic-Auth
    ServerManagerCmd -i Web-Windows-Auth

    После установки необходимых компонент, выполним перезагрузку сервера.

    Создание кластера Windows Server 2008

    Для создания кластера мы воспользуемся оснасткой Failover Cluster Management (Панель управления > Administrative Tools).
    В консоли Failover Cluster Management вызываем мастер создания нового кластера (Меню Action > Create a Cluster…)

    image

    В открывшемся окне мастера создания нового отказоустойчивого кластера ознакамливаемся с представленной нам справочной информацией и переходим далее

    image

    Вводим доменные имена серверов, которые будут выступать у нас в качестве узлов кластера

    image

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

    image

    По нажатию кнопки Next поверх мастера установки кластера откроется мастер проверки конфигурации…

    image

    Ознакомимся с представленной нам информацией и на следующем шаге на экране Testing Options выберем рекомендуемую опцию проведения всех тестов.

    image

    Подтверждаем параметры тестирования

    image

    После прохождения этапов тестирования открывается страница результатов.

    image

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

    image

    Как видно отчета мастеру проверки не понравилась наша дисковая подсистема. Например, он не увидел дисков, которые можно использовать для конфигураций кластеров с общим дисковым массивом. Но так как мы собираемся строить кластер Exchange Server 2007 CCR, мы можем проигнорировать данные предупреждения и завершить работу мастера проверки. После этого мы снова вернёмся в мастер создания кластера и сразу попадём на экран, в котором нужно ввести имя кластера Windows Server 2008 и его IP адрес. Нужно учесть, что здесь задается не то имя, которое будет использоваться для подключения клиентов Exchange, а то которое необходимо для самого кластерного экземпляра Windows Server 2008, на который мы в последствии будем устанавливать сам кластерный экземпляр Exchange Server 2007.

    image

    Далее мастер делает проверку доступности имени в AD и если всё в порядке, предлагает нам начать процесс создания нового кластера

    image

    После того как мастер выполнит все необходимые действия по созданию и конфигурированию кластера будет открыт экран с отчетом о проделанных операциях.

    image

    Все, кластер установлен и теперь можно приступить к этапу конфигурирования кластерных ресурсов.

    Настройка кластерных сетей

    После того как экземпляр кластера создан, нам нужно настроить кластерные сети, чтобы один сетевой интерфейс использовался для клиентских подключений, а второй был ограничен исключительно для использования межузлового кластерного обмена. Откроем страницу свойств кластерного интерфейса публичной сети (Cluster Network 1).

    image

    Изменим имя кластерной сети с «Cluster Network 1» на «Public network».
    Выберем опции «Allow the cluster to use this network» и «Allow clients to connect through this network».
    То есть на данный кластерный интерфейс у нас будут разрешены запросы клиентов из сети.

    image

    Затем изменим имя кластерной сети с «Cluster Network 2» на «Private network» и проверим, чтобы была выбрана опция «Allow the cluster to use this network» , а опция «Allow clients to connect through this network» была выключена. Таким образом, мы заставим кластер использовать данную кластерную сеть только в целях межузлового обмена.

    image

    Настройка кворума File Share Majority

    Теперь необходимо настроить кворумный ресурс кластера, то есть создать файловый ресурс на отдельном сервере (в нашем случае файловый ресурс располагается на сервере Hub-Transport в том же сайте AD, в котором расположены узлы кластера). Для этого залогинимся на выбранный сервер с ролью Hub-Transport (в нашем случае это сервер с именем HT01), и в корне диска C создадим новый каталог командой:

    MKDIR FSM_DIR_<имяCCRкластера>

    Где <имяCCRкластера> – это имя, которое вы собираетесь использовать для кластерного почтового сервера.
    Например, в нашем случае имя создаваемого каталога будет FSM_DIR_MAIL

    Далее разрешим совместное использование папки, которую вы только что создали, путем ввода следующей команды:

    NET SHARE FSM_<имяCCRкластера>=C:FSM_DIR_<имяCCRкластера> /GRANT:everyone,FULL

    Например, в нашем случае команда будет выглядеть так
    NET SHARE FSM_MAIL=C:FSM_DIR_MAIL /GRANT:everyone,FULL

    Затем настраиваем разрешения файловой системы на данный каталог с помощью команды:

    CACLS C:FSM_DIR_<имяCCRкластера> /G BUILTINAdministrators:F <имяWindowsкластера>$:F

    Например, в нашем случае команда будет выглядеть так
    CACLS C:FSM_DIR_MAIL /G BUILTINAdministrators:F MAILCL$:F

    Таким образом, мы создали сетевой каталог для кворумного ресурса кластера и дали на него полные права встроенной группе администраторов сервера с ролью Hub-Transport HT01 и учетной записи кластера MAILCL, созданной в домене после его создания.

    Далее необходимо настроить кластера так, чтобы он ссылался на ресурс, который мы только что создали и использовал его в качестве своего кворумного ресурса. Для этого открываем оснастку Failover Cluster Management на одном из узлов кластера, устанавливаем курсор на имя нашего кластера, выбираем «More action» в меню Actions, а затем выбираем опцию «Configure Cluster Quorum Settings…»

    image

    Откроется мастер настройки кворума. Ознакомимся с представленными сведениями и жмем «Next».

    image

    На странице выбора конфигурации кворума выбираем опцию «Node and File Share Majority»

    image

    В качестве кворумного ресурса-«свидетеля» указываем созданную нами ранее сетевую папку на сервере HT01

    image

    Мастер конфигурации кворума проверяет доступность сетевого ресурса, просит подтвердить наши намерения и завершает конфигурацию.

    image


    Проверка конфигурации кластера

    Теперь при открытии оснастки Failover Cluster Management мы видим что наш кластер обладает ресурсами Имя кластера, IP и сетевой ресурс – «свидетель» кворума.

    image

    Настало время проверить конфигурацию нашего кластера. Для этого в консоли Failover Cluster Management установим курсор в корень дерева консоли и выберем в меню Action пункт «Validate a Configuration…»

    image

    Откроется уже знакомый нам мастер проверки конфигурации кластера. Укажем ему в качестве объекта проверки оба сервера входящих в наш кластер и запустим процедуру проверки. После чего внимательно изучим получившийся отчет на предмет возможных проблем. Если никаких серьезных проблем не обнаружено, можно считать работу с консолью Failover Cluster Management законченной.

    Установка роли активного кластерного почтового сервера на первом узле кластера.

    Запустите программу установки Exchange Server 2007 SP1. Примите условия лицензионного соглашения и укажите, хотите ли вы активировать отчеты об ошибках или нет.
    На странице «Installation Type» выберите опцию Custom Exchange Server Installation.

    image

    Далее сделайте выбор роли Active Clustered Mailbox Role.

    image

    На странице параметров установки кластера выберите опцию «Cluster continuous replication», затем введите имя, которые вы хотите назначить вашему CMS (это имя будут использовать ваши клиенты Outlook для подключения к CMS). Путь для хранения БД почтовых ящиков будет индивидуальным для каждого сервера и может быть изменен после установки.

    image

    Далее укажите IP адрес, который будет использоваться кластерным экземпляром Exchange Server 2007.

    image

    Далее программа установки выполнит ряд проверок готовности к установке, и если проблем не возникнет, нажимаем Install, чтобы начать процесс установки активного узла CCR кластера Exchange Server 2007.

    image

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

    image

    Установка роли пассивного кластерного сервера почтовых ящиков на втором узле кластера

    Запустите программу установки Exchange Server 2007 SP1. Примите условия лицензионного соглашения и укажите, хотите ли вы активировать отчеты об ошибках или нет.
    На странице «Installation Type» выберите опцию Custom Exchange Server Installation.
    На странице «Server Role Selection» сделайте выбор роли Passive Clustered Mailbox Role.

    image

    Снова будет запущен процесс проверки готовности. По завершении этого процесса нажмите Install.
    В моём случае процедура установки завершилась вот с такой вот ошибкой:

    image

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

    image

    Далее, как и ранее на странице «Server Role Selection» я сделал выбор роли Passive Clustered Mailbox Role и запустил процесс.

    image

    На этот раз всё завершилось успешно и после финальной перезагрузки сервера мы получили работающий пассивный узел в кластере CCR Exchange Server 2007 SP1.