Seite 2 - Database Availability Groups unter Exchange 2013 verwalten (3)

Lesezeit
2 Minuten
Bis jetzt gelesen

Seite 2 - Database Availability Groups unter Exchange 2013 verwalten (3)

19.12.2016 - 00:00
Veröffentlicht in:
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:
.\StartDagServerMaintenance.ps1 -ServerName LAB01EX02
Durch 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, ServersInMaintenance
Beim 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, DatabaseCopyAutoActivationPolicy
Sie Beenden den Wartungsmodus über
.\StopDagServerMaintenance.ps1
Die 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 
-BalanceDbsByActivationPreference
-ShowFinalDatabaseDistribution
-Confirm:$false
"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:
Set-ServerComponentState -Identity LAB01EX02 -Component HubTransport 
-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
Anschließ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].


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 ServerWideOffline 
-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
Fazit
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/

Ähnliche Beiträge

Mehr Datensicherheit durch ganzheitliche Plattformen

Die Folgen von Cyberangriffen sind für Unternehmen verheerend. Dies gilt vor allem für Attacken auf hybride IT-Umgebungen, die Datenverluste auf mehreren Plattformen zur Folge haben. Deshalb lohnt es sich, auf ganzheitliche Werkzeuge für eine sichere Kommunikation und Datenübertragung zu setzen. Welchen maßgeblichen Beitrag Produktivitätsplattformen in den Bereichen Verwaltung, Kosteneffizienz und Reaktionsschnelligkeit leisten, erklärt unser Artikel.

MIMI-Standard für Interoperabilität von Messengern

Über Organisationsgrenzen hinweg digital reibungslos kommunizieren zu können, ist für zahlreiche Branchen von Bedeutung. Mit MIMI steht nun auch ein Standard für die mobile Kommunikation mit unterschiedlichen Messaging-Apps in den Startlöchern. Der Fachartikel beleuchtet vor dem Hintergrund bisheriger Standardprotokolle, wie diese Entwicklung aus Unternehmenssicht zu bewerten ist.