OX ASE - Backup & Wiederherstellung des Systems

Open-Xchange-Anwender wünschen sich volle Flexibilität, um ihr individuelles Backup-Konzept mit professionellen Backup-Tools zu realisieren. Entsprechend haben wir diese umfangreiche Dokumentation verfasst, welche verschiedene Backup-Strategien vorstellt und die Vor- und Nachteile der unterschiedlichen Methoden vorstellt. Die vollständige Sicherung des E-Mail- und Groupware-Servers inklusive Betriebssystem und Filesystem ist nach unserer Überzeugung ein absolutes MUSS für jede Organisation, die einen eigenen E-Mail- und Groupware-Server betreibt.

Backup eines OX ASE-Systems

UCS, das von OX ASE als Basis verwendet wird, folgt dem Filesystem Hierarchy Standard, einer Richtli- nie, die die Aufteilung der Daten in der Unix-Dateisystemhierarchie beschreibt. Dies erlaubt eine effiziente Trennung zwischen lokal erzeugten Dateien und Daten, die im Rahmen der Installation erstellt werden.

Sicherung der LDAP-Daten

Auf einem OXASE-System in der Single Server-Variante ist die Sicherung des LDAP-Datenbestands erforderlich. In der Multi Server-Variante muss die Sicherung des LDAP-Datenbestands nur auf dem Domänencontroller Master erfolgen.

Mit dem folgenden Befehl werden die LDAP-Daten in eine Text-Datei gesichert:

slapcat > LDAP-Daten.ldif

Sicherung der lokalen Konfigurationsdateien

Die lokalen Konfigurationsdateien werden auf OX ASE-Systemen unterhalb des Verzeichnisses "/etc" gespeichert. In einer Standardinstallation ohne weitere Anpassungen des Administrators werden alle Konfigurationsdateien durch Univention Configuration Registry-Templates abgebildet. Wenn keine lokalen Anpassungen an Konfigurationsdateien oder Templates vorgenommen wurden, reicht es aus, für eine minimale Sicherung die Dateien

/etc/univention/base*.conf

zu sichern.

Wenn Anpassungen an Konfigurationsdateien oder Templates vorgenommen wurden, muss das komplette "/etc"-Verzeichnis gesichert werden. Das Verzeichnis /etc umfasst in aller Regel weniger als 50 MB Daten und sollte daher nach Möglichkeit immer komplett gesichert werden.

Sicherung der Benutzerdaten

Das Heimatverzeichnis des root-Benutzers wird lokal auf jedem System im Verzeichnis /root vorgehalten. Es sollte in das Backup aufgenommen werden. Wenn die Heimatverzeichnisse der weiteren Benutzer nicht auf einer Freigabe sondern lokal gespeichert werden, muss auch das "/home"-Verzeichnis in die Sicherung aufgenommen werden.

Sicherung der installierten Pakete

Die auf dem System installierten Pakete können mit dem Befehl

dpkg --get-selections > paketliste.txt

gesichert werden.

Sicherung der Laufzeitdaten

Die Laufzeitdaten von System-Programmen (z.B. der Mailspool des Cyrus-IMAPD) und die Logdateien werden unterhalb von /var gespeichert. Auch wenn hier einzelne Daten nicht notwendigerweise gesichert werden müssten ("/var/cache" und "/var/run" enthalten beispielsweise Daten, die nur für die Laufzeit eines Systems bis zum Reboot relevant sind), ist es trotzdem empfehlenswert, das komplette /var-Verzeichnis zu sichern. Außerdem sollte das "/srv"-Verzeichnis gesichert werden. Es ist zu beachten, dass einige Applikationen eventuell eine gesonderte Sicherung benötigen.

Sicherung von Software, die nicht im UCS-Standard-Umfang enthalten ist

Wenn Software installiert wurde, die nicht im UCS-Standardpaketumfang enthalten ist, müssen zwei Fälle unterschieden werden:

1. Bei Software, die auch im DEB-Format vorliegt, reicht es diese Pakete in die Sicherung aufzu- nehmen.
2. Externe Software, die nicht im DEB-Format vorliegt, wird in der Regel nach "/opt" oder "/usr/local" installiert. Diese Verzeichnisse müssen dann ebenfalls gesichert werden.

Sicherung der der Open-Xchange Konfiguration

Ein Backup der Konfigurations Files wird nach jeder Installation oder Update empfohlen. Die Konfiguration ist verfügbar in

 /opt/open-xchange/

Backup von Open-Xchange Filestore, Database

Die User-Daten sind verfügbar in der Mysql Datenbank sowie als Files im Filesystem. Es ist wichtig das der Filestore und die Datenbank zur gleichen Zeit gesichert werden. Der einfachste Weg ist, Snapshots oder ähnliche Mechanismen zu nutzen.

Es können Standarttools für die Ausführung des Filestore-Backup genutzt werden. Das folgende Kommando gibt eine Übersicht über alle verfügbaren Filestore Directories:

 /opt/open-xchange/sbin/listfilestore -A oxadminmaster -P $(</etc/ox-secrets/master.secret)

Für das Datenbank-Backup können die Standard Mysql Tools verwendet werden. Wenn Mysqldump verwendet wird, die folgenden Parameter sind notwendig:

mysqldump --all-databases --single-transaction -p$(< /etc/mysql.secret) > datenbank-sicherung.mysql

Wiederherstellung eines OX ASE-Systems

Die folgende Anleitung führt das generelle Vorgehen bei der Wiederherstellung eines OX ASE-Systems auf. Die Wiederherstellung erfordert Erfahrung im Umgang mit UCS und OX ASE und sollte nach Möglichkeit in einer Testumgebung vor Eintreten des “Ernstfalls” simuliert werden.

Die folgenden Schritte sollten in der angegebenen Reihenfolge durchgeführt werden. Nach Abschluss aller Schritte sollte das System neu gestartet werden, um alle Dienste sauber zu initialisieren.

Neuinstallation des Systems und Abgleich des Softwarebestandes

Das wiederherzustellende System sollte neu installiert werden. Das System, auf dem die LDAP- Daten zurückgespielt werden, muss mit den gleichen Basis-Einstellungen (Rechner- und Domänen- name, Name der LDAP-Basis) installiert werden wie das alte System.

Die Installationsparameter können anhand der Datei "/etc/univention/installation_profile" gesetzt werden. Es ist aber zu beachten, dass diese Datei bei der initialen Installation erzeugt wurde und sich einige Parameter oder Paketnamen geändert haben können.

Wiederherstellung der lokalen Konfigurationsdateien

Die "/etc/univention/base*.conf"- Dateien sowie "/etc/ldap.secret", "/etc/machine.secret" und das "/etc/ox-secrets/*" sollten zurückgespielt werden. Wurde das komplette "/etc"-Verzeichnis gesichert, sollte das komplette "/etc"-Verzeichnis auf das neue System zurückkopiert werden.

Anschließend sollte als Benutzer root der Befehl

ucr commit 

aufgerufen werden. Es löst einen kompletten Rebuild aller über Univention Configuration Registry-Templates generierten Dateien aus.

Stoppen der Serverdienste

Alle Server-Dienste auf dem System sollten durch den Aufruf von

/etc/init.d/DIENST stop

angehalten werden. Um automatische Starts während der folgenden Schritte zu verhindern, ist es sinnvoll über die autostart-Einstellungen der Dienste einen Start zu verhindern, z.B.

ucr set cups/autostart=no

Wiederherstellung des Software-Paketbestands

Die vorher installierten UCS-Pakete sollten anhand der gesicherten Paketliste wieder installiert werden. Dazu muss im ersten Schritt die gesicherte Paketliste wieder eingespielt werden:

dpkg --set-selections < liste.txt

Anschließend kann mit "apt-get" der Paketbestand wieder hergestellt werden (dazu müssen die Repository-Einstellungen wie auf dem alten System gesetzt sein):

apt-get -u dselect-upgrade

Abschließend sollte die Liste der danach installierten Pakete (ermittelbar mit dem Befehl "dpkg --list") abgeglichen werden und ggf. fehlende Pakete mit dem Befehl

univention-install nachinstalliert werden.

Wenn Nicht-UCS-Software installiert war, muss diese sowie ggf. deren Datenbestand ebenfalls zurückgespielt werden.

Wiederherstellung der Laufzeitdaten

Das "/var"-Verzeichnis muss zurückkopiert werden. Das Verzeichnis "/var/run" sollte dabei übersprungen werden.

Wiederherstellen der LDAP-Daten/Listener-Notifier-Replikation

Für das Zurückspielen der LDAP-Daten sind mehrere Schritte notwendig.

Die bei der Installation des System erzeugten initialen LDAP-Daten müssen zunächst entfernt werden. Dazu müssen im Verzeichnis "/var/lib/univention-ldap/ldap/" alle Dateien mit Ausnahme der Datei "DB_CONFIG" entfernt oder verschoben werden. Anschließend können die Daten aus dem LDIF wieder eingespielt werden:

mv /var/lib/univention-ldap/ldap /var/lib/univention-ldap/ldap.old 
mkdir /var/lib/univention-ldap/ldap 
ucr commit /var/lib/univention-ldap/ldap/DB_CONFIG 
slapadd -l LDAP-Daten.ldif

Außerdem sollte der Univention Directory Listener zurückgesetzt werden:

rm -rf /var/lib/univention-directory-listener 
mkdir -p /var/lib/univention-directory-listener/ 
chown listener /var/lib/univention-directory-listener/

Anschließend sollten die betroffenen Dienste neu gestartet werden:

/etc/init.d/slapd start 
/etc/init.d/univention-directory-notifier start 
/etc/init.d/univention-directory-listener start

Die Neuinitialisierung des Univention Directory Listener kann je nach Menge der im LDAP-Verzeichnis gespeicherten Daten einige Zeit in Anspruch nehmen. In dieser Zeit sollte das System nicht neu gestartet werden.

Zurückspielen der Laufzeitdaten von Open-Xchange

Es wird empfohlen, dass alle Daten unterhalb des Filestore-Basisverzeichnisses (i.d.R. "/var/oxfilestore") gelöscht werden, bevor das Backup des Filestores zurückgespielt wird.

Um Inkonsistenzen zu vermeiden, wird dringend empfohlen, nur Backups von MySQL-Datenbank und Filestore zurückzuspielen, die zum selben Zeitpunkt erstellt wurden. Nach dem Zurückspielen kann über den folgenden Befehl ein Konsistenzcheck durchgeführt werden:

/opt/open-xchange/sbin/checkconsistency

Zurücksetzen der Autostart-Einstellungen

Die UCR-Autostart-Einstellungen, welche in den vorigen Schritten vorgenommen wurden, sollten zurückgesetzt werden.

Wiederherstellung Open-Xchange Filestore, Database

Es wird empfohlen, alle vorhandenen Daten unter dem Filestore Einstiegspunkt zu löschen, zB ""/ var / opt / filestore / *", um Unstimmigkeiten vor dem Wiederherstellen der Sicherungskopie im Filestore.

Der Datenbankdump wird durch folgendes Kommando importiert. Existierende Tabellen sollten nach Möglichkeit im Datenbankserver zuvor gedroppt werden:

 mysql -uroot -p$(cat /etc/mysql.secret) < datenbank-sicherung.mysql

Um die Berechtigungen der Datenbankbenutzer direkt nach dem Import der "user" Tabelle zu übernehmen, ist ein "Flushen" der Berechtigungen nötig:

  mysql -uroot -p$(cat /etc/mysql.secret) -e "FLUSH PRIVILEGES;"

Bei der Wiederherstellung der Datenbank und des Filestores, es ist wichtig dies zur gleichen Zeit durchzuführen um Inkonsistenten zu vermeiden. Nach der Wiederherstellung, das Consistency Tool muss gestartet werden:

 /opt/open-xchange/sbin/checkconsistency

Es ist möglich einen Single-Kontext Wiederherstellung der MySQL-Datenbank durchzuführen. Dies ist im Installations- und Administrationshandbuch beschrieben: http://software.open-xchange.com/OX6/doc/OX6-Installation-and-Administration.pdf