В этой статье рассмотрим, как правильно перевести хост Exchange Server 2019/2016 в режим обслуживания. Сервер группы высокой доступности (Database Availability Group, DAG) Exchange нужно перевести в режим обслуживания (maintenance mode), если вы планируете установить обновления на хосте Exchange (обновления Windows или Exchange CU) или выполнить обслуживание аппаратной платформы сервера. При переводе сервера в maintenance mode нужно перенести активные базы с сервера, и переключить очередь на другие сервера.
В Exchange Server есть два встроенных PowerShell скрипта, связанных с режимом обслуживания:
Эти скрипты находятся в каталоге установки Exchange в папке Scripts (CD $ExScripts). Используется следующий синтаксис этих скриптов:
.StartDagServerMaintenance.ps1 -ServerName <ServerName> -MoveComment Maintenance -PauseClusterNode
.StopDagServerMaintenance.ps1 -serverName <ServerName>
Эти скрипты помогают автоматизировать часть операций. Но в большинстве случаев администраторы Exchange предпочитают выполнять все действия по переводу сервера в режим обслуживания вручную.
Ниже рассмотрен пример готового PowerShell скрипта, который можно использовать для перевода Exchange в режим обслуживания. Команды нужно выполнять на компьютере с установленным Exchange Management Shell и модулем RSAT-Clustering:
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
Import-Module FailoverClusters
Либо вы можете удаленно подключиться к Exchange серверу с помощью PowerShell :
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://msk-mbx1.remontka.com/PowerShell/ -Authentication Kerberos -Credential (Get-Credential)
Import-PSSession $Session
Задайте имена серверов Exchange:
# сервер, который переводится в режим обслуживания
$maintance_srv = "msk-mbx1.remontka.com"
# целевой сервер, на который нужно перенести очереди
$target_srv = "msk-mbx2.remontka.com"
#Отключаем компонент HubTransport на сервере и переводим его в режим Draining
Set-ServerComponentState $maintance_srv –Component HubTransport –State Draining –Requester Maintenance
Restart-Service MSExchangeTransport
#Можно проверить, что статус HubTransport изменился на Draining
Get-ServerComponentState -Identity $maintance_srv -Component Hubtransport
Если сейчас выполнить команду Get-ServerComponentState -Identity $maintance_srv
, то все компоненты Exchnage (кроме Monitoring и RecoveryActionsEnabled) должны быть в состоянии Incative.
#Теперь нужно перенести очереди сообщений на другой сервер
Redirect-Message -Server $maintance_srv -Target $target_srv
# Проверьте, что очереди очистились с помощью команды:
Get-Queue
# Поставьте на паузу ноду кластера, при этом роль Primary Active Manager (PAM) будет перенесена на другой сервер группы DAG
Suspend-ClusterNode –Name $maintance_srv
# Перевод всех смонтированных копий почтовых баз на другие сервера
Set-MailboxServer $maintance_srv –DatabaseCopyActivationDisabledAndMoveNow $true
# Запретите активацию почтовых баз на сервере
Set-MailboxServer $maintance_srv –DatabaseCopyAutoActivationPolicy Blocked
Дождитесь переключения почтовых баз (потребует несколько минут). Убедитесь, что список смонтированных баз на сервер пуст:
Get-MailboxDatabaseCopyStatus -Server $maintance_srv | where {$_.Status -like "Mounted"}
# Перевод компонентов Exchange в режим обслуживания
Set-ServerComponentState $maintance_srv –Component ServerWideOffline –State InActive –Requester Maintenance
# Проверьте, что сервер находится в режиме обслуживания:
Get-ServerComponentState -Identity $maintance_srv -Component ServerWideOffline
Get-MailboxDatabaseCopyStatus
Теперь вы можете выполнить необходимые вам процедуры обслуживания хоста Exchange. После окончания работ с сервером нужно выполнить обратную процедуры вывода Exchange из режима обслуживания:
Set-ServerComponentState $maintance_srv –Component ServerWideOffline –State Active –Requester Maintenance
# Статус можно проверить так (должен стать Active):
Get-ServerComponentState $maintance_srv -Component ServerWideOffline
Resume-ClusterNode –Name $maintance_srv
Set-MailboxServer $maintance_srv –DatabaseCopyAutoActivationPolicy Unrestricted
Set-MailboxServer $maintance_srv –DatabaseCopyActivationDisabledAndMoveNow $false
Set-ServerComponentState $maintance_srv –Component HubTransport –State Active –Requester Maintenance
Проверьте статус Exchange Server с помощью:
Test-ServiceHealth $maintance_srv
Распределите почтовые базы по серверам DAG в соответствии с заданными предпочтениями с помощью скрипта RedistributeActiveDatabases.ps1:
cd $exscripts
.RedistributeActiveDatabases.ps1 -DagName msk-dag –BalanceDbsByActivationPreference
Move-ActiveMailboxDatabase -Server $target_srv -ActivateOnServer $maintance_srv -Confirm:$false
Выполните проверку доступности MAPI:
Test-MAPIConnectivity -Server $maintance_srv
Проверьте статус баз и репликацию в DAG:
Get-MailboxDatabaseCopyStatus
Test-ReplicationHealth -DatabaseAvailabilityGroup
Если говорить о том, какие лучшие дистрибутивы Linux мы знаем, то этот список может быть…
Хотя Ubuntu и поставляется со встроенным обозревателем Firefox многие пользователи считают что это не самая…
Что такое Remmina? Remmina — это совершенно бесплатный и свободный клиент так называемого удаленного рабочего…
Как мы знаем, Ubuntu это самая популярная сборка из систем на базе ядра Linux. У…
Выбор ноутбука для каждого пользователя это довольно кропотливый процесс. Люди стараются подобрать ноутбук который будет…
Если вы решили ознакомиться с операционной системой Linux более детально и задались вопросом как установить…