Bug 23359 - sysvol Replikation
sysvol Replikation
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Samba4
UCS 3.0
Other Linux
: P5 enhancement (vote)
: UCS 3.0 - MS2
Assigned To: Arvid Requate
Stefan Gohmann
:
: 20920 (view as bug list)
Depends on:
Blocks: 24163
  Show dependency treegraph
 
Reported: 2011-08-18 15:17 CEST by Stefan Gohmann
Modified: 2011-12-13 15:48 CET (History)
1 user (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2011-08-18 15:17:11 CEST
Das sysvol Share muss zwischen den S4 Systemen synchronisiert werden.
Comment 1 Arvid Requate univentionstaff 2011-09-21 18:57:18 CEST
Das Paket univention-samba4 installiert jetzt einen cron-Job, dessen aufruf-Häufigkeit über die UCR-Variable "samba4/sysvol/sync/cron" festgelegt wird (Voreinstellung alle 5 Minuten). Dabei wir samba4/sysvol/sync/jitter als jitter-Wert verwendet (Voreinstellung: 60 Sekunden).

Der Cron-Job ruft auf allen univention-samba4-Systemen das Skript 
/usr/share/univention-samba4/scripts/sysvol-sync.sh auf.
Falls in samba4/sysvol/sync/host ein host definiert ist, wird per rsync das Sysvol von dem host in das lokale sysvol synchronisiert (ohne dabei lokal neuere Dateien zu überschreiben). Danach kopiert das Skript ebenfalls per rsync das lokale sysvol zu dem samba4/sysvol/sync/host in ein temporäres Verzeichnis, für das DC Slave Hosts Schreibzugriff haben.

Wenn das Skript danach wieder auf dem samba4/sysvol/sync/host ausgeführt wird, dann werden dort als erstes die von anderen Samba4-DCs exportierten sysvol-Daten aus den temporären Verzeichnissen in das aktive lokale sysvol gemerged.

Als Voreinstellung wird samba4/sysvol/sync/host auf den Systemnamen gesetzt, der den Service 'S4 Connector' registriert hat, der Wert kann aber angepasst werden (in der Tat können dort mehrere Hostnamen eingetragen werden, aber das ist vermutlich nicht sinnvoll).
Comment 2 Stefan Gohmann univentionstaff 2011-10-04 08:36:55 CEST
Folgende Fehlermeldung steht seht häufig in /var/log/univention/sysvol-sync.log:

ERROR(<type 'exceptions.TypeError'>): uncaught exception - (61, 'No data available')
  File "/usr/lib/python2.6/dist-packages/samba/netcmd/__init__.py", line 135, in _run
    return self.run(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/samba/netcmd/ntacl.py", line 105, in run
    acl = getntacl(lp, file, xattr_backend, eadb_file)
  File "/usr/lib/python2.6/dist-packages/samba/ntacls.py", line 59, in getntacl
    xattr.XATTR_NTACL_NAME
Comment 3 Arvid Requate univentionstaff 2011-10-04 11:57:12 CEST
Kann es sein, dass das System nicht direkt gejoined worden war? Nach den Join sollte folgendes Kommando ohne traceback funktionieren:

 samba-tool acl nt get --as-sddl /var/lib/samba/sysvol

Ich habe sysvol-sync.sh jetzt so angepasst, dass es die entsprechenden Kommandos nicht ausführt, wenn samba4/sysvol/sync/host gesetzt ist, was im Joinscript geschieht.
Comment 4 Stefan Gohmann univentionstaff 2011-10-04 15:13:27 CEST
(In reply to comment #3)
> Kann es sein, dass das System nicht direkt gejoined worden war? Nach den Join
> sollte folgendes Kommando ohne traceback funktionieren:

Das kann sein.

Der Traceback tritt jetzt auch nicht mehr auf, allerdings tauchen die Dateien von den Slaves und Backups jetzt nicht mehr im sysvol des Masters auf. Auf den Slaves und Backups sind aber die Dateien vom Master synchronisiert worden.

In /var/log/univention/sysvol-sync.log sind keine Hinweise.
Comment 5 Arvid Requate univentionstaff 2011-10-04 16:41:46 CEST
Die fehlerhafte Erkennung des Join-Status aus der letzten Anpassung wurde entfernt, statt dessen wird jetzt der cron-Job erst dann aktiviert, wenn die UCR-Variable samba4/sysvol/sync/cron gesetzt ist. Diese Variable wird jetzt im Joinscript gesetzt statt schon im postinst.
Comment 6 Stefan Gohmann univentionstaff 2011-10-05 16:01:42 CEST
Funktioniert.
Comment 7 Arvid Requate univentionstaff 2011-10-12 15:40:45 CEST
*** Bug 20920 has been marked as a duplicate of this bug. ***
Comment 8 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:48:56 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"