thebesth
Goto Top

Backup-Prozess optimieren?

Hallo,

ich hab eine Frage, wie sich unser Backup-Prozess optimieren lässt?

Wir arbeiten derzeit mit einem Windows Server 2008 R2.
Auf diesem ist über die Aufgabenplanung folgendes definiert.

Täglich um 21:55 -> führe Batchdatei "stoppe_dienste.bat" --> wie der Name schon sagt werden hier in einer normalen Batch mit Hilfe von "sc" Dienste von Datenbanken und ähnlichem gestoppt.
Täglich 22:00 -> Windows-Sicherung mit dem Windowsinternen Sicherungstool wbadmin (ich nenn es mal das "neue ntbackup" ^^) --> dort sind als Sicherungselemente alle Festplatten, Systemstate, Bare-Metal usw ausgewählt -- gesichert wird auf Festplatte
Täglich 23:00 -> Batchdatei "starte_dienste.bat" --> startet die oben beendeten Dienste wieder
Täglich 23:00 -> mit Hilfe von einem Drittanbieter wird die Sicherungsdatei von Platte nun auf Tape geschrieben.
Täglich 6:00 -> Emailversand des Protokolls (Protkoll wird in jeder Batchdatei mit erstellt und auch von Sicherungstool benutzt)

Wie kann ich diesen Vorgang nun mit Abhänigkeiten versehen?
zb. möchte ich das die Sicherung anfängt, wenn alle dienste beendet sind. manchmal braucht ein Dienst länger zum beenden und die 5mins dazwischen reichen vielleicht nicht aus, dann soll die Sicherung natürlich erst danach starten. Desweiteren möchte ich aber auch nicht eine Stunde dazwischen Luft lassen, denn um so länger ist die Downtime der Dienste.
Oder er hängt sich an einer Stelle ganz auf dann braucht der Rest garnicht weiterlaufen.
Die Dienste sollten am besten wieder gestartet werden sobald die Windows-Sicherung abgeschlossen ist.
Genauso sollte die Email am besten versand werden, wenn die Speicherung auf Tape abgeschlossen ist.
Ohne unnötige Wartezeiten dazwischen einzukalkulieren, die im Problemfall wahrscheinlich eh nicht simmen.

Wie löse ich diese Anforderung am geschicktesten? Gibt es da eine sinnvolle Lösung über Batchscripte? Wie geht man an das Problem heran?

Content-ID: 171972

Url: https://administrator.de/contentid/171972

Ausgedruckt am: 25.11.2024 um 15:11 Uhr

goscho
goscho 24.08.2011 um 09:55:20 Uhr
Goto Top
Zitat von @TheBesth:
Hallo,
Morgen,
ich hab eine Frage, wie sich unser Backup-Prozess optimieren lässt?

Täglich 23:00 -> mit Hilfe von einem Drittanbieter wird die Sicherungsdatei von Platte nun auf Tape geschrieben.
Was ist das für ein Drittanbietertool?
Warum nutzt ihr keines, welches in der Lage ist, die Datenbanken online und eventuell mit VSS zu sichern?

Wie löse ich diese Anforderung am geschicktesten? Gibt es da eine sinnvolle Lösung über Batchscripte? Wie geht man an das Problem heran?
Mein Vorschlag:
Sicherungssoftware, die zu den kompletten Anforderungen eurer Umgebung passt.
Das könnte bspw. Backup Exec sein, welches mittels Agenten sehr viele Datenbanken und Systeme zuverlässig sichern kann.
Wenn dann doch noch ein exotisches Programm darunter ist, welches nicht direkt gesichert werden kann, bietet BE die Funktion eigene Scripte vor/nach der Sicherung laufen zu lassen.
Dort kann man sehr schön einstellen, dass erst mit der Sicherung fortgefahren wird, wenn das Script Erfolg gemeldet hat.
TheBesth
TheBesth 24.08.2011 um 11:21:05 Uhr
Goto Top
Was ist das für ein Drittanbietertool?
Das Tool ist irrelevant. Es sichert einfach nur Daten von HDD auf Tape. (darf man hier Werbung machen?)

Warum nutzt ihr keines, welches in der Lage ist, die Datenbanken online und eventuell mit VSS zu sichern?
Ich bin der Ansicht 100%ige Datenkonsistenz erreicht man nur durch abschalten - von Online-Agents bin ich nicht so begeistert.
Ich möchte gerne ein Backup-to-Disk-to-Tape realisieren Aus dem einfachen Grund, dass die Downtime möglichst gering ist.

Das könnte bspw. Backup Exec sein, welches mittels Agenten sehr viele Datenbanken und Systeme zuverlässig sichern kann.
Leider habe ich in der Vergangenheit gerade mit diesem Produkt und den Agents sehr viele Probleme gehabt, weshalb wir wieder auf den "altmodischen" Weg zurück gekehrt sind. Ohne Agents und nur im Offline-Betrieb der Datenbanken.
Dies funktioniert auch wie oben erläutert sehr gut. Es gibt keine Probleme mehr. Deswegen möchte ich gerne auch bei der Sicherungsvariante bleiben - meine Frage ist jetzt nur noch, ob es möglich ist diesen Vorgang zu optimieren, eben auf meine oben genannten Punkte. Sozusagen ein Batchablauf mit Rückmeldung.
goscho
goscho 24.08.2011 um 11:34:00 Uhr
Goto Top
Zitat von @TheBesth:
> Was ist das für ein Drittanbietertool?
Das Tool ist irrelevant. Es sichert einfach nur Daten von HDD auf Tape. (darf man hier Werbung machen?)
Wieso solltest du das Tool nicht nennen dürfen?
> Warum nutzt ihr keines, welches in der Lage ist, die Datenbanken online und eventuell mit VSS zu sichern?
Ich bin der Ansicht 100%ige Datenkonsistenz erreicht man nur durch abschalten - von Online-Agents bin ich nicht so begeistert.
Das ist - IMHO - grober Unsinn.
Wenn du jedoch so denkst, dann müsstest du konsequenter Weise deine Windows-Server vor jeder Sicherung herunterfahren und Offline-Sicherungen/Images erzeugen.
Ich möchte gerne ein Backup-to-Disk-to-Tape realisieren Aus dem einfachen Grund, dass die Downtime möglichst gering
ist.
Welche Downtime, die der Datenbanken?
Bei Onlinesicherung gibt es überhaupt keine Downtime?

Darüber hinaus gibt es zwingende Gründe für Onlinesicherungen bei verschiedenen Datenbank-Anwendungen.
Wenn du bspw. den Exchange-Server nie online sicherst, werden die Logs deine Festplatte volllaufen lassen.

Von welchen Datenbanken reden wir hier eigentlich (SQL/Oracle, Exchange, etc)?
TheBesth
TheBesth 24.08.2011 um 11:53:51 Uhr
Goto Top
Ich danke dir für deine Bemühungen, aber du hilfst mir genau 0 weiter.
Ich habe formuliert warum ich die Lösung bevorzuge und ich werde hier jetzt auch keine Grundsatz-Diskussion anfangen zum Thema wie sichern.
Das Thema haben wir intern schon lange genug diskutiert - und sind aus oben genannten Gründen auf die jetztige Lösung gekommen.
Meine Frage bezog sich auf einen anderen Sachverhalt. Nämlich wie ich meine Batchskript optimiern kann - ob es da Möglichkeiten gibt - oder gar eine bessere Aufgabenplanung als die Windowsinterne - mit der man genau die oben genannten Probleme abdecken kann.

Es ist zwar nett dass du dir Gedanken zu dem Thema machst, aber es hilft mir nicht.
Ich gehe jetzt einfach mal davon aus, dass es keine sinnvollere Alternative gibt, um meinen Sachverhalt umzusetzen. Schade eigentlich.

Ich hatte erst überlegt ob ich sie nicht lieber in den Bereich Batch-Skripting packe um genau das zu vermeiden was nun kam. Tja hinterher ist man immer schlauer.

Wenn du jedoch so denkst, dann müsstest du konsequenter Weise deine Windows-Server vor jeder Sicherung herunterfahren und Offline-Sicherungen/Images erzeugen.
Richtig - genau das machen wir auch (aber nicht täglich)

Darüber hinaus gibt es zwingende Gründe für Onlinesicherungen bei verschiedenen Datenbank-Anwendungen.
Wenn du bspw. den Exchange-Server nie online sicherst, werden die Logs deine Festplatte volllaufen lassen.
Danke für die Info - das war mir so bisher noch nicht bekannt - aber wir haben keinen Exchange. Aber ich werde den Sachverhalt mal im Hinterkopf behalten und meine anderen Datenbank daraufhin prüfen - nicht das hier ein ähnliches Phänomen auftritt.

Wir reden von MS-SQL, MySQL, Lotus Domino, C-SIDE und dbase Datenbanken. Diese muss ich alle sichern. Desweiteren noch normale Dateien, aber diese sind natürlich unkritisch auf eventuelle Zugriffs-Probleme
goscho
goscho 24.08.2011 um 12:33:14 Uhr
Goto Top
Hi TheBesth,
klar ist das eine Grundsatzdiskussion, aber das kann manchmal zu Lösungen führen, die man so überhaupt nicht gesehen hätte.

Wir reden von MS-SQL, MySQL, Lotus Domino, C-SIDE und dbase Datenbanken. Diese muss ich alle sichern.
Zu Lotus Domino und C-SIDE kann ich mich nicht äußern, da ich davon keine Ahnung habe.
Bei MS-SQL-Datenbanken wäre eine Online-Sicherung (oder auch ein kompletter Wartungsplan) auf jeden Fall zu empfehlen.
Bei einer Wartung können auch Datenbanküberprüfungen und andere sinnvolle Aktionen durchgeführt werden.
Auf die Schnelle habe ich mal folgenden Link für dich rausgesucht.

Wenn ihr die SQL-Server-Datenbanken nicht im Wiederherstellungsmodell simple laufen habt, müsst ihr sogar zwangsweise Onlinesicherungen machen. Auch hier würde das Problem mit den volllaufenden Festplatten auftreten.
Hier ist mal eine Auflistung der verschiedenen Wiederherstellungs-Modi beim SQL-Server.

Natürlich kann man diese Sicherungen/Wartungspläne auch separat mit dem SQL-Server Management-Studio durchführen, doch wenn das automatisch von der Sicherungssoftware gemacht wird, hat man eine Sache weniger, die eventuell einer anderen (der Sicherung durch die Software) in die Quere kommen könnte.

Desweiteren noch normale Dateien, aber diese sind natürlich unkritisch auf eventuelle Zugriffs-Probleme
Das ist so nicht korrekt.
Auch 'normale Dateien' können gesperrt sein (während der Sicherung eventuell durch einen User in Benutzung). Wenn du dann eine Lösung einsetzt, die damit umgehen kann, ersparst du dir viele Fehlermeldungen im Sicherungsprotokoll.
Allerdings glaube ich, dass das mit wbadmin schon klappen sollte. face-wink

Zu deiner Eingangsfrage:

Auch wenn man - wie ich - vorwiegend mit Backup Exec sichert, muss man gelegentlich Datenbanken dafür anhalten.
Bestes Beispiel hierfür sind die DATEV-Datenbanken, die nicht über den normalen MSSQL-Server-Agenten oder darauf basierende Sicherungslösungen online gesichert werden können.
Für diese muss man auch die Stopp-/Start-Scripte einrichten.

Genau jetzt kommt dein Problem mit der Zeit des Dienst-Shutdowns ins Spiel.
In einer BE-Sicherung kann man festlegen, dass die Sicherung erst starten soll, wenn das Script durchgelaufen ist und die Rückmeldung gegeben hat.

Da ich mich mit wbadmin zu wenig auskenne, kann ich dir nicht sagen, ob es eine Möglichkeit gibt, diese Rückmeldung deines Scripts einzubinden.
Ich würde hier ein ausreichendes Zeitfenster einbauen.