Oktober 23, 2014
anmelden | registrieren
Der SBS Sicherungs-Assistent (SBS-SA) minimieren

Martin Prause & Heiko Aydin
2007-09-28

Der SBS - Sicherungsassistent (Backup Wizard) ist im Prinzip eine vereinfachte und an einige Basisbedürfnisse des SBS angepasste GUI des normalen Windows- Sicherungsprogrammes[1].

Das normalen Windows- Sicherungsprogramm setzt bekanntermaßen auf dem altbekannten NTBackup.exe auf. Dabei ist jedoch zu beachten, dass die NTBackup.exe mittlerweile, in Zusammenarbeit mit der VERITAS Software Cooperation[2][3]. , stark modifiziert wurde. Somit ist es nun beispielsweise möglich den Systemstatus oder eine echte online Sicherung der Exchangedatenbank zu gewährleisten. Erwähnenswert ist auch die Erweiterung um die Snapshot-Technologie

Mit den Defaulteinstellungen des SBS-SA werden Systemstatus, die Exchangedatenbank und alle (zum Zeitpunkt der Sicherungskonfiguration) gefundenen Partitionen komplett gesichert, das Ergebnis wird auf Sicherungsstartseite (innerhalb der Serverwaltungskonsole) dargestellt.

Vordergründig ist der Anwender mit diesem quasi alles erschlagendem Vollbackup auf der sicheren Seite. Und unter diesem Gesichtspunkt ist das formale Ziel wohl erreicht.

Doch in dem täglichen Umgang zeigen sich eine Reihe von Schwachstellen dieses Konzeptes.

Die Kritik bezieht sich im Wesentlichen auf die mangelnde Flexibilität bei:

  • der Sicherungsart (normal, inkrementell oder differentiell)
  • der Auswahl des Sicherungsumfangs (welche Dateien)
  • der Auswahl des Sicherungsziels (Wohin also Zielpfad)
  • des Sicherungsmediums (auf was, also z.B. auf Festplatte oder Tape)
  • der Auswahl der Schalter von NTBackup (z.B. /V also mit Verifizierung oder ohne)
  • der zeitliche Steuerung des Task

Das Konzept „Vollsicherung über alles“ führt häufig (zumindest bei einer Sicherung auf die noch immer weit verbreiteten Bandlaufwerke) zu einem Kapazitätsproblem. Selbst wenn denn ein solches Kleinunternehmen über einen automatische Bandwechsler verfügt, erweist sich der Umfang und das damit einhergehend größere Backupfenster als Handicap.

Spötter messen gar dem hart im Code integrierte verify-Schalter einen positiven Beitrag zur Fortbestandssicherung des Unternehmens bei. Allerdings mehr durch den allmorgendlichen verbesserten informellen Informations-Austausch in der Kaffeeküche. Unverständlicherweise wird das aber von Seiten der Geschäftsführung zumeist nicht ausreichend gewürdigt. Aber das sind ja sowieso komische Leute. Die maulen auch wegen der nun notwendigen Anschaffung von Bänder im Terrabereich.

Aber schon bei täglich nur 50 Gig an 5 Tage der Woche und einer Rückhaltung von Tagessicherungen über vier Wochen plus einer Monatsicherung sowie einer Jahressicherung ergeben sich halt (5x50x4 11x50 1x50=1,6 TB

Ganz Pfiffige aus http://www.eggheadcafe.com sind daher schon auf die Idee gekommen mittels Hex-Editor den /V Schalter aus der bkprunner.exe zu entfernen.

http://www.eggheadcafe.com/software/aspnet/30171105/exchange-logs-deleted-on.aspx

Das ist offensichtlich tatsächlich möglich:
Proof-of-Concept /v Schalter aus bkprunner.exe löschen

Aber nur weil man es kann, heißt es ja noch lange nicht, dass man es sollte!! Auf jeden Fall ist das nichts was, das man mal eben nebenher durchführen sollte. Weiterhin halte ich es zumindest für fraglich, ob denn ein Backup ohne verify überhaupt ein verlässliches Backup ist.

Auch Ansätze weniger Datensicherungsläufe aufzubewahren (also z.B. statt vier Wochen halt nur zwei Wochen) können wohl kaum als der Weisheit letzter Schluss betrachtet werden.

Hier hilft letztendlich nur: „Auf das Nötigste einschränken ergänzt um das Sinnvolle“. Schöner Satz -aber was heißt das denn konkret. Hier stehe ich erstmal im Regen. Denn trotz all der umfangreichen Dokumentation suche ich immer noch nach der sinnvollen Lösung.[4]

Sicher ist wohl, dass die Sicherung eines eventuell sichtbaren X-Laufwerkes M:\ keine gute Idee wäre.
Vgl.: http://www.msxfaq.net/server/mdrive.htm

Zur Zeit verfahre ich daher nach dem Motto lieber zuviel als zu wenig und außerdem gibt es nun halt Wechselplatten plus NAS und USB-Platten statt Bänder. Demnächst wahrscheinlich endlich eine schicke neue Storage-Lösung.
Wir haben es ja. Denn SBS war ja verhältnismäßig günstig. ;-)

Ein weiteres Problem ist die relativ fixe Festlegung bezüglich der Auswahl des Sicherungsmediums. Dies macht sich beispielsweise bemerkbar, wenn eine zusätzliche onsite-Sicherung[5] auf einer externen Platte erstellt werden soll. Denn dann wird es aufwendig.

Entweder SBS-Sicherung händisch abändern und später wieder zurück auf Normal ändern. Oder aber etwas eleganter, durch den Austausch des von der pkbrunner.exe verwendeten Registry-Bereichs (HKLM\software\Microsoft\smallbusinessserver\backup).
Vgl.: http://sbs.seandaniel.com/2004/10/sbs-2003-backup-hack_05.html [6]

In diesem Sinne wäre es auch denkbar, Backups mit unterschiedlichem Sicherungsumfang durch einen scriptbasierten Austausch der verwendeten BKS Datei zu erzielen.[7]

Denkt man diese Ansätze weiter, dann könnte man im Prinzip alle aufgeführten Einschränkungen umgehen. Denn man könnte diese Ansätze auf die Spitze treiben und wie folgt vorgehen:

Via Hex-Editor erstelle man sich unterschiedliche bkprunner.exe (also jeweils mit den Schaltern wie man es möchte), weiterhin erstellt man sich verschiedene bks-Sicherungsdateien mit unterschiedlichem Backup-Umfang um dann via Austausch-Scripte unterschiedliche Backups zu ermöglichen. Natürlich unter Berücksichtigung der Erkenntnisse um den Reg-Bereich!

Ich bin mir ziemlich sicher, dass dies wirklich machbar ist und man die Ergebnisse auch ordnungsgemäß im Sicherungsreport angezeigt bekommt.

Ich bin mir aber noch sicherer, dass wenn dies wirklich jemand umsetzten würde, er des Wahnsinns fette Beute wäre.

Zusammenfassend kann man wohl sagen, dass der SBS Backup Assistent zwar ist ein schöner Ansatz ist, er aber nicht ausreicht um eine sinnvolle also auch differenzierte Datensicherung zu erzielen.

Die bisher dargestellten Lösungen kann man als ganz nett und teilweise als recht piffig bewerten, doch sind diese Ansätze wohl eher als wenig robust zu anzusehen und gerade unter dem besonderen Sicherheitsaspekt der Datensicherung wohl zu verwerfen.

Es gilt also einen anderen Weg aufzuzeigen:
Also ein System zu entwickeln, das einerseits professionellen Sicherheitsansprüchen entspricht - aber andererseits dem Mitarbeiter vor Ort in einer KISS[8]-Umgebung eine effektive und verlässliche Überwachung ermöglicht.

Im Prinzip kann daher einfach auf den großen Bruder von NTBackup zurückgegriffen werden: Symantec Backup Exec 11d für Windows Small Business Server[9][10]. Diese Vorgehensweise entspricht auch der Empfehlung von Thomas Joos Autor von: MS Small Business Server 2003 R2 Das Praxisbuch in der 2. Auflage ISBN 978-3-86645-562-7 erschienen bei MS Press.

Aber wer statt Symantec Backup Exec 11d zu kaufen lieber in eine neue Storage –Lösung investieren möchte, der kann über den im Folgenden aufgezeigten Weg auch beliebige Sicherungen mit NTBackup erstellen und trotzdem die Ergebnisse in dem im SBS vorgesehenen Sicherungsreport erhalten.

Denn mit dem modernisiertem NtBackup (vgl. zuvor) steht das Mittel zur Verfügung, das professionellen Sicherheitsansprüchen entspricht und lediglich die der Erweiterung um die fehlende Integration des Ergebnisses in die Sicherungsassitentenübersicht bedarf.

Und die Investition in die Storage-Lösung scheint mir zum jetzigen Zeitpunk sinnvoller. 
Nicht verhehlen möchte ich aber auch nicht, dass ein Restore u.U. aufwendiger bzw. etwas weniger bequem sein könnte, als dies mit der besagten 3rd Party Lösung wohl machbar ist.

Und last but not least der versprochene Ausblick auf die zukünftige Entwicklung:
MS scheint sich der angeführten Unzulänglichkeiten wohl bewusst zu sein und wirkt angeblich dem durch die völlige Neugestaltung des Datensicherungsbereiches in der kommenden Version Cougar entgegen:
"The SBS Backup solution is being completely re-vamped. However, we have made the full switch, and the backup solution will no longer support backing up to tape. Using snapshot technology, the backups will be extremely quick using incrementals that can be scheduled as often as every 30 minutes. A copy of NTBackup will be able to extract files from the old SBS 2003 format, but no new data can be added. If tape is super important to you, start sizing up 3rd party backup solutions."
Quelle: http://sbs.seandaniel.com/2007/05/hey-wheres-my-next-version-of-sbs.html

Schöne neue Welt! Dummerweise ist aber die Datensicherung kein Problemkreis dem man getrost aussitzen kann.

Die benötigten kostenlosen Tools dafür sind:

  • NTBackup
  • LogParser 2.2[11]
  • xmlStarlet[12]
Das Konzept ist wie folgt:
1. Erstelle ein, wie auch immer geartetes Backup, mittels NTBackup:
 
ntbackup backup f:\test /j "Test Backup" /f "g:\Testbackup.bkf"
 
Das Ausführen von NTBackup hat zur Folge, dass mindestens drei Eventeinträge
in der Ereignisverwaltung ( Eventlog) des Betriebssystems erstellt werden.
 
2. Mittels dem Tool LogParser wird nun der Abschlußeintrag von NTBackup (EventID:8019[13])
in eine XML Datei extrahiert.
 
3. Die Logdatei des letzte Backups wird auf die übliche Weise mittels:
"dir /b /od %logdir%*.log"
ermittelt
 
4. Mit Hilfe des Tools xmlStarlet wird anschließend die "Backup Results.xml" von
bkprunner um folgenden Eintrag erweitert(unter dem Element ):
 
            [EventType des NTBackups Events abgebildet auf: Success|Failure]
            [TimeWritten des NTBackup Events]
            [Logdatei des letzten NTBackups]
 
5. Das sukzessive Eintragen der Sicherungen in die Datei "Backup Results.xml" hat zur Folge, das diese ab jetzt automatische im SBS Sicherungsreport angezeigt werden.

Das dazu gehörige Script::

@echo off 
rem Das Verzeichnis der BackupLogs
set backupdir=C:\Dokumente und Einstellungen\SBS Backup User\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\
 
rem Das Verzeichnis von bkprunner BackupResults.xml
set backupresults=C:\Programme\Microsoft Windows Small Business Server\Backup\Backup Results.xml
 
rem Extrahiere den letzten Abschlußeintrag (EventID=8019)
rem von ntbackup aus dem Syslog in eine XML-Datei
logparser -q:On -i:evt -o:xml "select top 1 * into ntresults.xml from application where sourcename='NTBackup' and eventid=8019 order by recordnumber desc"
 
rem Ermittel die zu letzt geänderte/erstellte NTBackup Logdatei
for /f %%i in ('dir /b /od "�ckupdir%*.log"') do @set Neueste=%%i
 
rem Extrahiere Eventtyp (Information, Error, Warning) und Datum aus der erstellten XML-Datei
For /F "Tokens=*" %%I in ('xml sel -t -v "number(/ROOT/ROW/EventType)"   "ntresults.xml"') Do Set eventtype=%%I
For /F "Tokens=*" %%I in ('xml sel -t -v "normalize-space(string(/ROOT/ROW/TimeWritten))"   "ntresults.xml"') Do Set eventtime=%%I
 
rem Erweitere die BackResults.xml von bkprunner um einen weiteren Backupeintrag
xml ed -a "/BackupResults/BackupResult[last()]" -t elem -n "BackupResult" -v "" "Backupresults%" > temp.xml
 
rem Trage entsprechen der EventID den Status des BackupResultSets ein
rem EventID=Information

if %eventtype%==4 goto okay

rem EventID<>Information

if not %eventtype%==4 goto failed

:okay
xml ed -i "/BackupResults/BackupResult[last()]" -t attr -n "Status" -v "Success" temp.xml > temp1.xml
goto next
 
:failed
xml ed -i "/BackupResults/BackupResult[last()]" -t attr -n "Status" -v "Failure" temp.xml > temp1.xml
 
goto next
 
:next
 
rem Trage noch Datum und Logdatei ein
xml ed -i "/BackupResults/BackupResult[last()]" -t attr -n "Date" -v "%eventtime%" temp1.xml > temp.xml
xml ed -i "/BackupResults/BackupResult[last()]" -t attr -n "LogFile" -v "Backupdir%%Neueste%" temp.xml > "Backupresults%"
 
rem Lösche Tempdateien
 
del temp.xml
del temp1.xml
del ntresults.xml
 
LICENCE:
THE SCRIPT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SCRIPT OR THE USE OR OTHER DEALINGS IN THE SCRIPT.
 

[1] Diese ist zu finden unter: Start => alleProgramme =>Zubehör=>Systemprogramme=>Sicherung
[2] Vgl. z.B. der gemeinsame Copyright Hinweis unter Info des Server 2003 Sicherungsassistenten
[3] Auch bekannt unter Volume Shadow Service (VSS) oder Schattenkopie.
  Für einen ersten Überblick: http://www.msxfaq.net/verschiedenes/vss.htm
[4] Das wird dann mein nächster Artikel. Kann ich ja dann mit dem gewonnen SBS ausprobieren lol
[5] onsite Sicherung: Das sind Sicherungen die weit entfernt von den üblichen Sicherungen gelagert werden, damit man wenigsten weiß wem man etwas hätte liefern sollen, wenn die Firma nicht gerade abgebrannt wäre.
[6] Zum Ausblick:Sean Daniel ist MS Program Manager
[7] Das von BKprunner verwendete Backup Script (BKS) „C:\Programme\Microsoft Windows Small Business Server\backup\ Small Business Backup Script.bks“)
[8] KISS: Keep It Small & Simple
[9] Dies ist ursprünglich ein Produkt der Veritas Software Cooperation. Veritas wurde aber im Jahre 2004 durch Symantec aufgekauft.Veritas war und ist wohl auch im neuen Gewand der führende Backup-Anbieter
[10] Vgl. Hierzu auch : Symantec whitepaper: Converging System and Data Protection   
     http://www.symantec.com/business/products/whitepapers.jsp?pcid=2244&pvid=1602_1
[11] http://www.msexchangefaq.de/tools/logparser.htm
[12] http://xmlstar.sourceforge.net/
[13] http://www.eventid.net

Für den Inhalt der Artikel sind die Autoren verantwortlich.


Feedback maximieren