Hoe zet je een Exchange Server 2019/2016 in de onderhoudsmodus (ja, het is een proces)?
Het beheren van Exchange-servers is al lastig genoeg zonder de extra rompslomp van onderhoud. Als je patches installeert, hardware-updates uitvoert of gewoon de omgeving netjes wilt houden, is het essentieel om de server in de onderhoudsmodus te zetten. Maar het is best ingewikkeld. Je moet al die databases verplaatsen, rollen wisselen en ervoor zorgen dat je e-mailverkeer niet in de war raakt. Deze handleiding beschrijft de meest voorkomende stappen – grotendeels handmatig, want scripts zijn niet altijd even betrouwbaar. Verwacht dat je wat tijd kwijt bent aan het controleren van elke fase om verrassingen te voorkomen. Zodra het proces is voltooid, is de server in principe offline voor e-mailbezorging terwijl je updates uitvoert of hardwareproblemen oplost. Het terugdraaien van het proces is na afloop niet veel moeilijker, maar je moet wel oppassen dat je de server niet in een onvoltooide staat achterlaat.
Hoe u Exchange Server in de onderhoudsmodus kunt zetten
Methode 1: Handmatige onderhoudsmodus — omdat scripts soms gewoon falen.
Deze methode draait om het stap voor stap uitvoeren, wat handig is als je controle wilt behouden of problemen met scripts wilt ondervinden. In sommige configuraties voer je de scripts uit vanuit de Exchange Management Shell, maar in andere gevallen moet je dit via externe PowerShell doen, vooral als de server niet direct toegankelijk is. Zorg er eerst voor dat je de RSAT-tools met de module FailoverClusters hebt geladen, evenals de nieuwste Exchange Management Shell. Gebruik PowerShell om op afstand verbinding te maken met je server, zoals volgt: powershell $Session = New-PSSession -ConfigurationName Microsoft. Exchange -ConnectionUri http://your.exchange.server/PowerShell/ -Authentication Kerberos -Credential (Get-Credential) Import-PSSession $Session Voordat je verdergaat, moet je de servernamen identificeren: powershell # Welke server wil je in de onderhoudsmodus zetten? $maintance_srv = “exchange1.yourdomain.com” # Waar wil je de e-mailwachtrijen naartoe sturen? $target_srv = “exchange2.yourdomain.com” Schakel vervolgens de HubTransport-component uit en laat de e-mailstroom weglopen: powershell Set-ServerComponentState $maintance_srv –Component HubTransport –State Draining –Requester Maintenance Restart-Service MSExchangeTransport Controleer of de status ‘Draining’ is: powershell Get-ServerComponentState -Identity $maintance_srv -Component HubTransport Zodra de status ‘Draining’ aangeeft, verplaats je de kopieën van de mailboxdatabase van de server: powershell Set-MailboxServer $maintance_srv –DatabaseCopyAutoActivationPolicy Blocked Set-MailboxServer $maintance_srv –DatabaseCopyActivationDisabledAndMoveNow $true Wacht nu een paar minuten totdat de actieve kopieën zijn overgezet. Je kunt de status controleren met: powershell Get-MailboxDatabaseCopyStatus -Server $maintance_srv | waar {$_. Status -like “Mounted”} Terwijl u wacht, kunt u het clusterknooppunt pauzeren om de PAM-rol (Primary Active Manager) te wijzigen: powershell Suspend-ClusterNode –Name $maintance_srv Zodra de databases zijn verplaatst en de gekoppelde databases zijn verwijderd, zet u de server in de onderhoudsmodus: powershell Set-ServerComponentState $maintance_srv –Component ServerWideOffline –State InActive –Requester Maintenance Controleer of de server in de onderhoudsmodus staat: powershell Get-ServerComponentState -Identity $maintance_srv -Component ServerWideOffline Om de server weer in de onderhoudsmodus te zetten, voert u de stappen in omgekeerde volgorde uit: powershell Set-ServerComponentState $maintance_srv –Component ServerWideOffline –State Active –Requester Maintenance 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 Sluit af met een gezondheidscontrole: powershell Test-ServiceHealth $maintance_srv En als u de mailboxdatabases opnieuw wilt balanceren, voert u het volgende commando uit: powershell cd $exscripts.\RedistributeActiveDatabases.ps1 -DagName your-dag -BalanceDbsByActivationPreference Als u alle mailboxkopieën in één keer wilt verplaatsen:powershell Move-ActiveMailboxDatabase -Server $target_srv -Activate onServer $maintance_srv -Confirm:$false Voer tot slot een verbindingstest uit: powershell Test-MAPIConnectivity -Server $maintance_srv En controleer de algehele status van de DAG: powershell Get-MailboxDatabaseCopyStatus Get-ReplicationHealth -DatabaseAvailabilityGroup
Opmerking: Op sommige systemen voelt dit allemaal een beetje kwetsbaar aan. Het verplaatsen van de database kan een paar minuten duren en soms lijken commando’s in eerste instantie niets te doen. Geduld is een schone zaak, en een tweede poging of een snelle herstart kan het probleem soms oplossen.
Samenvatting
- Bepaal de bestemming van uw server en e-mailwachtrij.
- Stop de e-mailstroom met Set-ServerComponentState.
- Verplaats kopieën van de mailboxdatabase van de server.
- Zet de server in de onderhoudsmodus.
- Voer updates of hardwarewerkzaamheden uit.
- Volg de stappen in omgekeerde volgorde om de server weer online te krijgen.
Samenvatting
Een Exchange-server in de onderhoudsmodus zetten is geen hogere wiskunde, maar het vergt wel wat precisie. Door het handmatig te doen, weet je precies wat er gebeurt, maar het vereist ook dat je elke stap nauwlettend in de gaten houdt. Als je het eenmaal door hebt, is het proces vrij eenvoudig – het vergt alleen wat geduld. Hopelijk bespaart dit iemand een paar uur. Ik hoop dat dit helpt.