Backups sind wichtig…

… wie wichtig, merkt man meist erst, wenn es bereits zu spät ist.
Dieser Beitrag soll dazu anregen, die eigene Backupstrategie nochmals zu überdenken. Unterstützend dazu folgt ein kurzer Fragenkatalog. Anschliessend werden verschiedene Backupmöglichkeiten angesprochen und einander gegenüber gestellt.

Fragenkatalog

Folgende Fragen sollte man sich stellen um eine den Bedürfnissen entsprechede Backupstrategie zu erhalten:

  • Was muss alles ins Backup (gibt es kritische/unersetzliche Daten oder Konfigurationen, wo liegen diese)?
  • Was für einen Business-Effekt hat der Verlust dieser Daten oder der Ausfall eines Servers/Instanz?
  • Wie schnell muss im Notfall ein Backup wiederhergestellt werden können?
  • Wie aktuell müssen die Backups sein, sprich wie oft muss gebackuped werden?
  • Muss das komplette Backup gleich aktuell sein oder kann es in einen „dynamischen und statischen“ Teil gesplittet werden?
  • Wer ist zuständig fürs Backup/Restoren?
  • Gibt es eine Stellvertretung die Bescheid weiss / das System kennt?
  • Wurde der Backupprozess dokumentiert?
  • Wo (geographisch) wird das Backup aufbewahrt?
  • Wer hat alles Zugriff auf das archivierte Backup (Passwörter in Backups enthalten)?
  • Auf welchen Medien wird das Backup aufbewahrt?
  • Wie lange werden Backups aufbewahrt?
  • Was für eine Namenskonvention wird für die Backups verwendet?
  • Wie lange darf ein Backup dauern?
  • Manuelle Backups oder Automatisierte Backups?
  • Wie gross darf der Performance-Impact sein? Sind kurze Ausfallzeiten evtl. Stoppen von Servern für Backups erlaubt?
  • Wurde ein Notfallszenario (Restore) schon einmal getestet?

Übersicht verschiedener Möglichkeiten

Für Magnolia gibt es eine ganze Reihe von Möglichkeiten ein Backup zu realisieren. Ein paar davon werden nachfolgend erwähnt:

Dateisystem & Datenbank Backup:
Eine altbewährte Backuptechnik  einmal eine Kopie des gesamten Dateisystems und dazu einen aktuellen DB-Dump.
In einer Virtuellen Umgebung sind auch Snapshots relativ praktisch um kurz was auszuprobieren. Bei einem DB-Dump ist meist die Schwierigkeit, dass dieser nur von einem Datenbank Administrator durchgeführt werden kann. Zudem müssen Binäre Daten (BLOBS) in der Datenbank sein.

Magnolia Backup Modul:
Eine gute Alternative zu Dateisystem und Datenbank Backup ist das offizielle Backup Modul von Magnolia welches ab Version 3.6 (Enterprise Edition) bereits integriert vorhanden ist.
Ein Backup kann konfigurativ unter configuration/modules/backup erstellt/gescheduled und verwaltet werden. Es steht auch ein UserInterface zur Verfügung: Tools > Backup (oder Direkteinstieg: http://[host]/[instance]/.magnolia/pages/backup)

Magnolia Doku: http://documentation.magnolia-cms.com/modules/backup.html
Download: http://store.magnolia-cms.com/module-list/magnolia/backup.html
Installation: http://documentation.magnolia-cms.com/modules.html#Installing

Export Servlet:
Das Export-Servlet ist Teil des Magnolia Backup Moduls. Über HTTP Requests können Backups erstellt und auf dem aufrufenden System abgelegt werden.
Ein mögliches Einsatzszenario wird im Blogpost Making Content, Code, and Configuration Work Together beschrieben.

Magnolia Doku: http://wiki.magnolia-cms.com/display/WIKI/Repository+backup+and+restore
Blogpost: http://propellerhat.wordpress.com/2011/08/24/three-ring-circus-making-content-code-and-configuration-work-together/

Magnolia Packager Modul:
Das Packager Modul erlaubt Inhalte, physische Dateien sowie Konfigurationen zu exportieren. Ideal für Backups oder Contenttransfers. Die Packages liegen in einem eigenen Workspace was das Packagen von Packages ermöglicht.

Magnolia Doku: http://documentation.magnolia-cms.com/modules/packager.html

XML Export/Import:
Der XML Export/Import kann über zwei Schnittstellen stattfinden: Tools->Context Menü oder direkt auf den Nodes. Diese unterscheiden sich nur darin, dass für den Export via Node die Versionierung verloren geht. Beide sind nur für wenige Elemente geeignet. Z.B. Backup von Tagesarbeit eines Content-Managers. Binäre Daten (BLOBS) können hier auch ausserhalb der Datenbank sein.

Magnolia Doku: http://documentation.magnolia-cms.com/technical-guide/import-export.html

JSP Scripts:
Ein Script aus der Zeit vor dem Magnolia Backup Modul. Es hat jedoch immer noch seine Berechtigung, da das Backup Modul nur FullBackups unterstützt. Das Script kann beliebig um Workspaces erweitert oder reduziert werden.

Magnolia Doku: http://wiki.magnolia-cms.com/display/WIKI/Backup+and+Restore+JSP+Scripts

Tools JSP:
Ein etwas älteres Script. Packt alle Daten in einen Backup Ordner in der Webapp. Es ist in zwei Versionen verfügbar: 4.1 und vor 4.1.

Magnolia Doku: http://wiki.magnolia-cms.com/display/WIKI/Backup+and+restore

PersistenceManager basiertes Backup:
Setzt layermässig am tiefsten an und ermöglicht somit sehr schnelle Backups und Restors da z.B. Konsistenzprüfung wegfällt. Nachteil: JR API wurde nicht für Backups ausgelegt.

Magnolia Doku: http://wiki.magnolia-cms.com/display/DEV/PersistenceManager+based+Backup

JR BackupTool:
Eines der ältesten Tools. Backup kann innerhalb von Magnolia CMS laufen während dieses Requests beantwortet. Müsste jedoch noch weiterentwickelt werden.

Magnolia Doku: http://wiki.magnolia-cms.com/display/DEV/JR+BackupTool

Vergleichskriterien

Selektives Backup: Muss jedesmal ein Fullbackup gemacht werden oder kann auch spezifischer Content ausgewählt werden?
Content Versionierung: Bleibt die Versionierung nach dem Restoren erhalten?
Grosse Datenmengen: Ist es auch für grössere Datenmengen geeignet?
Backupgrösse: Wieviel Platz beansprucht das Backup?
Benutzerfreundlichkeit: Muss jedesmal ins Benutzerhandbuch geschaut werden, wenn man ein Backup/Recover erstellen will?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>