Samba3 zu Samba4 Migration mit zweitem PDC

german

#1

Hallo im Forum,

ich beabsichtige neben dem bestehenden UCS System (ein Master Samba3) einen zweiten Master zu installieren, allerdings mit anderem Domänennamen und Samba4. Dann schrittweise im Neuen die User anlegen und die Rechner + User in die neue Domäne joinen. Das müsste meinem Gusto nach noch gehen, nur wie verhalten sich die gemeinsamen Shares?
Kann ich die Shares von A nach B kopieren und die Berechtigungen stimmen noch oder was ist hier zu beachten? Wenn ich schrittweise migriere müsste ich theoretisch täglich die Daten rsyncen und danach die SIDs für Samba4 reparieren, gibts da ein Tool für oder ist das nicht nötig? Müssen beim Benutzer anlegen die Linux UIDs und SIDs im Neuen manuell gleich gesetzt werden?

MFG Martin


#2

Auf den ersten Blick scheint mir Scenario 1 für dich gut zu passen. Aber das kennst du ja wahrscheinlich schon.


#3

Ja das kenn ich schon, was ich aber überspringen wollte, Update auf Update auf Update. Der Server hat bei Version 1.2 gestartet (schon zwei mal SSL Zert erneuert) und da gibt es ein paar Altlasten die ich mit einem Schnitt bereinigen will. Wenn es keine guten Ideen gibt werde ich das mit dem Update leider machen.


#4

Moin,

eine Neuinstallation bei so einem alten Server ist vermutlich keine schlechte Idee.

Zum Thema Dateien kopieren. Unter der Voraussetzung, dass die BenutzerInnen und Gruppen auf beiden Servern angelegt wurden, kann man mit rsync eine Kopie hinbekommen, die zumindest die Unix-Rechte und Unix-ACLs beibehält. Die Windows-ACLs hingegen werden, wenn ich mich nicht ganz irre, in einem komischen Binärformat in den extended attributes gespeichert und sind nicht so einfach umsetzbar. Oftmals genügt jedoch das Setzen der Unix-ACLs für die Gruppen, um die meisten Anwendungsszenarien in Unternehmen abzudecken.

rsync (und auch tar) arbeiten standardmäßig mit Benutzer- und Gruppennamen und nicht mit den IDs. Wenn also rsync 1 auf dem alten Server läuft und eine Datei mit Besitzer »gmusterfrau UID 4711« sieht, an ein auf dem neuen Server laufendes rsync 2 schickt, dann schaut rsync 2 nach, welche UID gmusterfrau auf dem neuen Server hat und nutzt diese ID. Genau das, was wir in diesem Falle wollen.

Das klappt aber halt nur, wenn die beiden rsyncs auf unterschiedlichen Servern laufen. Sprich: sie müssen hier zwingend rsync via ssh nutzen und auf keinen Fall eine Share vom alten Server per NFS auf dem neuen Server mounten und dann lokal kopieren – denn dann stehen die alten Mappings von UIDs zu Benutzernamen nicht zur Verfügung.

Weiterhin müssen Sie bei rsync die ACLs und extended attributes mit kopieren. Generell merke ich mir meist die folgende Kommandozeile (auszuführen auf altem Server):

rsync -haxHAXv --delete /shares/share1/ root@neuer-server:/shares/share1/

-a ist »archive mode«, bewahrt solche Dinge wie BesitzerIn, Gruppe, Rechte, Zeitstempel – aber leider nicht ACLs, extended attributes und hard links. Für letztere sind -A (ACLs), -X (eXtended attributes) und -H (Hard links) da. -x verhindert, dass in darunter gemountete Verzeichnisse gewechselt wird; -h ist »output numbers in human readable form«. Nicht wirklich zwingend, genau so wie -v für verbose :wink: --delete sollten Sie nutzen, wenn Sie dieselbe Share mehrfach syncen wollen, um in der Zwischenzeit in der Quelle gelöschte Dateien auch am Ziel zu löschen.

Achtung: verwenden Sie nicht tar zum Kopieren! Das GNU-tar, das auf Univention noch verwendet wird, versteht weder ACLs noch extended attributes. Wenn Sie ein tar nutzen wollen, dann bsdtar, was beide Dinge von Haus aus unterstützt. Erst aktuelle GNU-tar-Versionen unterstützen ACLs und extended attributes.

Für die Samba-SIDs habe ich leider keine Lösung parat, halte aber eine ernsthafte Betrachtung, ob die in Ihrer Situation überhaupt benötigt werden, für sinnvoll.


#5

Wenn das Mapping über die UIDs funktionieren könnte, reicht mir das um es auszuprobieren. Derzeit versuche ich ob das Update klappt, danach ob das mit dem Parallel installieren/migrieren läuft (was mir dann beim Produktivsystem lieber wäre).

Vielen Dank für die umfangreiche Antwort, ich nehm sonst immer avx in die rsync Optionen mit rein, Hardlinks haben wir m.W. nicht, teste ich aber mit.


#6

Ich habe jetzt die Domänenmigration soweit durchgespielt und es wird wegen zu viel Arbeitsaufwand nicht gemacht.
Es ist ein leichtes die zweite Domäne mit Samba4 im gleichen Netz aufzusetzen und die Rechner rüberzuziehen nur die serverseitig gespeicherten Profile bekomme ich nicht sinnvoll transferiert. Die Berechtigung werden wie oben beschrieben korrekt umgesetzt (Dank für den Tipp) aber Windows mag das “alte” Profil trotzdem nicht holen. Hab verschiedenste Möglichkeiten probiert, es wollte alles nicht. Bleibt also nur das kopieren des Profils mit USMT o.Ä. aber das/die Tools transferieren nicht alles.
Ich müsste also den Rechner in die neue Domäne joinen, die Benutzerdaten “händisch” kopieren und dem User dann noch sagen: also alles konnte ich nicht retten (Regeinstellungen, Netzlaufwerke etc.). Das kann ich vielleicht bei einer parallelen Client OS Migration machen und auf Verständis hoffen aber von Win7 zu Win7 ohne “sichtbare” Vorteile für den User noch Einstellungen verlieren und dafür ca. 1-2h brauchen erscheint mir nicht erstrebenswert. Daher versuche ich doch den UCS Server zu aktualisieren. Dazu in einem nächsten Post mehr.

Der Thread mit der Fragestellung ist damit erstmal beantwortet und erledigt.