Lesezeit
2 Minuten
Seite 2 - Database Availability Groups unter Exchange 2013 verwalten (3)
Wartungs-Modus zur Exchange-Server-Aktualisierung
Bei einer Wartungsaktion reicht das einfache Verschieben der Datenbank nicht aus, denn Sie müssen sicherstellen, dass der zu wartende Server durch einen Fehler auf dem Server mit der aktiven Datenbank diese nicht wieder zugewiesen bekommen. Hierfür bringt Exchange seit Exchange 2010 das Skript "StartDagServerMaintenance.ps1" mit, das den definierten Server in einen einfachen Wartungsmodus versetzt. Das Skript liegt im Unterordner "Scripts" im Programmverzeichnis von Exchange. Das Verzeichnis erreichen Sie in der PowerShell am Schnellsten über das Ändern der Location mit Set-Location $ExScripts. In unserem Beispiel schicken wir den Server "LAB01EX02" in den Wartungsmodus:
Rufen Sie den PowerShell-Befehl unbedingt mit der Erweiterung "Status" auf, damit Sie ein Ergebnis erhalten:
Gerade wenn Sie Probleme bei einem Switchover haben, lohnt sich hierhin ein Blick:
Bild 2: Haben Sie einen Exchange 2013 Server komplett in den Wartungsmodus geschickt,
prüfen Sie das Ergebnis mit Get-ServerComponentState.
Den Status der einzelnen Komponenten prüfen Sie mit Get-ServerComponentState und den Server können Sie mit den folgenden Schritten wieder reaktivieren:
Die komplette Verwaltung von Database Availability Groups können Sie über die PowerShell durchführen. Im Gegensatz zur EAC haben Sie hierbei nicht nur eine Auge auf dynamische Daten wie Warteschlangen, die Ihnen in der EAC nicht angezeigt werden, sondern Sie haben auch wesentlich mehr Möglichkeiten in der Konfiguration, da Ihnen die EAC immer nur einen eingeschränkten Blick bietet.
Seite 1: Aktive Datenbank finden und verschieben
Seite 2: Wartungs-Modus zur Exchange-Server-Aktualisierung
dr/ln/Christian Schulenburg
[1] https://vanhybrid.com/2015/07/20/script-putting-exchange-server-2013-into-maintenance-mode/
Bei einer Wartungsaktion reicht das einfache Verschieben der Datenbank nicht aus, denn Sie müssen sicherstellen, dass der zu wartende Server durch einen Fehler auf dem Server mit der aktiven Datenbank diese nicht wieder zugewiesen bekommen. Hierfür bringt Exchange seit Exchange 2010 das Skript "StartDagServerMaintenance.ps1" mit, das den definierten Server in einen einfachen Wartungsmodus versetzt. Das Skript liegt im Unterordner "Scripts" im Programmverzeichnis von Exchange. Das Verzeichnis erreichen Sie in der PowerShell am Schnellsten über das Ändern der Location mit Set-Location $ExScripts. In unserem Beispiel schicken wir den Server "LAB01EX02" in den Wartungsmodus:
.\StartDagServerMaintenance.ps1 -ServerName LAB01EX02Durch das Skript werden zunächst alle aktiven Datenbanken auf andere DAG-Mitglieder verschoben und der Server pausiert. In den DAG-Eigenschaften können Sie den Wert "ServersInMaintenance" prüfen, um sich zu vergewissern, welcher Server in Wartung ist.
Rufen Sie den PowerShell-Befehl unbedingt mit der Erweiterung "Status" auf, damit Sie ein Ergebnis erhalten:
Get-DatabaseAvailabilityGroup –Status | fl Name, ServersInMaintenanceBeim Aufruf werden dann nicht nur statische AD-Felder, sondern die Cluster- beziehungsweise Replikations-Dienste der DAG-Mitglieder direkt abgefragt. Darüber hinaus wird die Eigenschaft "DatabaseCopyAutoActivationPolicy" des Mailbox-Servers von "Unrestricted" auf "Blocked" geändert, wodurch auf dem Server keine Datenbanken automatisch aktiviert werden.
Gerade wenn Sie Probleme bei einem Switchover haben, lohnt sich hierhin ein Blick:
Get-MailboxServer | ft Name, DatabaseCopyAutoActivationPolicySie Beenden den Wartungsmodus über
.\StopDagServerMaintenance.ps1Die Datenbanken werden nach Beendigung der Wartung nicht wieder auf dem Server aktiviert. Um die Datenbanken wieder nach der Preference zu verteilen, starten Sie das Skript ".\RedistributeActiveDatabases.ps1". Mit dem Parameter "BalanceDbsByActivationPreference" werden die Datenbanken auf die verschiedenen DAG-Mitglieder verteilt und "ShowDatabaseDistributionByServer" zeigt Ihnen ausführliche Details während der Aktion an.
.\RedistributeActiveDatabases.ps1"StartDagServerMaintenance" kümmert sich nur um die DAG-Maintenance und verhindert einen DAG-Failover. Um einen MultiRole-Server in den Wartungsmodus zu schicken, nutzen Sie den neuen Maintenance Mode in Exchange 2013. Dies ist nötig, um die integrierten Überwachungs- und Wiederherstellungsaktionen durch die Managed Availability auszusetzen. Leider gibt es hierfür kein fertiges PowerShell-Skript von Microsoft. Um einen Server komplett in die Wartung zu versetzen, führen Sie nachfolgend aufgeführten Schritte durch:
-BalanceDbsByActivationPreference
-ShowFinalDatabaseDistribution
-Confirm:$false
Set-ServerComponentState -Identity LAB01EX02 -Component HubTransportAnschließend können Sie den Server in Ruhe aktualisieren. Sollten Ihnen das zu viele einzelne Befehle sein, fassen Sie diese in einem PowerShell-Skript zusammen oder Sie nutzen gleich ein vorgefertigtes Skript, etwa das von Michael Van Horenbeeck [1].
-State Draining -Requester Maintenance
Redirect-Message -Server LAB01EX02 -Target LAB01EX01
Suspend-ClusterNode -Name LAB01EX02
Set-MailboxServer -Identity LAB01EX02 -DatabaseCopyActivationDisabledAndMoveNow
$True
Set-MailboxServer -Identity LAB01EX02 -DatabaseCopyAutoActivationPolicy Blocked
Set-ServerComponentState -Identity LAB01EX02 -Component ServerWideOffline
-State InActive –Requester Maintenance
Bild 2: Haben Sie einen Exchange 2013 Server komplett in den Wartungsmodus geschickt,
prüfen Sie das Ergebnis mit Get-ServerComponentState.
Den Status der einzelnen Komponenten prüfen Sie mit Get-ServerComponentState und den Server können Sie mit den folgenden Schritten wieder reaktivieren:
Set-ServerComponentState -Identity LAB01EX02 -Component ServerWideOfflineFazit
-State Active -Requester Maintenance
Resume-ClusterNode -Name LAB01EX02
Set-MailboxServer -Identity LAB01EX02 -DatabaseCopyAutoActivationPolicy
Unrestricted
Set-MailboxServer -Identity LAB01EX02 -DatabaseCopyActivationDisabledAndMoveNow
$False
Set-ServerComponentState -Identity LAB01EX02 -Component HubTransport
-State Active -Requester Maintenance
Die komplette Verwaltung von Database Availability Groups können Sie über die PowerShell durchführen. Im Gegensatz zur EAC haben Sie hierbei nicht nur eine Auge auf dynamische Daten wie Warteschlangen, die Ihnen in der EAC nicht angezeigt werden, sondern Sie haben auch wesentlich mehr Möglichkeiten in der Konfiguration, da Ihnen die EAC immer nur einen eingeschränkten Blick bietet.
Seite 1: Aktive Datenbank finden und verschieben
Seite 2: Wartungs-Modus zur Exchange-Server-Aktualisierung
<< Vorherige Seite | Seite 2 von 2 |
dr/ln/Christian Schulenburg
[1] https://vanhybrid.com/2015/07/20/script-putting-exchange-server-2013-into-maintenance-mode/