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

Lesezeit
3 Minuten
Bis jetzt gelesen

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

06.07.2020 - 00:00
Veröffentlicht in:
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.
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.


    dr/ln/Christian Schulenburg

    [1] https://docs.microsoft.com/en-us/powershell/module/windowserverbackup/?view=winserver2012r2-ps&redirectedfrom=MSDN

    Ähnliche Beiträge

    Exchange in Hybridkonfiguration betreiben (3)

    Gerade kleinere Unternehmen sieht Microsoft vermehrt in der Cloud. Um den Weg dorthin zu ebnen, stellt der Konzern aus Redmond verschiedene Migrationswege bereit, damit es E-Mails, Kalendereinträge und Kontakte in die Cloud schaffen. Eine große Rolle spielt dabei die Hybridkonfiguration, die auch einen dauerhaften Parallelbetrieb ermöglichen kann. Die Einrichtung erfolgt am einfachsten über den Hybrid Agent. Im dritten und letzten Teil des Workshops widmen wir uns ganz der Praxis und beschäftigen uns mit der Installation des Agenten und wie Sie die Hybridverbindung gründlich prüfen.

    Exchange in Hybridkonfiguration betreiben (2)

    Gerade kleinere Unternehmen sieht Microsoft vermehrt in der Cloud. Um den Weg dorthin zu ebnen, stellt der Konzern aus Redmond verschiedene Migrationswege bereit, damit es E-Mails, Kalendereinträge und Kontakte in die Cloud schaffen. Eine große Rolle spielt dabei die Hybridkonfiguration, die auch einen dauerhaften Parallelbetrieb ermöglichen kann. Die Einrichtung erfolgt am einfachsten über den Hybrid Agent. In der zweiten Folge stellen wir den Hybrid Agent genauer vor und skizzieren dessen Voraussetzungen.

    Exchange in Hybridkonfiguration betreiben (1)

    Gerade kleinere Unternehmen sieht Microsoft vermehrt in der Cloud. Um den Weg dorthin zu ebnen, stellt der Konzern aus Redmond verschiedene Migrationswege bereit, damit es E-Mails, Kalendereinträge und Kontakte in die Cloud schaffen. Eine große Rolle spielt dabei die Hybridkonfiguration, die auch einen dauerhaften Parallelbetrieb ermöglichen kann. Die Einrichtung erfolgt am einfachsten über den Hybrid Agent. Im ersten Teil des Workshops schauen wir uns an, warum Hybridkonfigurationen vor allem bei Migrationsszenarien interessant sind.