|
Im Rahmen der Produktionsumgebung brauchten wir eine Serverreplikation für Maschinen die den gleichen Filesysteminhalt haben sollten - wir wollten die Maschinen möglichst autonom benutzen, auch wenn sie in einem Failover-Cluster laufen, und konnten daher nicht mit NFS arbeiten. Die vorhandenen Netzwerkfilesysteme sind zu schwerfällig und teilweise einfach zu komplex in der Installation und im Betrieb, teilweise funktionierten sie auch nicht. Also haben wir uns selber etwas geschrieben.
Das System besteht aus einem Monitoring-Server, der in Perl geschrieben ist und mittels DNotice vom Filesystem über Änderungen benachrichtigt wird und diese über SOAP an den zweiten Teil übergibt. Der zweite Teil ist ein in Python geschriebener Server, der Änderungsanforderungen über SOAP annimmt und an abhängige Server weiterverteilt sowie sie ausführt. Zusätzlich sind Hilfsprogramme dabei, mit denen die Queue der zu bearbeitenden Änderungen angezeigt werden können, sowie Differenzen zwischen Maschinen ermittelt werden können und bereinigt werden können (mit Hilfe einer konfigurierbaren Strategie). Es sind folgende Pakete notwendig:
Es gibt in diesem System keinen dedizierten Server, alle Maschinen sind im Prinzip gleichwertig. Statt dessen werden Nachbarn definiert, an die Änderungen über Dateisystembereiche weitergegeben werden können. Das klappt relativ gut, man muss sich nur Gedanken über die Meldestruktur machen, sonst werden durch die Weitermeldung und die aus Ausführung von Requests generierten lokalen Meldungen zu viele Changerequests generiert! Sollte mal was aus dem Sync laufen, kann mit suckfs-diff (in suckfs-server enthalten) eine Liste erstellt werden, was unterschiedlich ist. Diese Unterschiede können auch gleich bereinigt werden. Dazu kann eine Strategie definiert werden. Dokumentation ist noch sehr dünn, da muss noch einiges kommen. Im Zweifelsfall fragen. letzte Änderung 2003-01-16 15:59:12 |
Eine Beschreibung von Werkzeugen zur zeitnahmen Synchronisation von Servern in einem Cluster, ohne ein echtes Netzwerkfilesystem nutzen zu müssen.
Wichtige Links zu PyDS:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
© 2003, Georg Bauer