invis_server_wiki:dasi

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
invis_server_wiki:dasi [2017/10/03 10:22]
flacco [Einrichten der Datensicherung auf externe Festplatten]
invis_server_wiki:dasi [2017/10/03 12:46]
flacco [Wiederherstellung einzelner Elemente aus dem Brick-Level Backup]
Zeile 26: Zeile 26:
  
 Legen sie auf einer externen Festplatte eine einzige Partition an und formatieren Sie diese mit einem "​ext3"​ oder "​ext4"​ Dateisystem. Trennen und verbinden Sie die Festplatte nach der Formatierung neu mit Ihrem Server. Warten Sie ein paar Sekunden. ​ Legen sie auf einer externen Festplatte eine einzige Partition an und formatieren Sie diese mit einem "​ext3"​ oder "​ext4"​ Dateisystem. Trennen und verbinden Sie die Festplatte nach der Formatierung neu mit Ihrem Server. Warten Sie ein paar Sekunden. ​
 +
 +=== Registrieren der Sicherungsfestplatte ===
  
 Während der erwähnten wenigen Sekunden Wartezeit können Sie dem Server bei der Hardware-Erkennung zuschauen: Während der erwähnten wenigen Sekunden Wartezeit können Sie dem Server bei der Hardware-Erkennung zuschauen:
Zeile 179: Zeile 181:
 Der Sicherungsserver selbst benötigt einfach nur eine Linux-Installation mit genügend Festplattenplatz. Auf ihm muss der SSH-Dienst laufen und //​**rdiff-backup**//​ installiert sein. Der Sicherungsserver selbst benötigt einfach nur eine Linux-Installation mit genügend Festplattenplatz. Auf ihm muss der SSH-Dienst laufen und //​**rdiff-backup**//​ installiert sein.
  
-==== SSH vorbereiten ​====+=== SSH vorbereiten ===
  
 Damit die Sicherung über SSH erfolgen kann, muss sich der Benutzer "​root"​ des Quell-Servers ohne Passwort per SSH am Sicherungsserver anmelden können. Es ist nicht notwendig, dass auch auf dem Sicherungsserver das Konto des Benutzers "​root"​ verwendet wird. Es genügt dort ein Benutzerkonto,​ welches Schreibrecht im Zielverzeichnis der Datensicherung hat. Damit die Sicherung über SSH erfolgen kann, muss sich der Benutzer "​root"​ des Quell-Servers ohne Passwort per SSH am Sicherungsserver anmelden können. Es ist nicht notwendig, dass auch auf dem Sicherungsserver das Konto des Benutzers "​root"​ verwendet wird. Es genügt dort ein Benutzerkonto,​ welches Schreibrecht im Zielverzeichnis der Datensicherung hat.
Zeile 240: Zeile 242:
 Gelingt dies ohne Passwortabfrage,​ ist die Vorbereitung abgeschlossen. Gelingt dies ohne Passwortabfrage,​ ist die Vorbereitung abgeschlossen.
  
-==== Sicherung einrichten ​====+=== Sicherung einrichten ===
  
 Das Einrichten einer Sicherung auf einen externen Server läuft analog zur Sicherung auf externe Festplatten ab. Es existiert mit //​**rdbunetconf**//​auch hier ein Script, welches die Konfigurationsdatei zur Sicherung generiert. Es ist einfach ohne weitere Optionen aufzurufen: Das Einrichten einer Sicherung auf einen externen Server läuft analog zur Sicherung auf externe Festplatten ab. Es existiert mit //​**rdbunetconf**//​auch hier ein Script, welches die Konfigurationsdatei zur Sicherung generiert. Es ist einfach ohne weitere Optionen aufzurufen:
Zeile 274: Zeile 276:
  
 Um nach einem Abbruch einer Sicherung verwaiste Mounts oder Snapshot-Volumes wieder los zu werden läuft per Cornjob alle 3 Minuten das Script //​**dasimonitor**//​. Das Script ist auch die Quelle der Informationen die im invis-Portal angezeigt werden. Um nach einem Abbruch einer Sicherung verwaiste Mounts oder Snapshot-Volumes wieder los zu werden läuft per Cornjob alle 3 Minuten das Script //​**dasimonitor**//​. Das Script ist auch die Quelle der Informationen die im invis-Portal angezeigt werden.
 +
 +====== Kopano Datensicherung ======
 +
 +Die Groupware Kopano bringt ein eigenes Brick-Level Backup-System mit. invis-Server sind so eingerichtet,​ dass sie täglich abwechselnd einmal die komplette Kopano-Datenbank in Form eines Dumps sichern und einmal das Bricklevel-Backup durchführen. Dabei dient die gesicherte Datenbank als Disaster-Recovery,​ also dem Wiederherstellen der gesamten Datenbank im Falle eines Crashs und das Bricklevel-Backup dem Wiederherstellen einzelner Elemente, beispielsweise wenn diese versehentlich gelöscht wurden.
 +
 +Ziel beider Sicherungen ist das Verzeichnis:​ <​file>/​srv/​shares/​sicherungen</​file>​
 +
 +===== Wiederherstellung einzelner Elemente aus dem Brick-Level Backup =====
 +
 +Das benötigte Werkzeug ist **//​kopan-backup//​**,​ es bietet verschiedene Möglichkeiten Elemente eines geicherten Kopano-Stores wiederherzustellen. Beginnen wir damit uns den Inhalt der Sicherung anzeigen zu lassen. Wechseln Sie dazu ins Verzeichnis in dem die gesicherten Stores liegen:
 +
 +<​file>/​srv/​shares/​archiv/​sicherungen/​kopanostores</​file>​
 +
 +Der folgende Befehl gibt den gesamten Inhalt eines gesicherten Benutzer-Stores aus:
 +
 +<​code>​
 +invis:/​srv/​shares/​archiv/​sicherungen/​kopanostores # kopano-backup --index username
 +</​code>​
 +
 +Im Beispiel steht "​username"​ sowohl für den Namen des Sicherungverzeichnisses eines Benutzers, als auch für den aktiven Benutzer in dessen Store ein oder mehrere Elemente wiederhergestellt werden sollen.
 +
 +Mit der Option **''​-u username2''​** können Elemente auch in einen anderen aktiven Store wiederhergestellt werden.
 +
 +Um die Ausgabe einzugrenzen,​ ist **//​grep//​** ein geeignetes Werkzeug:
 +
 +<​code>​
 +invis:/​srv/​shares/​archiv/​sicherungen/​kopanostores # kopano-backup --index username | grep Posteingang
 +</​code>​
 +
 +Die Ausgabe der Informationen erfolgt tabellarisch,​ Spaltentrenner ist das Komma. Nachfolgend der Aufbau der Zeilen:
 +
 +<​code>​
 +Eindeutige ID,​Ordner,​Datum Uhrzeit,​Betreff oder Property
 +</​code>​
 +
 +Anhand der ID können einzelne Elemente wiederhergestellt werden. Suchen Sie zunächst wie oben gezeigt das wiederherzustellende Element, beispielsweise anhand des Betreffs oder des Datums eines Elementes. Nutzen Sie jetzt die ID des gesuchten Elements um es wiederherzustellen:​
 +
 +**Wiederherstellen eines einzelnen Elementes**
 +
 +<​code>​
 +/​srv/​shares/​archiv/​sicherungen/​kopanostores # kopano-backup --restore username --sourcekey DFD123BE9FD84F7AB08E00DD959F2730080100000000
 +</​code>​
 +
 +**Wiederherstellen aller Elemente eines Ordners**
 +
 +<​code>​
 +/​srv/​shares/​archiv/​sicherungen/​kopanostores # kopano-backup --restore username -f Posteingang
 +</​code>​
 +
 +Dabei wird im Store des Benutzers nichts überschrieben. Bereits vorhandene Elemente werden automatisch übersprungen.
 +
 +**Wiederherstellung nach Datum**
 +
 +Auch eine zeitliche Eingrenzung der Wiederherstellung auf ein Datum oder einen Datumsbereich ist möglich.
 +
 +<​code>​
 +/​srv/​shares/​archiv/​sicherungen/​kopanostores # kopano-backup --restore username -b 2014-01-01 -e 2015-01-01
 +</​code>​
 +
 +Die Optionen **''​-b''​** und **''​-e''​** stehen wie kaum anders zu vermuten für "​begin"​ und "​end"​.
 +
 +**Komplexeres Beispiel**
 +
 +Die hier gezeigten Beispiele lassen sich selbstverständlich auch kombinieren.
 +
 +Wenn Sie beispielsweise alle Mails aus dem Posteingang eines Users aus einem bestimmten Zeitraum in einen Unterordner eines anderen Users wiederherstellen wollen sähe das wie folgt aus:
 +
 +<​code>​
 +/​srv/​shares/​archiv/​sicherungen/​kopanostores # kopano-backup --restore username1 -f Posteingang -b 2014-01-01 -e 2015-01-01 -u username2 --restore-root from_username1
 +</​code>​
 +
 +Zu erwähnen wäre noch die Option **''​--recursive''​**,​ sie stellt alle Elemente eines Ordners inklusive Unterordner wieder her.
 +===== Wiederherstellung der vollständigen Datenbank =====
 +
 +//​**Achtung**:​ Die Wiederherstellung der Kopano-Datenbank sollten Sie nur durchführen,​ wenn die vorhandene Datenbank irreparabel beschädigt ist. Die vorhandene Datenbank wird bei der Wiederherstellung vollständig überschrieben.//​
 +
 +Es gibt zwei mögliche Vorgehensweisen. Die Sicherung liegt gezippt vor. Sie können die Datei, wenn gewünscht zunächst entzippen und dann wiederherstellen,​ oder Sie führen beide Schritte in einem durch.
 +
 +**2 Schritte**
 +
 +<​code>​
 +invis:~ # gunzip gunzip /​srv/​shares/​archiv/​sicherungen/​vollsicherungen/​datenbanksicherungen/​20171003/​kopano.invis.20171003.gz
 +invis:~ # mysql -u root -p kopano < /​srv/​shares/​archiv/​sicherungen/​vollsicherungen/​datenbanksicherungen/​20171003/​kopano.invis.20171003
 +</​code>​
 +
 +**1 Schritt**
 +
 +<​code>​
 +invis:~ # gunzip < /​srv/​shares/​archiv/​sicherungen/​vollsicherungen/​datenbanksicherungen/​20171003/​kopano.invis.20171003.gz | mysql -u root -p kopano
 +</​code>​
  • invis_server_wiki/dasi.txt
  • Zuletzt geändert: 2021/06/01 09:40
  • von flacco