6.7 KiB
Maintenance Mode
Mittwoch, 20. April 2016
14:36
Ein Exchange Server 2016 hat mehrere Komponenten, Services etc., die global zu sog. ServerComponent zusammengefasst sind. Z.B. gehört zu HubTransport, alles was zum Transport Service, die frühere Serverrolle Hub Transport (HTS) unter Exchange 2010 auch hatte. Die Serverkomponente FrontendTransport hat die Aufgabe von früherem Client Access Server (CAS) unter Exchange 2010 und 2013. Die Serverkomponente OWAProxy ist dagegen nur zuständig für den OWA Zugriff
In der PEC Test Umgebung TETRA.PEC wurde dies probiert und dient als Beispiel
Exchange Server TETRAMXP01a und TETRAMXP01b als DAG Cluster
Man kann sehen, dass die Serverkomponenten keine 1 :1 Beziehung weder zu den Services noch zu den Health Sets haben. Sie stellen eine abstrakte Ebene dar, die die Komponenten von einem Exchange
2016 Mailbox Server. In 2016 gibt es zwar keinen CAS, aber dessen Komponenten laufen als Client Access Services auf einem Mailbox Server (MBS)
Der Zustand (State) dieser Hauptkomponenten kann mit Get-ServerComponentState aufgelistet werden
Get-ServerComponentState -id tetramxp01a
{width="8.302083333333334in" height="4.458333333333333in"}
Der Server Component "ServerWideOffline" setzt den kompletten Server auf Maintenance, wenn dieser auf Inactive gesetzt wird.
Die Serverkomponenten können entweder „Active" oder „lnactive" sein. Nur die Serverkomponenten FrontendTransport und HubTransport haben zusätzlich den Status .Draining", da sie die Mails bzw.
Daten in ihren Queues noch entleeren müssen.
Der Status (State) einer Serverkomponente kann mit Set-ServerComponentState verändert werden. Dazu ist die Angabe eines Requester notwendig. Requester sind nur „Label" um den Grund eines
Statuswechsels zu markieren. Man sollte dennoch immer einen Requester wählen z.B. Maintenance, wenn eine Serverkomponente zwecks Wartung . lnactive" gesetzt werden muss.
Alle Requester müssen Active sein, damit die Component komplett wieder Active ist. Ein InActive hat immer Vorrang vor einem Active.
Die Anzeige der Requester einer Component erfolgt mit
$scs=Get-ServerComponentState -id tetramxp01a -Component ServerWideOffline
$scs.LocalStates
$scs.RemoteStates
{width="9.302083333333334in" height="2.1979166666666665in"}
Local States werden in der Registry gespeichert
HKLM\SOFTWARE\Microsoft\ExchangeServer\v15\ServerComponentStates
Remote States werden im Active Directory gespeichert
CN=TETRAMXP01a ,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=TETRAMAIL,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=tetra,DC=pec
In dem Attribut „msExchComponentStates" des Exchange Servers werden die States und Requester gespeichert.
Server in Maintenance setzen
Set-ServerComponentState -id $ServerName -Component HubTransport -State Draining -Requester Maintenance
Restart-Service MSExchangeTransport
Restart-Service MSExchangeFrontEndTransport
Redirect-Message -Server $ServerName -Target $RemoteServer -Confirm:$false
Set-MailboxServer $ServerName -DatabaseCopyActivationDisabledAndMoveNow $true
Move-ActiveMailboxDatabase -Server $ServerName
Set-MailboxServer $FQDN -DatabaseCopyAutoActivationPolicy Blocked
Suspend-ClusterNode $ServerName
Set-ServerComponentState -id $ServerName -Component ServerWideOffline -State InActive -Requester Maintenance
Server aus dem Maintenance nehmen
Set-ServerComponentState -id $ServerName -Component ServerWideOffline -State Active -Requester Maintenance
Set-ServerComponentState -id $ServerName -Component HubTransport -State Active -Requester Maintenance
Restart-Service MSExchangeTransport
Restart-Service MSExchangeFrontEndTransport
Set-MailboxServer $ServerName -DatabaseCopyActivationDisabledAndMoveNow $false -DatabaseCopyAutoActivationPolicy Unrestricted
Resume-ClusterNode $ServerName
RedistributeActiveDatabases.ps1 -DagName get--BalanceDbsByActivationPreference -ShowFinalDatabaseDistribution -Confirm:$false
Scripte abgelegt im Abschnitt "Scripte"
<<Start-MaintenanceMode.ps1>>
<<Stop-MaintenanceMode.ps1>>
DADBA8F4
Set-MailboxServer "SERVERNAME" -DatabaseCopyActivationDisabledAndMoveNow $True
Set-ServerComponentState --Identity "SERVERNAME" --Component HubTransport --State Draining --Requester Maintenance
Suspend-ClusterNode --Name "SERVERNAME"
Set-MailboxServer --Identity "SERVERNAME" --DatabaseCopyAutoActivationPolicy Blocked
Set-ServerComponentState "SERVERNAME" --Component ServerWideOffline --State InActive --Requester Maintenance
Aus <https://www.frankysweb.de/exchange-server-howto-zur-installation-von-updates/>