Апгрейд на R2 сервера Windows 2012 с проинсталлированными на нём Exchange 2013, DirSync, ADFS 2.1
В моей тестовой лаборатории есть небольшая on-premise инфраструктура:
Сервер |
Основные сервисы |
Операционка |
DC |
DC, DNS |
Win2K8 ENT R2 SP1 |
ES13 |
ES2013 CU2, DIRSYNC, ADFS 2.1 |
Win2012 DC |
TMG |
TMG |
Win2K8 ENT R2 SP1 |
Решил я проапгрейдить Win2012 до R2 и посмотреть, будут ли дальше работать установленные на нём сервисы и что для этого нужно будет подкрутить.
Без особой подготовки стартовал апгрейд ОС.
Инсталлятор запросил скачать апдейт самого себя, я согласился:
Сетап предупредил о возможных несовместимостях:
Я это сообщение проигнорировал и запустил основную фазу апгрейда.
В процессе сервер несколько раз перезагружался. Никаких дополнительных вопросов не задавал. В целом апгрейд занял около 1 часа 20 минут.
По его окончании я выяснил, что:
- Все сервисы Exchange 2013 стартовали нормально
- Dirsync не работал
- ADFS не работал
Настройка Dirsync
Сперва я решил починить Dirsync. В недрах Интернета вычитал, что требуется переинсталлировать его заново. Что я и сделал:
- Запустил «c:\program files\windows azure active directory sync\synchronizationservice.msi» чтобы удалить службу синхронизации Dirsync
- Запустил «c:\program files\windows azure active directory sync\uninstalldirectorysync.exe» для удаления Dirsync как такового
- Загрузил последнюю версию Dirsync с портала O365 и проинсталлировал её
- Запустил мастер настройки
- Проверил что Dirsync отработал корректно
Настройка ADFS
Вторым номером я взялся за починку ADFS. Соответствующая серверная роль была проинсталлирована но не настроена. Консоль ADFS показывала пустоту и намекала куда пойти для конфигурирования:
Я открыл Server Manager:
И стартовал мастер настройки:
Очень важно, чтобы имя в поле Federation service name отличалось от имени сервера ADFS. В противном случае вы получите такую ошибку в самом конце:
Это ведёт к задваиванию SPN, и невозможности аутентификации с использованием протокола Kerberos. Исправить эту ошибку потом будет гораздо сложнее, чем уберечься от неё в начале.
На страничке Specify Service Account можно выбрать две опции: либо по старинке назначить учётную запись для управления сервисом, либо – только если в домене есть контроллер под управлением Win2012 – создать Group Managed Service Account. Во втором случае обещано автоматическое управление паролями и создание правильных SPN-записей.
Далее задаём использовать WID или SQL DB.
В моём случае старые базы WID не были удалены. Система не смогла их правильно идентифицировать и процедура инициализации завершилась с ошибкой:
Я отправился в папку “C:\Windows\WID\Data” и переименовал (на всякий случай) старые базы, добавив им расширение .old:
- AdfsArtifactStore.mdf и соответствующий лог
- AdfsConfiguration.mdf и соответствующий лог
Наши разработчики не предлагают нам лёгких путей. Если в процессе выполнения настройщика произошла ошибка, приходится начинать визард с самого начала. Это с моей точки зрения плохо. Но вы, будучи подготовлены моим опытом, сможете минимизировать количество фальстартов
После того как настройщик отработал, я немедленно создал соответствующие записи типа А в DNS (внутреннем и внешнем) для имени хоста Federation Service name. В Интернете рекомендуют именно А, а не CNAME. Завязал я эту запись на IP-адрес сервера STS, понятное дело.
Потом я решил проинсталлировать последнюю версию MSOL Powershell add-in. Чтобы это сделать, старую требуется сначала удалить.
Так как фактически мы имеем новую конфигурацию ADFS, нужно подключиться к MSOL Service и проапдейтить relying party trust:
Теперь самое время внести правки в публикацию ADFS. Нужно разрешить публикацию на имя хоста Federation Service.
Проверка показала, что всё работает отлично!
Однако у меня не получилось проверить доступ по тестовому URL: https://fs.аpеstr.infо/аdfs/ls/IdpInitiatedSignоn.аspx
Почему-то всё время была вот эта ошибка:
В то время как работа по аутентификации в продуктиве шла без ошибок.
Но через некоторое время она исчезла.
Exchange 2013 issues
Вообще, Exchange 2013 будет официально поддерживаться на Windows 2012 R2 после выхода ES2013 SP1. Но фактически он работает и сейчас. Однако не без косяков. Один из них я словил. При перезагрузке сервера почтовые базы демонтируются некорректно и остаются в состоянии Dirty Shutdown:
И их приходится восстанавливать:
После восстановления они монтируются автоматически сами.
UPDATE
Вы спросите - а как же быть если на старом ADFS-сервере были сделаны кастомизированные настройки? Описанный сценарий не предполагает их экспорта-импорта! И будете правы. Если нужно сохранить и потом восстановить кастомизированную конфигурацию ADFS, то Вам сюда. Все подробности касательно миграции ADFS (и прокси тоже).