• Установка обновлений на Exchange Server 2013/2016 в DAG

    Exchange Server 2013-2016 DAG Maintenance Mode ScriptsВыпущены долгожданные обновления для почтовых серверов Exchange. Обновления весьма существенные, поэтому настоятельно советую ознакомиться с перечнем изменений. Команда Exchange отказалась от сервис паков и сейчас концепция такова, что накопительные обновления выходят каждый квартал и могут содержать в себе как исправления багов, дыр в безопасности,  так и новый функционал продукта. Но сегодня я хотел бы поговорить не об этом, а о процедуре установки обновлений на серверах Exchange Server 2013/2016.

    Читать далее...

  • Миграция с Exchange Server 2003 на Exchange Server 2013. Часть 3. Обновление до уровня Exchange Server 2013

    imageКак мы помним из прошлой части, в нашей почтовой организации осталось только 2 сервера Exchange Server 2010. Один сервер клиентского доступа - в сети периметра, и один сервер - в локальной сети. Приступим к планированию и установке Exchange Server 2013. У нас будет два сервера объединенные в DAG. Внутри сети подключения будут балансироваться с помощью DNS, вешние подключения будут балансироваться с помощью двух серверов IIS ARR объединенных в NLB кластер, ими же будут публиковаться сервисы Exchange. Читать далее...

  • Запрос авторизации Outlook при переключении БД Exchange или перезагрузке ноды NLB

    imageБыло замечено, что при выполнении процедуры переключения активной копии БД Exchange Server 2010 в группе DAG с одного сервера на другой (Database Switchover), а так же при проверке механизма аварийного переключения (Database Failover) на клиентах Outlook 2007/2010 происходит кратковременный разрыв соединения с сервером Exchange, сопровождаемый появлением окна авторизации для ввода имени пользователя и пароля. При этом, если без ввода учетных данных просто перезапустить Outlook, - соединение успешно восстанавливается. После проведения изыскательных мероприятий выяснилось то, что клиент Outlook в момент кратковременной потери MAPI (RPC) соединения c активным экземпляром БД Exchange пытается использовать альтернативный метод доступа – RPC over HTTP, то есть пытается использовать встроенный механизм мобильного клиента Outlook Anywhere. И в нашем случае это происходит из-за того, что на стороне серверов клиентского доступа компонента Outlook Anywhere настроена на использование Basic Authentication.

    Одним из методов решения данной проблемы может быть отключение использования встроенного механизма Outlook Anywhere в клиентах Outlook, включённого по умолчанию. Для этого в Outlook откроем свойства учетной записи > «Другие настройки» > перейдём на закладку «Подключение» и отключим флажок «Подключение к Microsoft Exchange по протоколу HTTP»:

    image

    Если стоит задача отключить данный механизм массово на всех клиентах, то можно это выполнить, например, с помощью доменных групповых политик – GPO. При попытке использовать ADMX шаблоны групповых политик в домене Windows Server 2008/2008 R2 имеющихся в комплекте с MS Office 2007/2010 вы можете убедиться в том, что они не имеют параметров для настройки мобильного клиента Outlook.
    В базе знаний Microsoft можно найти две статьи описывающие проблему невозможности настройки параметров мобильного клиента Outlook c помощью стандартных шаблонов GPO:

    В этих статьях нам доступны для загрузки шаблоны GPO в уже устаревшем формате – *.adm. Мы можем воспользоваться средством ADMX Migrator для того чтобы сконвертировать полученные ADM файлы в формат ADMX.

    После конвертации из каждого файла *.adm мы получим по два файла – *.admx (шаблон GPO) и *.adml (файл языкового описания для шаблона GPO).
    Зададим полученным файлам соответствующие имена:

    • Для Outlook 2007: outlk12_961112.admx и outlk12_961112.adml
    • Для Outlook 2010: outlk14_2426686.admx и outlk14_2426686.adml

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

    В файле outlk12_961112.adml строку, описывающую отображаемое имя раздела GPO:

    <string id="L_MicrosoftOfficeOutlook12-Article961112">Article 961112 Policy Settings</string>

    заменим на строку:

    <string id="L_MicrosoftOfficeOutlook12-Article961112">Microsoft Office Outlook 2007 KB961112</string>

    В файле outlk14_2426686.adml строку, описывающую отображаемое имя раздела GPO:

    <string id="L_MicrosoftOfficeOutlook">Microsoft Outlook 2010</string>

    заменим на строку:

    <string id="L_MicrosoftOfficeOutlook">Microsoft Outlook 2010 KB2426686</string>

    Скопируем полученные в результате шаблоны outlk12_961112.admx и outlk14_2426686.admx в каталог центрального доменного хранилища шаблонов GPO - \domain.com\SYSVOL\domain.com\Policies\PolicyDefinitions
    Языковые файлы outlk12_961112.adml и outlk14_2426686.adml скопируем в это же размещение в подкаталог en-us.

    После этого, при работе с оснасткой редактирования доменных групповых политик Group Policy Management Editor (gpmc.msc) у нас появится возможность задавать соответствующие параметры:

    image

    Для того чтобы полностью отключить попытки Outlook использовать протокол HTTP, параметр RPC/HTTP Connection Flags должен быть включён и его значение должно быть установлено в No Flags:

    image

    После вступления в силу данного параметра GPO, для всех клиентских профилей будет добавлено соответствующее значение в куст реестра HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\12.0\Outlook\RPC (для Outlook 2007) или HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Outlook\RPC (для Outlook 2010):

    image

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

    image

    В развитие темы запросов авторизации Outlook можно также отметить то, что из практики замечено то, что в некоторых случаях перезагрузка одной из нод NLB кластера, обслуживающего массив Client Access Array, так же может порождать подобную проблему. Поэтому в случае если в рабочее время нам потребуется выполнить обслуживание серверов Client Access входящих в NLB кластер с необходимостью их перезагрузки, - перед выполнением перезагрузки в оснастке Network Load Balancing Manager соответствующий сервер желательно перевести в режим DRAINSTOP

    image

    При этом после перезагрузки нода NLB будет автоматически включаться в работу кластера если в оснастке NLB Manager в свойствах этого хоста значение параметра Default state установлено в Starded:

    image

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

    Обновление 20.02.2018

    По просьбам трудящихся, у которых не получается самостоятельно сконвертировать ADM шаблоны, добавляю ссылку на готовые файлы: KB961112 & KB2426686 ADMX

  • DPM 2010 - Резервное копирование БД Exchange Server 2010 в группе DAG

    imageРассмотрим использование DPM 2010 в качестве системы резервного копирования баз данных роли Mailbox Exchange Server 2010 на конкретном примере. В качестве исходных данных будем считать, что мы имеем два сервера Exchange Server 2010 с ролью Mailbox объединённых в группу Database Availability Group (DAG), на которых расположено шесть баз данных почтовых ящиков. Параллельно поставим перед собой задачу распределить нагрузку по двум серверам Mailbox. Читать далее...

  • 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, сымитировав отказ сервера являющегося носителем активных копий БД.

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