Обновление кластера DAG
Для обновления кластера DAG в простом случае - можно передать базы на другой другой сервер (выбрав опцию activate в разделе databases в ECP). Однако, лучше выполнить поочередную подготовку серверов через штатную процедуру, описанную в документации MS.
Перевод сервера в режим maintenance
1. Очищаем транспортную очередь
Set-ServerComponentState MX1 -Component HubTransport -State Draining -Requester Maintenance
2. Инициируем drain транспортной очереди перезапуском службы
Restart-Service MSExchangeTransport
3. Перемещаемся в папку встроенных скриптов MS-Exchange
CD $ExScripts
4. Запускаем скрипт перевода сервера в режим технического обслуживания. Данный скрипт переместит базы на другой сервер, а также запретит запуск критичных для кластера ролей на сервере, перевод которого в режим технического обслуживания предполагается.
.\StartDagServerMaintenance.ps1 -ServerName MX1 -MoveComment Maintenance -PauseClusterNode
5. Переводим сообщения, которые есть в очереди на другой сервер, используя его FQDN
Redirect-Message -Server MX1 -Target MX2.domain.ru
6. Переводим основные функции сервера в режим технического обслуживания
Set-ServerComponentState MX1 -Component ServerWideOffline -State Inactive -Requester Maintenance
Проверка режима maintenance
1. Смотрим, что все основные компоненты (кроме Monitoring и RecoveryActionsEnabled) остановлены.
Get-ServerComponentState MX1 | Format-Table Component,State -Autosize
2. Смотрим, что сервер не хостит активные БД.
Get-MailboxServer MX1 | Format-List DatabaseCopyAutoActivationPolicy
3. Проверяем, что кластер находится в состоянии paused.
Get-ClusterNode MX1 | Format-List
4. Проверяем, что все сообщения покинули очередь.
Get-Queue
Теперь можно производить работы с сервером - устанавливать обновления, перезагружать и т.д.
Перевод сервера в обычный режим
После проведения технических работ нужно вернуть сервер в обычный режим.
1. Сообщаем серверу, что можно принимать клиентские подключения.
Set-ServerComponentState MX1 -Component ServerWideOffline -State Active -Requester Maintenance
2. Перемещаемся в папку встроенных скриптов.
CD $ExScripts
3. Останавливаем режим обслуживания, который мы прежде запустили скриптом StartDagServerMaintenance.ps1.
.\StopDagServerMaintenance.ps1 -serverName MX1
4. Сообщаем транспортным очередям, что они могут принимать сообщения
Set-ServerComponentState MX1 -Component HubTransport -State Active -Requester Maintenance
5. Триггерим возобновление транспортной активности перезапуском службы
Restart-Service MSExchangeTransport
6. Проверяем, что сервер вышел из режима технического обслуживания
Get-ServerComponentState mx1 | Format-Table Component,State -Autosize
7. Если с какими-то компонентами есть проблемы - их можно запустить отдельно. Примеры:
Set-ServerComponentState MX1 -Component ServerWideOffline -State Active -Requester Functional Set-ServerComponentState MX1 -Component Monitoring -State Active -Requester Functional Set-ServerComponentState MX1 -Component RecoveryActionsEnabled -State Active -Requester Functional
Чтобы обновить другой сервер - повторяем операции, описанные в инструкции.