Ablauf der Sysvol-Sync Replikation

Ablauf der Sysvol-Sync Replikation

Es gibt typischerweise einen, ggf. aber auch mehrere Sysvol-Sync-Hosts (definiert in “samba4/sysvol/sync/host”). Alle andern Samba4 DCs sind sog. “downstream S4 DCs” .

Führt ein “downstream S4 DC” sysvol-sync.sh aus, passieren zwei Dinge:

  • Der “downstream S4 DC” Synchronisiert “/var/lib/samba/sysvol” vom “samba4/sysvol/sync/host” in sein eigenes “/var/lib/samba/sysvol” Verzeichnis.
  • Dabei wird nichts gelöscht, Dateien/Verzeichnisse die auf dem “samba4/sysvol/sync/host” neuer sind als auf dem “downstream S4 DC” werden aber überschrieben.
  • Der “downstream S4 DC” legt auf dem “samba4/sysvol/sync/host” unter “/var/cache/univention-samba4/sysvol-sync/.trigger” eine Datei an die nach seinem Hostnamen benannt ist.
  • Dass ist das trigger-file, das anzeigt, dass der “downstream S4 DC” noch aktiv ist und in die weitere Replikation einbezogen werden möchte.

Führt ein “samba4/sysvol/sync/host” sysvol-sync.sh aus, wird über alle “trigger files” itteriert und für jedes gefundene (d.h. für jeden “downstream S4 DC” der zwischenzeitlich sysvol-sync.sh ausgeführt hat) werden die folgenden Schritte ausgeführt:

  • Der “samba4/sysvol/sync/host” löscht das trigger-file.
  • Der “samba4/sysvol/sync/host” synchronisiert “/var/lib/samba/sysvol” vom “downstream S4 DC” nach “/var/cache/univention-samba4/sysvol-sync/”. Dabei werden in der lokalen Kopie (d.h. auf dem “samba4/sysvol/sync/host”) nur Dateien beibehalten, die auf dem “downstream S4 DC” aktuell vorhanden sind.
  • Der “samba4/sysvol/sync/host” synchronisiert “/var/cache/univention-samba4/sysvol-sync/” in sein eigenes “/var/lib/samba/sysvol” und führt so dass Sysvol-Verzeichnis des “downstream S4 DC” mit seinem eigenen (und allen anderen) zusammen.
  • Dateien die in “/var/cache/univention-samba4/sysvol-sync/” nicht mehr vorhanden sind werden dabei nicht gelöscht.

Im Anschluss daran führt auch dieser bis hier als “upstream” bezeichnete Sysvol-Sync-Host die oberen beiden Schritte aus, falls auch bei ihm lokal per UCR ein “samba4/sysvol/sync/host” definiert ist. Dies ist wie gesagt normalerweise nicht der Fall.

1 Like