Hotfix für SQL2005 und DPM 2012 – Verfügbar – BUGFIX

So, nun ist es auch offiziell seitens Microsoft;-)
Es gibt eine erfolgreich getestete neue SQLWriterHelperPlugin.dll die auf dem SQL2005 Server im Bin Verzeichniss der DPM Installation ausgetauscht werden muss und alles läuft wieder einwandfrei.

Entweder kann ein kostenfreier Call auf der MS Homepage hierzu eröffnet werden oder ihr schreibt uns eine Mail 😉
Der Link um bei MS einen Call zu eröffnen findet ihr hier:
https://support.microsoft.com/oas/default.aspx?gprid=16340&st=1&wfxredirect=1&sd=gn

 

System Center Orchestrator 2012 und DPM

Nun ist es auch endlich möglich zentral über den System Center Orchestrator 2012 DPM an zu steuern und Aktionen aller Art an zu stoßen.

Über sogenannte Runbooks kann man im Orchestrator Aktionen auf dem DPM Server Remote ausführen. So können z.B. Power Shell Scripts oder Recovery Points über die Weboberfläche vom Orchestrator von „jedermann“ gestartet werden.

So können nun vorgefertigte Runbooks für Kollegen und andere Teams bereit gestellt werden. Wenn nun an einem Update Tag ein anderes Team z.B. das Exchange, SQL  oder Sharepoint Team sicher gehen möchte erst Updates zu installieren bevor ein Recovery Point vorhanden ist kann das nun über ein Runbook implementiert werden. Man kann so einzelne Gruppen oder Benutzer(n) Zugriff auf das entsprechende Runbook geben und sie selbst einen RecoveryPoint für ihre Applikation mit anschließendem Bericht an das Team ausführen lassen.

Hierzu muss nur das Data Protection Manager Integration Pack auf den Orchestrator Server importiert und installiert werden.
Die Integration Packs und eine Anleitung zur Installation findet ihr hier:
für DPM 2010: http://technet.microsoft.com/en-us/library/hh531742.aspx
für DPM 2012: http://technet.microsoft.com/en-us/library/hh830726.aspx

Gerne kann ich euch bei Bedarf einige Beispiel Runbooks die ich bereits erstellt habe zukommen lassen. Über Runbooks die von euch erstellt wurden würde ich mich sehr freuen .. .

 

OffsiteReady Bänder mit Powershell ausgeben

Wir haben von einem unserer Leser eine Frage bekommen. Er möchte die Bänder, die rausgenommen werden können, per Powershell einfach ausgeben anstatt jedes Mal den Tape Report zu bemühen.

Das lässt sich in Powershell mit wenigen Zeilen erledigen:

$Tapes = Get-Tape -DPMLibrary EureLibraryName
$Tapes | Where-Object {$_.isOffsiteReady} | format-table Location, Barcode, isOffsiteReady

In der ersten Zeile füllen wir die Variable $Tapes mit den Tapeinformationen eurer Library. Habt ihr mehr als eine Library, dann benutzt auch hier eine Variable wie z.B. $Libraries und füllt diese mit den Namen eurer Libraries:

$Libraries = Get-DPMLibrary -dpmservername Servername

In der zweiten Zeile oben geben wir dann nur die Tapes aus, die Offsite Ready sind und formatieren sie nach Location, Bezeichnung und OffsiteReady.

Wollt ihr die Ausgabe sortieren, z.B. nach Slots (Location) oder nach Barcode, dann fügt ihr einfach noch eine Pipe gleich nach der Ausgabe mit dem Befehl:

sort-object Spalte

Um also z.B. nach Slots zu sortieren lautet der volle Befehl:

$Tapes | sort-object Location | Where-Object {$_.isOffsiteReady} | format-table Location, Barcode, isOffsiteReady

Unserem Leser ist damit geholfen und es interessiert sicher noch mehr Leser hier.

Schreibt uns was euch interessiert und wir greifen es gerne auf!

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.