Kategorie:Backup
IES Backup (ab Version 2.1.1)
Konzept
Das hier beschriebene Verfahren garantiert konsistente Datensicherungen des IES zur Laufzeit. Auf diesen Mechanismen basiert auch das Verfahren für ein sog. IES StandBy. Dabei wird ein Mandant auf einem anderen IES synchron gehalten und kann im Notfall aktiviert werden. IES StandBy Mechanismen sind jedoch noch in der frühen Entwicklungsphase.
Ausgeführt werden die Operationen zum Backup über IES-Admin.
Grundsätzlich werden beim IES Backup drei Aktionen unterschieden:
- backup
- vollständiges Backup aller Daten und Konfigurationen eines Mandanten
- snapshot
- inkrementelle Sicherung aller Daten eines Mandanten basierend auf dem letzten vollen Backup
- recover
- reaktivieren von Sicherungen eines Mandanten inkl. aller Daten ohne automatische Übernahme der Konfiguration
Das Backup und allle Snapshots liegen in einem $SITEPARK_BACKUP
Verzeichnis. Dieses Verzeichnis kann entweder ein Netzwerklaufwerk sein, oder auf einem Backup-Server gesichert werden. Der Status der Sicherungen wird in einer XML-Datei unterhalb dieses Verzeichnisses gesichert und kann somit zusammen mit den Daten und unabhängig vom IES archiviert werden.
In der Konfiguration des IES kann das Verzeichnis, welches standardmäßig $SITEPARK_HOME/backup
ist, über die Property "backupDir" gesetzt werden.
Backup
Ein Backup wird pro Mandant ausgeführt und erstellt einen vollständigen MySQL-Dump, eine komplette Kopie der BinDB des Mandanten, optionale, spezifische Daten und die aktuellen Serverdaten.
- vollständig
- konsistent mit BinDB (Inkonsistent mit DocumentRoots, diese müssen über klassische Mechanismen gesichert oder bei Bedarf neu generiert werden)
- benötigen je nach Serverleistung und Datenumfang relativ viel Zeit und Resourcen
- sollte in regelmäßigen Abständen erstellt werden, wenn der Server nur gering beansprucht wird (z.B. einmal die Woche um 1:00 Uhr Nachts)
- optional können beim Backup alte MySQL-BINLOG automatisch gelöscht werden (Achtung bei Replikation von MySQL!)
Weitere Information hierzu unter: Backup - Vollständige Sicherung von Mandanten
Snapshot
In regelmäßigen Abständen werden alle Änderungen der Datenbank und der BinDB seit dem letzten Backup bzw. seit dem letzten Snapshot gesichert. Als Basis eines Snapshots dienst aber immer ein vollständiges Backup, da Snapshot auf der Basis von BINLOG-Mechanismen von MySQL aufbauen.
- inkrementell (nur Differenzen in der Datenbank und der BinDB)
- konsistent mit BinDB (Inkonsistent mit DocumentRoots)
- benötigen je nach Zeit zwischen den Snapshots nur geringe Resourcen
- sollten mehrmals täglich erfolgen
Weitere Information hierzu unter: Snapshot - Inkrementelle Sicherung von Mandanten
Recover
Ein Recover kann jeden gesicherten Stand des IES wieder herstellen. Dabei wird die gewünschte Version interaktiv ausgewählt. Die Summe der Aktionen kann je nach Datenumfang zu einer relativ langen Zeitspanne führen in der der Mandant nicht aktiv ist. Es gelten dabei folgende Regeln:
- der Mandant wird für die Wiederherstellung vorübergehend deaktiviert
- es wird stets immer erst das vollständige Backup einspielt (ist u.U. relativ zeitaufwendig!)
- optional kann die BinDB wieder hergestellt werden (nur notwendig, wenn das Filesystem defekt war)
- alle Snapshots, bis zu dem gewünschten Zeitpunkt werden nacheinander eingespielt
- nach einem Wiederherstellung einer alten Version werden mit dem nächsten Snapshot alle Versionen die "zurückgegangen" wurden gelöscht
- es ist optional möglich einen anderen Ordner mit Daten zum Backup anzugeben
- im Anschluss werden alle Templates des Mandanten für den Generator neu kompiliert
- evtl. vorhandene Lucene-Indices werden vollständig neu erzeugt
Weitere Information hierzu unter: Recover - Wiederherstellung einer Sicherung eines Mandaten
Gesicherte Daten
Bei Sicherung eines Mandant werden stets folgende Daten berücksichtigt:
- SQL-Zugangsdaten über die Konfiguration
- optionale, mandantenspezifische Daten unterhalb von
$SITEPARK_HOME/clients/$CLIENT_ID
($CLIENT_ID ist analog zur BinDB) - alle Daten (bei Snapshots Änderungen) der BinDB
- alle Daten der jeweiligen Datenbank (auch Remote) als gezippte, (bei Snapshots inkrementelle) SQL-Anweisungen
Bei Backups oder Snapshots werden neben den oben genannten Daten stets auch folgende Daten gesichert:
- Die IES-Konfiguration:
ies-server.xml
(alle weiteren Daten der Konfiguration können nicht zur Laufzeit verändert werden und sind somit in der Sicherung von$SITEPARK_HOME
enthalten) - Alle Moduldaten unterhalb von
$SITEPARK_DATA/modules
Regeln für das Backup
- Das Verzeichnis
$SITEPARK_HOME
muss unabhängig von den IES-Datensicherungen regelmäßig erfolgen - Das Verzeichnis
$SITEPARK_DATA
(i.d.R.$SITEPARK_HOME/data
) sollte vom Backup ausgenommen werden - Das Verzeichnis
$SITEPARK_BACKUP
(i.d.R.$SITEPARK_HOME/backup
) sollte entweder direkt auf einem externen System liegen, oder zusammen mit dem Verzeichnis$SITEPARK_HOME
gesichert werden. - Das Verzeichnis
$SITEPARK_BACKUP
(und evtl. auch$SITEPARK_HOME
) sollten nach jedem Snapshot oder Vollbackup gesichert werden - Weiterhin wird empfohlen folgende Konfigurationen regelmäßig zu sichern:
- Cronjobs
- Apache-Konfiguration (und Module)
- MySQL-Konfiguration
- weitere System-relevante Informationen
Nach dem Einspielen von Backups oder Snapshots werden zunächst alle SQL-Zugangsberechtigungen pro Mandat wieder hergestellt bzw. aktualisiert. Danach werden alle Templates neu kompiliert und die Indices neu generiert.
Diese Kategorie enthält zurzeit keine Seiten oder Medien.