DB Server des Clusters im laufenden Betrieb spiegeln

Was

Im Rahmen unserer Bestrebungen den Cluster zu verbessern, haben wir mittlerweile einen zweiten ZEO Server aufgesetzt. Die Frage ist nun, wie man einen Spiegel des Originaldatenbestandes herstellt, der im Falle eines GAU einspringen kann.

Warum

Welche Frage: 24/7 ermöglichen und den Stress für die Administration minimieren.

Wie

Das “spiegeln” von ZODB für das WISE teilt sich in zwei Schritte.

  1. herstellen einer Kopie der Data.fs
  2. herstellen einer Kopie des FileObjectStore.

Wie

Die folgenden Hinweise zur Nutzung stammen von Mark Nickel und Jörg Bartels.

Synchronisieren der ZODB zweier Server

  1. Mittels robocopy
    (wird mit dem Windows ResourceKit installiert) und
  2. repozo.py
    (befindet sich nach der Installation unter C:\Programme\WISE\utilities\ZODBTools und muss in das Verzeichnis C:\Programme\WISE\lib\Python\ kopiert werden)

Schritt für Schritt

  • In beiden Servern befindet sich eine 100MBit (Glasfaser)-Netzwerkkarte mit den IP-Adressen 197.168.100.100 bzw 101
  • auf beiden Servern wird ein Netzlaufwerk (Z:\) auf die Freigabe WISE1 des jeweils anderen Server eingebunden
  • Auf dem prim. Server wir mittels repozo.py die Data.fs im laufenden Betrieb auf D:\var\backup gesichertpython C:\Programme\WISE\lib\python\repozo.py -BQv -r z:\var\backup -f z:\var\Data.fs
  • mit robocopy wird
    D:\wise1\var\backup von Prim. Server zum sek. Server in D:\wise1\var\backup
    kopiert

    robocopy z:\var\backup d:\wise1\var\backup /mir
  • anschließend wird die inkrementelle Sicherung der Data.fs auf dem sek Server mittels repozo.py wieder eingespielt. python c:\programme\wise\lib\python\repozo.py -Rv -r d:\wise1\var\backup -o d:\wise1\var\data.fs
  • Jetzt wird das FOS vom prim zum sek Server mit robocopy kopiert robocopy Z:\var\FileObjectStore d:\wise1\var\FileObjectStore /MIR

Was sonst noch

Dokumentation repozo.py

Für inkrementelle- und Vollsicherungen der Data.fs im laufenden Betrieb

Parameter : (Es muss mindestens ein –B oder –R angegeben sein !)

-B / –backup
Sichert aktuelle Zope Datenbank datei (Data.fs)

-R / –recover
Stellt Zope Datenbank aus einer Sicherung wieder her

-v / –verbose
Ausführliche Dokumentation der Sicherung oder des Wiederherstellungsprozesses

-h / –help
Zeigt die Hilfe an

-r dir / –repository=dir
Repository ist in den Backupfiles enthalten.Â
Dieses Argument wird benötigt.Â
Der Pfad muss schon existieren.Â
(Sie sollten niemals die Dateien in diesem Verzeichnis bearbeiten oder Dateien hinzufügen)

Optionen für –B / –backup

-f file / –file=file
Quell Data.fs. Dieses Argument wird benötigt

-F / –full
Führt eine Vollsicherung aus.
Standardmäßig wird eine inkrementelle Sicherung ausgeführt.Â
Falls seit der letzten Sicherung ein Packvorgang durchgeführt wurde ist eine Vollsicherung nötig

-Q / –quick
Überprüft anhand der md5 Checksumme das letzte geschriebene inkrementelle Sicherung. Dieses spart Speicherplatz aber ermöglicht theoretisch eine Inkonsistenz der Datenbank. Das ist der Grund warum eine Vollsicherung von Nöten ist

Optionen für –R / –recover

-D str / –date=str
Stellt Stand des angegebenen Datums wieder her.Â
Geben Sie UTC Zeit (nicht lokal) an yyyy-mm-dd[-hh[-mm[-ss]]]
Standardmäßig wird die aktuelle Zeit verwendet

-o filename / –output=filename
Schreibt gespeicherte ZODB in den angegeben Pfad

Bsp.: python repozo.py –BQv –r C:/backup/ZODB –f /D:Programme/wise/var/Data.fs

This entry was posted in Clustering, deutsch. Bookmark the permalink.

Leave a Reply