Sicherung eines Small Business Server 2008 (incl. Exchange)

aus WB Wiki; freien Wissensdatenbank rund ums Thema Computer
Wechseln zu: Navigation, Suche

Artikel erarbeitet durch Morpheus36


Sicherung eines Small Business Server 2008 (SBS 2008) inklusive Exchange

Dieser Artikel beschreibt eine sichere und dennoch kostengünstige Methode, einen Small Business Server 2008 inklusive laufender Exchange Datenbank zu sichern.

Vorwort

Wenn man einen Windows Small Business Server bereitstellt, kommt man um die Planung einer geeigneten Backupstrategie nicht herum. Viele Admins stellen sich dann unweigerlich die Frage, wie man mit geringstem Kostenaufwand die effizienteste Backuplösung findet. Gleichzeitig muss sichergestellt sein, dass der Server bei einem Totalausfall in kürzester Zeit wiederhergestellt werden kann.

Bei der integrierten Backuplösung des SBS2008 (bzw. grundsätzlich Server 2008), hat Microsoft endlich die imagebasierte Sicherung eingeführt. So kann man nun ganze Partitionen, inklusive der Systempartition in einem Rutsch auf externe Festplatten, Netzlaufwerken oder DVD-Datenträgern sichern.

Allerdings steht, unter anderem, eine ganz entscheidende Funktion nicht zur Verfügung: Die Online-Sicherung der Exchange-Datenbank!

Hier müsste man weiterhin auf teure Drittherstellerlösungen zurückgreifen.

Auf der Suche nach einer bezahlbaren Backuplösung, die imagebasiert ist und trotzdem in der Lage ist, die Exchange-Datenbank zu umfassen, bin ich auf ein Befehlszeilentool gestoßen, welches Bestandteil von Server 2008 und SBS2008 ist. Dieses Tool ist in der Lage, die Exchange-Datenbank so vorzubereiten, dass sie mit beliebiger Image-Backuplösung gesichert werden kann, ohne ihre Konsistenz zu verlieren.

Die Kombination aus dem extrem kleinen Image-Tool "Drivesnapshot" von Thomas Ehlert, sowie das in Server 2008/SBS2008 integrierte Befehlszeilentool "Diskshadow" bietet die Möglichkeit, mit nur sehr geringem Kostenaufwand den kompletten Server, inklusive Exchange-Datenbank, zu sichern. Und darüber hinaus ist das System in einer durchaus moderaten Zeit wiederhergestellt.

Berücksichtigung von Punkten/Überlegungen

  • imagebasierte Vollsicherung des Small Business Server inklusive Sicherung der Exchange-Datenbank.
  • Durchführung einer differenziellen Sicherung, die auf der Vollsicherung aufbaut. Diese ermöglicht, z.B. versehentlich gelöschte Dateien blitzschnell aus einer früheren Sicherung wiederherzustellen. Dabei kann man jedes einzelne Backup-Image als Laufwerk mounten und beliebige Dateien oder Ordner heraus kopieren. Die differenziellen Images sind kleiner, dies verbraucht weniger Platz und beschleunigt die Sicherung.
  • automatisiertes Verschieben eines Sicherungssatzes in ein anderes Verzeichnis, um eine Sicherung der vergangenen Woche vorhalten zu können.

Voraussetzungen

  • ein funktionierender SBS 2008 mit bereitgestelltem Exchange Server 2007
  • installiertes Servicepack 2 (SP2) und aktueller Updatestand
  • Drivesnapshot von Tom Ehlert Software (www.drivesnapshot.de)
  • das in SBS2008 integrierte Tool "Diskshadow"
  • "eine Hand voll" Skripts (in diesem Artikel beschrieben) zum Automatisieren des Sicherungsvorgangs
  • die Windows Server 2008 Aufgabenplanung.

Beispielszenario

Als Beispiel für diesen Artikel verwende ich einen Small Business Server 2008 mit folgender Festplatten–Konfiguration:

  • C:\ Systempartition (Installation des SBS2008)
  • D:\ Datenpartition
  • E:\ Exchange-Datenbank
  • X:\ USB-Datenträger für das Backup mit folgender Verzeichnisstruktur:

X:\backup \Snapshot\ Verzeichnis, wo die Images gespeichert werden

X:\Backup2\Woche1\Snapshot\ Verzeichnis, wo die Images der letzten Woche lagern

X:\logs\ hier werden die Logfiles gespeichert

X:\skripte\ hier liegen die Skripte, die ausgeführt werden

X:\snapshot\snapshot.exe das Imagetool von Tom Ehlerts Software

Erforderliche Skripte

  • ex-backup_mo.txt (beinhaltet die Befehlszeilen für das Einfrieren der Exchange-Datenbank, sowie den anschließenden Aufruf der Batchdatei "mo_full.bat")
  • mo_full.bat (beinhaltet die Befehlszeilen für den Aufruf des Image-Tools "Snapshot.exe").
  • copy-w1.bat (beinhaltet die Befehlszeilen für das Verschieben der nach einer Woche angehäuften Imagedateien in ein anderes Verzeichnis).

Aufbau der Skripte

In folgendem wird beschrieben, wie die Skripte aufgebaut sind und welche Funktionen sie ausführen, damit die Sicherung Erfolg hat.

ex-backup_mo.txt

Zunächst erstellen wir eine Textdatei, die später von "Aufgabenplanung" aufgerufen wird. Ich nenne sie ex-backup_mo.txt (Exchange-Backup_Montag).

In dieser Textdatei wird zunächst die Exchange-Datenbank Partition eingefroren.

Wir müssen dafür sorgen, dass wir Partition E: mit der Exchange-Datenbank so gesichert bekommen, dass sie die Konsistenz behält. Hierzu frieren wir diese Partition ein. Dabei benutzen wir das Onboard-Tool "Driveshadow" von Server 2008.

Der Inhalt der Textdatei ex-backup_mo.txt beinhaltet folgende Befehlszeilen:

set context persistent
begin backup
add volume e: alias FirstStorageGroup
create
expose %FirstStorageGroup% Q: 
Exec x:\skripts\mo_full.bat
end backup
delete shadows exposed Q:
exit

Nachdem diese Befehlsfolge abgearbeitet wurde, haben wir eine neue Partition Q: mit einer exakten Kopie von Partition E:.

Laufwerk Q: wird anschließend durch Aufruf der Batchdatei mo_full.bat von snapshot.exe gesichert.

War die in mo_full.bat aufgerufene Sicherung erfolgreich, wird mit der anschließenden Befehlsfolge das virtuelle Laufwerk Q: wieder gelöscht: Somit ist die Abarbeitung der Textdatei ex-backup_mo.txt abgeschlossen.

mo_full.bat

Der Inhalt der Batchdatei mo_full.bat lautet wie folgt:

x:\snapshot\snapshot.exe C:+D:+Q:  x:\backup\snapshot\$diskmontag_full.sna -R -W --novss --logfile:x:\logs\mo_full.log

Mit dieser Befehlsfolge wird ein Image von den Partitionen C, D und Q: nach Laufwerk X: in das Unterverzeichnis "\backup\Snapshot\" durchgeführt.

Die Parameter dafür bedeuten folgendes:

  • $disk <- wird während der Sicherung durch den Laufwerksbuchstaben ersetzt. Die Images sehen dann so aus: "cmontag_full.sna" "dmontag_full.sna" "qmontag_full.sna"
  • -R sorgt dafür, dass der Papierkorb vor der Sicherung geleert wird
  • -W unterdrückt das Warten auf eine Eingabe des Benutzers nach der Sicherung
  • --novss verhindert, dass Snapshot die Schattenkopien für die Sicherung verwendet.

(Ein Verwenden von Schattenkopie durch Snapshot führt bei der Exchange-Datenbank Sicherung beim SBS 2008 zu einem Fehler und die Sicherung wird abgebrochen).

  • --logfile: <- schreibt alle durchgeführten Vorgänge von "snapshot.exe" in ein Logfile.

copy-w1.bat

Die Batchdatei "copy-w1.bat" hat folgenden Inhalt:

erase x:\backup2\woche1\snapshot\*.* /f/q/s
move /Y x:\backup\snapshot\*.* x:\backup2\woche1\snapshot\
exit

Im Artikel wird später im Abschnitt Verschieben der Backupfiles genauer auf diese Datei eingegangen.

Aufruf von Diskshadow / Vollbackup

Aufruf von Diskshadow, sowie Übergabe an die Skriptdatei ex-backup_mo.txt im Taskplaner "Aufgabenplanung".

Um die Bereitstellung der Exchange-Datenbank zu initiieren, müssen wir den Aufruf von Diskshadow im Taskplaner "Aufgabenplanung konfigurieren. Des Weiteren wird hier mit einer Befehlszeile die weiter oben aufgeführte Textdatei ex-backup_mo.txt aufgerufen.

Dazu rufen wir die Aufgabenplanung auf und erstellen einen einfachen Task:

In diesem Fall nennen wir ihn "Vollbackup Montag (inkl. Exchange)".

Aufgabenplanung01.jpg

Im nächsten Schritt wählen wir "wöchentlich" und "Montag 23:00 Uhr" für die Sicherung.

Aufgabenplanung02.jpg Aufgabenplanung03.jpg

Nun wählen wir "Programm starten", da wir hier Diskshadow aufrufen wollen:

Aufgabenplanung04.JPG

In die Zeile "Programm/Skript" geben wir folgendes ein:

C:\Windows\SysWOW64\diskshadow.exe

Unter "Argumente hinzufügen", geben wir die entscheidenden Parameter ein:

/s x:\skripts\ex-backup_mo.txt /l x:\logs\ex-backup_mo.log

Hier wird die zuvor beschriebene Textdatei aufgerufen und anschließend ein Logfile in den angegebenen Pfad geschrieben.

Aufgabenplanung05.JPG

Damit der Aufruf auch ohne angemeldeten Benutzer funktioniert, sollte der Benutzer "SYSTEM" für den Task ausgewählt werden.

Nun haben wir schon mal ein Vollbackup, welches jeden Montag um 23 Uhr durchgeführt wird.

Die Pfade, Namen der Skripte, Verzeichnisnamen, sowie Zeitpunkt der Sicherung sollte natürlich jeder seinen Bedürfnissen anpassen.

Differenzielle Sicherung (optional)

Wem die wöchentliche Vollsicherung nicht reicht und die Backups rückwirkend für 1 Woche vorhalten will, muss 4 weitere Batchdateien, sowie 4 weitere Textdateien anlegen, die jeweils für den entsprechenden Wochentag vom Taskplaner aufgerufen werden. (sofern er von Mo-Fr. sichern will).

Ich beschränke mich hier mit der Beschreibung auf nur einen Wochentag "Dienstag", da die Skripte für die restlichen Tage Mittwoch bis Freitag, nur entsprechend angepasst / erstellt werden müssen.

Wir erstellen eine neue Batchdatei "di_dif.bat" in x:\skripte\

In diese geben wir folgende Befehlszeilen ein:

x:\snapshot\snapshot.exe C:+D:+Q: x:\backup\snapshot\$diskdienstag_dif.SNA     
-hx:\backup\snapshot\$diskmontag_full.hsh --novss --logfile:x:\logs\di_dif.log

Dieser Aufruf bewirkt, dass eine Imagedatei "[Laufwerk]dienstag_dif.sna" erstellt wird, welche aus der Hashdatei "[Laufwerk]Montag_full.hsh" die notwendigen Werte ausliest, um eine differenzielle Sicherung erstellen zu können.

Anmerkung: Um zu verstehen, welche Bedeutung die verschiedenen Parameter und Dateiendungen von Drivesnapshot haben, empfehle ich den Besuch der Herstellerseite http://www.drivesnapshot.de/de/commandline.htm

Nun kopieren wir den Inhalt der Textdatei "ex-backup_mo.txt" in eine neue Textdatei und benennen diese mit "ex-backup_di.txt".

In dieser Textdatei ändern wir nur eine Zeile:

Exec x:\skripts\mo_full.bat  

ändern wir in:

Exec x:\skripts\di_dif.bat

Anschließend erstellen wir wie weiter oben beschrieben mit Aufgabenplanung einen neuen Task und passen hier nur die Parameter beim Aufruf von Diskshadow an, indem wir hier anstelle von ex-backup_mo.txt die Datei ex-backup_di.txt aufrufen lassen.

Der Aufruf im Taskplaner sieht dann für die differenzielle Dienstagssicherung so aus:

/s x:\skripts\ex-backup_di.txt /l x:\logs\ex-backup_di.log 

Damit wir auch eine separate Log-Datei für Dienstag erhalten, ist dies hier am Schluss, wie hier angegeben auch entsprechend dem Wochentag anzupassen.

Nun könnte man sich z.B. für die ganze Woche Mo-Fr. Skripte erstellen und diese separat via „Aufgabenplanung“ aufrufen lassen.

Nach drei Tagen Sicherung sieht das Backupverzeichnis so aus:

Snapshot2.jpg

Was man hier sehr gut sieht, sind die durchnummerierten, ca. 1,5GB großen Files des Vollbackups. Die differenziellen Imagefiles sind, je nach Änderung, wesentlich kleiner.

Da sich das Image-Tool Drivesnapshot sowohl aus DOS, als auch aus Windows heraus aufrufen lässt, werden die Imagefiles in maximal 1,5GB große Stücke aufgeteilt, damit eine Rücksicherung notfalls auch unter DOS möglich ist.

Verschieben der Backupfiles

Sinnvoll wäre nun nach einer Woche Sicherung, dass wir die Image-Files in ein anderes Verzeichnis verschieben, damit wir immer auf einen Wochensatz zurückgreifen können.

Dazu erstellen wir eine Batchdatei "copy-w1.bat" und füllen sie mit folgendem Inhalt:

erase x:\backup2\woche1\snapshot\*.* /f/q/s
move /Y x:\backup\snapshot\*.* x:\backup2\woche1\snapshot\
exit

Diese Datei speichern wir nun im Skript-Verzeichnis und lassen sie im Taskplaner, z.B. am Samstag oder Sonntag, aufrufen.

Somit können wir immer auf die letzte Woche der kompletten Serversicherung zurückgreifen und ggf. versehentlich gelöschte Daten wiederherstellen.

Backup-Images als virtuelles Laufwerk mounten

Wenn Drivesnapshot mit dem Setup installiert wurde (man kann auch nur die snapshot.exe herunterladen), wird die Datei-Endung .sna unter Windows mit snapshot.exe verknüpft. Das hat den Vorteil, dass man für das Mounten eines Backup-Images lediglich die Datei doppelklicken muss. Danach erscheint im Explorer ein neues Laufwerk, aus dem man nach Belieben Dateien und Ordner herauskopieren kann.

Rücksicherung im Worst Case Fall

Für den Fall, dass der Server einen Hardwareschaden erlitten hat, oder die Server-Installation so sehr beschädigt ist, dass ein Starten unmöglich ist, wird eine Notfall-XP CD benötigt. Hierzu am besten geeignet ist BartPE (http://www.nu2.nu/pebuilder/).

Wie man sich eine solche CD erstellt, ist der Hersteller-Website zu entnehmen.

Es ist auch möglich, eventuell benötigte RAID-Treiber in die CD einzubinden. Das ist durchaus sinnvoll, da Raid-Systeme bei Servern keine Seltenheit darstellen.

Vorteil der BartPE-Boot-CD ist, dass auf dieser das Image-Tool Drivesnapshot bereits enthalten ist. Da diese Software nicht kostenlos ist, handelt es sich bei der Version auf dieser CD um eine eingeschränkte Demoversion, die allerdings das Wiederherstellen eines Images erlaubt, was für den Zweck der Rücksicherung ausreicht. Kaufen muss man sich das Produkt trotzdem, da sonst die Backupfunktion nicht genutzt werden kann.

Die Serverlizenz von Drivesnapshot kostet gerade mal 89 Euro.

Fazit

Diese Sicherungsmethode habe ich bei einigen meiner Kunden angewandt. Sie funktioniert sehr zuverlässig. Das kann ich mit ziemlicher Sicherheit behaupten, da bei einem dieser Kunden bereits der Worst Case Fall eingetreten ist. Die Rücksicherung des Servers war innerhalb von 45 Minuten erfolgreich durchgeführt.

Wichtiger Hinweis!

Allerdings muss ich darauf hinweisen, dass das Ausführen der hier beschriebenen Backupmethode zunächst in einer Testumgebung erfolgen sollte. Denn sollte sich ein Fehler bei den Skripten oder der Taskplanung eingeschlichen haben, wäre der Server für die Zeit ungeschützt, in der der Fehler nicht auffällt. Das hätte fatale Folgen, wenn ausgerechnet dann der Worst Case Fall eintrifft. (Murphys Law)