Daten aus einem abgelaufenem Band wiederherstellen mit DPM

Ich bekomme einige Mails pro Woche von Lesern die eine spezifische Frage zu DPM oder System Center im Allgemeinen haben. Kleinere Fragen kann ich immer meist schnell beantworten ohne allzu tief in die jeweilige Umgebung einzutauchen. Eine Frage, die immer mal wieder auftaucht, so auch wieder heute, möchte ich heute einen Blogeintrag widmen.

Wie sicherlich den meisten bekannt ist, markiert DPM ein Tape als frei/verfügbar, wenn die Daten darauf abgelaufen sind, also die Aufbewahrungsdauer überschritten ist. DPM löscht das Band nicht sofort, sondern nimmt es einfach wieder her wenn erneut etwas gesichert werden soll.

Jetzt kam gerade eben wieder diese Frage, wie ich Daten von einem expired Tape wiederherstelle. DPM ist ja in diesem Fall auf einem Auge blind. Es weiß zwar was drauf ist, aber wenn ich versuche es eine Wiederherstellung zu starten scheitere ich natürlich, weil diese Recovery Points ja expired sind.

Da gibt es einen einfachen Trick um das zu umgehen:

Man markiert das entsprechende Band als frei.

Dies macht man unmittelbar wieder rückgängig. Damit ist es für DPM ein fremdes unbekanntes Band. Wenn man jetzt einen Recatalog Job startet, dann liest es die Inhalte ein und packt diese als fremde importierte Bandinformationen in den Recovery Tab.

Von hier lässt sich dann die Wiederherstellung starten.

Gründe, warum man Daten von einem expired tape braucht, gibt es zuhauf. Viele heben bestimmte Wochen/Monatsbänder länger auf als die Retention period, sei es aus Compliance Gründen, Sentimentatlität, Übervorsicht etc. etc.

Und natürlich will man dann ja nicht nur das Tape parat haben, sondern auch in der Lage sein diese Daten wiederherzustellen. Mit diesem kleinen Schwindel trickst man DPM aus und kann die Daten restoren.

Dieses Band wird DPM natürlich nicht mehr hernehmen für künftige Sicherungen. Wenn man das Band also wieder recyclen will muss man dann selbst ran und es manuell als frei markieren und/oder löschen.

Daten wiederherstellen via Powershell anstelle der Konsole

Einen Restore über die GUI zu machen ist verhältnismäßig einfach. Nun sind einige von uns Admins ja eher Powershell Junkies und fragen sich sicher ob man einen Restore nicht einfach mit Powershell machen kann.

Ja kann man und heute beschreiben wir kurz wie das geht:

Das Powershell CmdLet lautet :

Recover-RecoverableItem [-RecoverableItem] <RecoverableObject[]> [-RecoveryOption] <RecoveryOptions> [-RecoveryPointLocation <RecoverySourceLocation[]>] [-JobStateChangedEventHandler <JobStateChangedEventHandler>] [-RecoveryNotification <Nullable`1>] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>]

Schaut auf den ersten Blick komplizierter aus als es ist. Um einen Restore zu machen braucht man drei wesentliche Information:

– Was soll wiederhergestellt werden ?
– Mit welchen Optionen soll der Restore laufen ? (Überschreiben, Berechtigungen etc.)
– Welcher Recovery Point soll benutzt werden ?

1. Zunächst müssen wir festlegen aus welcher Protection Group die Datei kommt, die wir  wiederherstellen wollen.
Dazu erstellen wir eine Variable mit allen Protection Groups die unser DPM Server hält:

$pg = Get-ProtectionGroup -dpmservername Servername

Das Ergebnis ist ein Array mit allen Protection Groups. Wir suchen uns eine davon aus. Wie in einem Array üblich beginnt die Nummerierung mit 0. Nehmen wir also gleich die erste Protection Group $pg[0]. Jetzt möchten wir wissen welche Datensourcen enthalten sind:

$ds = Get-DataSource -protectiongroup $pg[0]

Jetzt wählen wir auch eine Datenquelle aus und schauen welche Recoverypoints enthalten sind:

$rp = Get-RecoveryPoint -datasource $ds[0]

Das liefert auch wieder ein Array zurück sortiert nach dem ältesten Recoverypoint und in der Sortierung Disk -> Tape. Also erst eine Liste aller Recoverypoints auf Disk beginnend mit dem ältesten und danach eine Liste aller Recoverypoints auf Tape beginnen mit dem ältesten. Nehmen wir an der aktuellste Recoverypoint auf Disk ist in der Liste auf Platz 6. Also wählen wir $rp[5] aus um daraus den Restore zu machen.

2. Jetzt benötigen wir die Optionen für die Wiederherstellung. Hier legen wir fest, wohin zurückgesichert werden soll, ob überschrieben oder eine Kopie erstellt wird, ob an eine alternative Location zurückgesichert wird etc. :

$options = New-RecoveryOption -targetserver Servername -recoverylocation copytofolder -FileSystem -alternatelocation „D:\Wiederherstellung“ -recoverytype restore -OverwriteType overwrite

3. Jetzt können wir ans Rücksichern gehen:

Recover-RecoverableItem -recoverableitem $rp[5] -recoveryoption $options

In unserem kurzen Überblick haben wir jetzt einen ganzen RecoveryPoint zurückgesichert. Will man nur eine einzelne Datei zurücksichern muss man die Suche benutzen New-SearchOption. Mit der lässt sich dann auch eine ganz bestimmte Datei zurücksichern. Wenn ihr dazu einen detaillierteren Beitrag lesen wollt, dann hinterlasst uns doch einen Kommentar oder schreibt uns über unser Formular.

Exchange Daten wiederherstellen mit DPM

Wenn es um die Wiederherstellung einzelner Elemente in einer Exchange Mailbox, einzelner Ordner oder auch der ganzen Mailbox geht, so ist man leicht geneigt allen Artikeln im Netz Glauben zu schenken dass es funktioniert.

Leider ist das nicht so einfach. In der Exchange Logik kann man natürlich einen einzelnen Ordner einer Mailbox oder auch einfach nur eine ganz bestimmte E-Mail zurücksichern. Voraussetzung dafür ist aber eine Recovery Datenbank und in diese wird der ganze Store zurückgesichert. Exchange unterstützt leider keine Recovery von einzelnen Elementen durch externe Tools und daher kann auch DPM das nicht, auch wenn man vereinzelt etwas liest von Single-Item Recovery in DPM. Das geht mit Sharepoint aber nicht mit Exchange.

Wir wollen heute in kurzen Stichpunkten zeigen wie ein Restore geht mit Exchange 2010 und DPM 2012:

1. Zunächst einmal brauchen wir auf dem Exchangeserver ein Volume. Achtet darauf, dass es ausreichend groß ist. Darauf muss die ganze Mailbox Database passen, in der das Postfach drin ist, dass man zurücksichern möchte.

2. Auf diesem Volume erzeugen wir nun eine neue Mailbox Datenbank. Mailbox Datenbanken kann man zwar über die GUI erstellen. Diese sind aber für einen Restore nicht geeignet. Um eine restore geeignete Mailbox Datenbank zu erstellen müssen wir Powershell bemühen. Also Exchange Powershell starten und folgenden Befehl ausführen:

New-MailboxDatabase -recovery -name RecoveryDB -server Servername

RecoveryDB könnt ihr natürlich auch anders benennen und der Servername sollte als FQDN ausgeschrieben sein.

3. Der Powershellbefehl erstellt die Datenbank im Standardpfad und mounted die Datenbank nicht. Es dauert einen Moment bis die Datenfiles erstellt sind. Also ein paar Minuten abwarten und dann in die Exchange Management Console gehen und die Datenbank mounten (Rechtsklick auf die RecoveryDB und Mount database)

4. Die Datenbank befindet sich zunächst einmal im Standardpfad und muss verschoben werden auf das neu erstellte Volume wo wir genug Platz haben für den Restore. Das kann man bequem per GUI machen auf der rechten Seite unter Organization Configuration -> Mailbox -> Move Database Path wenn die RecoveryDB markiert ist:

5. Jetzt müssen wir Exchange 2010 sagen, dass diese Datenbank durch einen Restore überschrieben werden darf. Rechtsklick auf die Datenbank -> Properties -> Maintenance Tab:

6. Jetzt können wir in DPM reingehen und die gewünschte Mailbox restoren. DPM bietet uns zwar die einzelnen Mailboxnamen an und suggeriert man könne eine einzelne Mailbox restoren. Das aber ist nicht der Fall. Es wird immer die ganze Datenbank mit allen Mailboxen darin restored. Beim Restore in DPM 2012 wählen wir die Option die Datenbank auf einen Exchange Server zurück zu sichern:

Im nächsten Dialog den Exchange Servernamen eingeben und den Namen der Rücksicherungsdatenbank – in unserem Fall RecoveryDB.

7. Nach erfolgreichem Restore hat man die gesamte Datenbank in der RecoveryDB und kann nun einzelne Mailboxen in den eigentlichen Store restoren oder eben auch einzelne Elemente. Dafür gibt es diverse Powershell Befehle, die gut dokumentiert sind im Exchange Manual.

Wir können das gerne mal in einem anderen Beitrag dann ausführlicher zeigen, wenn das gewünscht ist. Lasst uns einfach einen Kommentar da oder schickt uns eine Mail über das Kontaktformular.

Virenscanner und DPM

Um einen reibungslosen Betrieb mit DPM zu gewährleisten ist es notwendig in der entsprechenden Anti-Viren Software das „Real-time-Monitoring“ der DPM Programmdateien zu deaktivieren (auf zu schützenden Servern).

Diese befinden sie in den folgenden Verzeichnissen:
–> ..\XSD
–> ..\Temp\MTA

Des weiteren sollte Real-time-Monitoring auf dem DPM Server für die beiden folgenden exe Dateien excluded werden:
–> DPMRA.EXE (befindet sich hier: %systemroot%\Programm Files\Microsoft Data Protection Manager\DPM\bin )
–> CSC.EXE (befindet sich hier: %systemroot%\Windows\Microsoft.net\Framework\v2.0.50727\csc.exe )

Auch sollte in der entsprechenden Anti Viren Software die Option ausgeschaltet werden, das Infizierte Daten auf dem DPM Server gelöscht werden da hier oftmals nicht sicher gestellt werden kann das es sich tatsächlich um einen Virus handelt und somit die gesamte Replica inkonsistent wird ohne das DPM es eventuell mitbekommt und eine Recovery so unter Umständen nicht mehr möglich ist. Damit wäre das Backup (beruhend auf dem Incremental Forever) faktisch nicht mehr vorhanden und im Falle eines Falles . .. . .