Fachartikel

Sichern und Wiederherstellen von Exchange Server 2016 per PowerShell (1)

Während der Volksmund der Porzellankiste ein enges verwandtschaftliches Verhältnis zur Vorsicht unterstellt, setzt Microsoft unter Exchange bei Nutzung der Database Availability Groups auf backupfreie Umgebungen. Sollte diesem gesunden Selbstvertrauen zum Trotz dennoch einmal ein Recovery älterer Daten anstehen, zeigt dieser Artikel verschiedene Aspekte der Wiederherstellung von Exchange-Daten mit der PowerShell. Im ersten Teil des Workshops gehen wir auf die Verwendung von Windows Server Backup ein und erklären, wie Sie Datenbanken wiederherstellen.
Hat der Elefant im Porzellanladen oder auf dem E-Mail-Server gewütet, sollte ein Backup tunlichst zur Hand sein.
Seit Exchange 2007 findet die Datensicherung über den Volume Shadowcopy Service (VSS) statt. Dabei bringt der Mailserver einen eigenen Writer mit, der dafür sorgt, dass die Datenbank konsistent gesichert wird. Anzeigen lassen Sie sich den Writer über den Befehl vssadmin list writers. Die Sicherung selbst führt der Exchange Replication Service aus, was wie folgt abläuft:

1. VSS fordert Exchange Writer zum Einfrieren der Umgebung auf.
2. VSS erstellt einen Snapshot der Daten.
3. VSS benachrichtigt den Exchange Writer zur Wiederaufnahme.
4. VSS bestätigt den erfolgreichen Snapshot und wenn der Snapshot weggeschrieben wurde, haben Sie ein Backup.
Sofern Sie Exchange in einer virtuellen Umgebung sichern, achten Sie darauf, dass Sie virtuelle Maschinen (VM) nicht einfach über den Hypervisor wegsichern, sondern ein Agent in der VM ein VSS-Backup durchführt. Den Backupstatus der Datenbank erhalten Sie über den Befehl GetMailboxDatabase und den Parameter "LastFullBackup". Wichtig ist die Nutzung des Parameters "Status", damit die Datenbankeigenschaften korrekt angezeigt werden, andernfalls bleiben die Einträge leer:
Get-MailboxDatabase -Status | fl Name,LastFullBackup
Möchten Sie prüfen, ob eine Datenbank gerade gesichert wird, prüfen Sie den Inhalt des Felds "BackupInProgress". Auch Informationen zur letzten differenziellen Sicherung können Sie sich anzeigen lassen:
Get-MailboxDatabase -Status | fl Name,*Backup*
Die Ausgabe zu allen Backup-Eigenschaften sehen Sie in Bild 1.


Bild 1: Den Sicherungsstatus der Datenbanken zeigen Sie mit Get-MailboxDatabase an.

Windows Server Backup verwenden
Exchange 2016 bietet eine Erweiterung für das Windows Server Backup, damit Sie VSS-basierte Sicherungen von Exchange mit Windows-Bordmitteln durchführen können. Die Erweiterung hört auf den Namen "Microsoft Exchange Server Extension for Windows Server Backup", kurz WSBExchange, und läuft als eigenständiger Dienst, der auf Anforderung startet. Bei der Sicherung über WSB müssen Sie folgende Punkte beachten:

  • Die Sicherungen erfolgen auf Volume-Ebene. Zum Sichern einer Datenbank und ihrer Protokolle müssen Sie das komplette Volume sichern, sodass Sie Daten nicht gezielt auswählen können.
  • Darüber hinaus muss die Sicherung lokal erfolgen; es sind keine Remote-Sicherungen möglich.
  • Sie können nur vollständige Sicherungen durchführen und nach einer erfolgreichen Sicherung wird das Protokoll abgeschnitten.
  • Bei der Wiederherstellung können Sie gezielt Exchange-Datenbanken wiederherstellen. Diese lassen sich am ursprünglichen oder einem temporären Speicherort ablegen.
  • Die direkte Wiederherstellung in eine Wiederherstellungsdatenbank (Recovery Database, RDB) ist nicht möglich und die wiederhergestellten Daten müssen an den Speicherort der RDB verschoben werden.
  • Sie können während einer Wiederherstellung keine einzelnen Datenbanken wiederherstellen, sondern nur alle Datenbanken gemeinsam, die gesichert wurden. Dabei spielt es keine Rolle, ob die Datenbanken auf einem oder verschiedenen Volumes lagern.
Um Ihren Exchange-Server mit den Windows-Bordmitteln zu sichern, installieren Sie zunächst über den PowerShell-Befehl
Add-WindowsFeature Windows-ServerBackup
die Windows-eigene Sicherungssoftware nach. Danach können Sie die GUI-Anwendung nutzen oder die Sicherung über die PowerShell konfigurieren. Weitere Details zu den Befehlen finden Sie unter [1].

Standardmäßig wird ein Copy-Backup durchgeführt, bei dem die Transaktionsprotokolle nicht abgeschnitten werden. Um diese abschneiden zu lassen, wählen Sie während des Backups in den "erweiterten Optionen" die "Vollsicherung" aus. Die Art der Sicherung prüfen Sie über Get-MailboxDatabase und die Felder "LastCopyBackup" beziehungsweise "LastFullBackup".

Um eine Exchange-Sicherung durchzuführen, starten Sie nun Windows Server Backup. Beginnen Sie mit einer Einmalsicherung und wählen Sie das Laufwerk mit den Datenbanken und dem Exchange-Programmverzeichnis aus. Dadurch sichern Sie die Exchange-Datenbanken und -Protokolldateien. Sicherheitshalber beziehen Sie den System-State mit ein, damit die Registry-Daten von Exchange auch gesichert werden.
Datenbanken wiederherstellen
Bei der Exchange-Wiederherstellungsdatenbank handelt es sich um eine spezielle Datenbank, bei der die Verwaltung nur über die PowerShell. Über die RDB haben Sie die Möglichkeit, Datenbankdateien aus einer wiederhergestellten Datenbank einzubinden sowie Daten zu extrahieren.

Starten Sie zunächst die Wiederherstellung der Exchange-Datenbank über Windows Server Backup und legen Sie die Datenbankdateien in einem temporären Verzeichnis ab. Achten Sie dabei darauf, die Applikationswiederherstellung auszuwählen. In den Details können Sie nachvollziehen, welche Datenbanken wiederhergestellt werden (Bild 2).


Bild 2: Die Wiederherstellung von Exchange-Datenbanken erfolgt in Windows Server Backup
über die Applikationswiederherstellung.

Legen Sie im nächsten Schritt eine Wiederherstellungsdatenbank an. Die RDB wird ähnlich einer neuen Datenbank erstellt und über den Parameter "Recovery" als RDB ausgewiesen. Bei der Erstellung geben Sie den Server und den Ort für die Datenbankdateien an. Bei der Benennung greifen Sie auf den Namen der zuvor wiederhergestellten Datenbankdatei zurück:
New-MailboxDatabase -Recovery -Name RDB01 -Server LABEX161 
-EdbFilePath "D:\Recovery\RDB01\ DB01.EDB"
-LogFolderPath "D:\Recovery\RDB01"
Bevor Sie die wiederhergestellte Datenbank in der Wiederherstellungsdatenbank mounten, kopieren Sie die Datenbankdatei in das Verzeichnis für die RDB und stellen Sie sicher, dass die Datenbank den Status "Clean Shutdown" aufweist. Sie prüfen den Status der Datenbankdatei "DB01.edb" hierfür mit dem Befehl
Eseutil /mh D:\Recovery\RDB01\DB01.EDB
Befindet sich die Datenbank in "Dirty Shutdown", führen Sie Eseutil /r E00 aus, um ein erweitertes Soft Recovery zu starten und die fehlenden Logs einzuspielen. "E00" entspricht dabei dem Präfix der Protokolle. Am besten starten Sie Eseutil im Verzeichnis für die Datenbank und die Logs, damit Sie die Pfade über die Parameter "/l" und "/d" nicht angeben müssen. Im Anschluss sollte sich die Datenbank im Status "Clean Shutdown" befinden. Der Start der Datenbank erfolgt über Mount-MailboxDatabase.

Nachdem die Datenbank gemountet wurde, zeigen Sie sich die enthaltenen Postfächer über den Befehl Get-MailboxStatistics -Database RDB01 an. Hier sehen Sie auch weitere Informationen zu den enthaltenen Postfächern, wie etwa die Anzahl (ItemC ount) und die Größe der E-Mails (TotalItemSize).

Im zweiten Teil des Workshops beschäftigen wir uns sowohl mit dem Wiederherstellen einzelner E-Mails als auch mit dem Recovery eines kompletten Servers. Im dritten Teil sehen wir uns die Portierung von Datenbanken an.
6.07.2020/dr/ln/Christian Schulenburg

Nachrichten

Android-Smartphones gefährdet [7.08.2020]

Check Point hat nach eigenen Angaben mehrere Sicherheitslücken im Code von Qualcomms "Digital Signal Processor" (DSP) gefunden – einem Chip, der in fast 40 Prozent aller Smartphones weltweit verbaut ist. Sie sehen darin eine Bedrohung, die über Monate oder Jahre bestehen könnte, weil die Behebung kompliziert sei. [mehr]

Schwachstellen auf meetup.com entdeckt [6.08.2020]

Das Research Team von Checkmarx hat zwei Sicherheitslücken auf der Onlineplattform "meetup.com" entdeckt – einem Portal, um persönliche oder virtuelle Treffen zu organisieren. Mithilfe der Schwachstellen könne ein Angreifer sich bei Meetup-Events zunächst Co-Organisatorrechte sichern und dann Zahlungen der Teilnehmer auf beliebige PayPal-Konten umleiten. [mehr]

Tipps & Tools

Windows-Insider-Programm ohne Konto nutzen [8.08.2020]

Lange Zeit war der Zugang zu den Windows-Vorabversionen, sogenannten "Insider-Builds", nur für Entwickler verfügbar. Seit 2014 haben alle Benutzer über das Windows-Insider-Programm die Möglichkeit, die Vorabversionen zu testen. Voraussetzung ist allerdings ein Microsoft-Konto, das nicht jeder eröffnen will. Mit dem Skript "OfflineInsiderEnroll" erhalten Sie die Insider-Builds auch ohne Registrierung. [mehr]

Deutsche Post startet digitale Briefankündigung [7.08.2020]

Morgens schon wissen, was später im Briefkasten liegt: Mit der Briefankündigung informiert die Deutsche Post Kunden auf Wunsch per E-Mail über eingehende Briefpost und sendet hierfür ein Foto des Briefumschlags mit. Der kostenlose Service lässt sich für alle GMX- und WEB.DE-E-Mail-Konten aktivieren und soll ab 2021 um den Inhalt der Briefe erweitert werden. [mehr]

Buchbesprechung

Microsoft Office 365

von Markus Widl

Anzeigen