hannes.hutmacher
Goto Top

Zwei Dateiserver (Linux) synchron halten

Einen schönen vierten Advent!

Gerne möchte ich ein Verzeichnis meiner beiden Dateiserver (Samba) synchron halten. Zuerst dachte ich an Rsync, aber es ist nur in eine Richtung ein Sync möglich. Das nützt mir nichts, denn es könnte ja sein, dass auf der anderen Seite Dateien/Verzeichnisse erstellt oder verändert werden. Was wäre denn das Mittel der Wahl das zu bewerkstelligen?

Grüße

Content-ID: 634062

Url: https://administrator.de/contentid/634062

Ausgedruckt am: 22.11.2024 um 05:11 Uhr

Ad39min
Ad39min 20.12.2020 um 09:12:52 Uhr
Goto Top
Hi,

Ich nehme an, du suchst nach sowas hier:
https://wiki.samba.org/index.php/Configuring_clustered_Samba

Gruß
Alex
satosan
satosan 20.12.2020 aktualisiert um 10:22:42 Uhr
Goto Top
Clustered Samba macht viele Probleme wenn es in Richtung Berechtigungen nach NTFS-Schema geht. Wuerde ich nicht empfehlen.

Auch wenn es fuer den Einen-oder-Anderen nicht als professionelle Loesung taugen mag, wir benutzen seit 2 Jahren Syncthing um mehrere Storages in mehreren Locationen in real-time 1:1 zu halten. Plattform und Fylesystem unabhaengig. Alles ueber eigene VPN's ohne ueber einen Syncthing-Server zu gehen. Das Gute ist Du kannst die mit Datei-Snapshots arbeiten und bis zu einem Jahr oder 99 Snapshots zurueckspielen. Alle Berechtigungen bleiben beim Transfer erhalten. Wir haben bisher keine Probleme.

Eine noch professionellere Loesung waere vielleicht Reslio Connect. Allerdings sind die Kosten da von ca 2000EUR pro zu syncenden Server p.a fuer manch Kunden zu hoch. Hast aber gleiche Features, super robust. Funktioniert perfekt. Kann man mit entsprechendem Firmenumsatz (Kosten) auch empfehlen. Mit Resilio Business kannst Du auch in Richtung Subscription gehen. Ist aber glaube ich nur fuer Server etc ab 10 oder 20 Users.

Schon mal nach 'Mirror' geschaut? Gibts das noch? Arbeitete glaube ich mit iNotify oder Entr. Weiss ich momentan nicht mehr. Mit Entr kannst Du ja bei einem File-Event immer einen anderen Event anstossen. Funktioniert auch perfekt. Bei einem Storage mit entsprechender Size aber wohl nicht so zu empfehlen.

Wenn Du Fragen zu Syncthing hast, kann ich gerne helfen.
certifiedit.net
certifiedit.net 20.12.2020 um 10:50:42 Uhr
Goto Top
Moin

unison, bspw? Aber das Mittel der Wahl will in jedem Fall an Anforderungen, Umfeld etc angepasst sein, sonst könnte das böses nach sich ziehen.

Grüße!
satosan
satosan 20.12.2020 aktualisiert um 11:24:36 Uhr
Goto Top
Zitat von @certifiedit.net:
unison, bspw?

Meiner Meinung nach muss ein Unison Sync Job immer angestossen werden und geht nicht. Ok, koennte man dann mit iNotify oder Entr automatisieren. Ist aber wieder eine Abhaengigkeit mehr. Gibt auch noch sowas wie GoodSYnc etc. Geht dann aber auch in die Subscription.

Liegt halt an Deinen Anforderungen. Wenn es nur fuer den Privat-Bereich ist, dann Syncthing aufsetzen und fertig. Selbst fuer kleine Businesses ist das ok. Dann aber vielleicht eine Workstation fuer Backups bereithalten die nur als Read-Only arbeitet und von da die fuer beide (!!!) Server Backups zieht. Wir machen das im 15min Abstand. Dann hast Du, falls etwas schief laeuft, immer beide Server vor Dir und kannst entsprechende Snapshots zurueckspielen.

So 'syncen' wir Server in Deutschland, Schweden, Finland und Malta fuer unsere Mitarbeiter im Office und/oder Home-Office. Nie Probleme.
certifiedit.net
certifiedit.net 20.12.2020 um 11:22:29 Uhr
Goto Top
cron sagt dir was?
satosan
satosan 20.12.2020 aktualisiert um 11:28:17 Uhr
Goto Top
Zitat von @certifiedit.net:
cron sagt dir was?

Cron und Sync in real-time? Machts da klick?

Wie willst Du mit Cron-Jobs alleine in real-time das Filesystem updaten? Cron hat min Zeiteinheit um einen Job zum Laufen zu bringen von 1min. Du musst schon einen Kernel-basierten Notify-Service am Laufen haben. Beispiel hier iNotify, Lsyncd oder eben Entr.
certifiedit.net
certifiedit.net 20.12.2020 aktualisiert um 11:48:06 Uhr
Goto Top
Gehen wir mal mehrere Hände voll Jahre zurück...erste Stunde, damals in der Berufsschule bzgl. Linux: Realtime (Computing) ist Illusion, mehr noch ggf. ein Problem. Gleiches wurde dann noch im Studium wiederholt. Aber eigentlich ist es auch einfach nur logisch: Wenn ich in ein Verzeichnis eine 100MB Große Datei Schreibe, dann kann die nicht "realtime" synchron gehalten werden (Weg ist offen). Zu dem wäre realtime sync gleichzeitig ein No Go, da die Datei vielleicht noch nicht einmal fertig geschrieben wäre. Also ist das hier alles nur auf Mutmaßung. Auf FileLevel Basis ein Ad hoc Sync haben zu wollen, auf Basis der Fragestellung ist ebenso illusorisch und das von dir immer wieder angebrachte syncthing wird das auch nicht hinbekommen. Also einfach als Alternative da stehen lassen, denn das ist es, solang keine weiteren Metafaktoren dem widersprechen. Diese sind aber nicht genannt.

Jetzt kannst wieder was produktives machen ;)
aqui
aqui 20.12.2020 um 12:58:00 Uhr
Goto Top
aber es ist nur in eine Richtung ein Sync möglich.
Nicht ganz wenn man mit Push und Pull arbeitet...
https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-syn ...
Die andere Option lsyncd
https://linoxide.com/tools/setup-lsyncd-sync-directories/
LordGurke
LordGurke 20.12.2020 aktualisiert um 15:21:45 Uhr
Goto Top
@certified.net
Der Einwand von satosan ist vollkommen berechtigt.
Cron ist für diesen Fall ungeeignet, weil man Dateiänderungen syncen will, wenn sie passieren und nicht immer in Intervallen von einer Minute.
Zumal unison beim Trigger erstmal nachschaut, was alles gesynced werden soll — und abhängig von der Dateianzahl und der Latenzzeit zwischen den Servern dauert das nochmal seine Zeit.
"Echtzeit" mag der falsche Begriff sein, aber die teilweise 2-3 Minuten Verzögerung mit unison via Cron verglichen mit den < 5s von Syncthing sind nunmal in manchen Anwendungsfällen ungeeignet.

@aquis Tipp mit lsyncd hatte ich bisher noch nicht auf dem Schirm, der sieht aber auch gut aus — immerhin arbeitet das auch mit Inotify-Events und reagiert daher live auf Änderungen.
satosan
satosan 20.12.2020 aktualisiert um 16:05:39 Uhr
Goto Top
Zitat von @aqui:
aber es ist nur in eine Richtung ein Sync möglich.
Nicht ganz wenn man mit Push und Pull arbeitet...
https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-syn ...
Bis Du, wie einige Leute die Aenderung der Aenderung auf die Aenderung der Aenderung syncst. Ich wuerde Dir nicht empfehlen Daemon und Client jeweils auf einem Server laufen zu haben wenn Du mit den selben Ordnern arbeitest. Desitination und Source als gleichen Ordner darfst Du niemals machen. Deswehen sollte Lsyncd auch nur als 1-way Sync genutzt werden.

Sie mal oben, Lsyncd habe ich mehrfach genannt.

Der 'Nachteil' von Syncthing sind die 5sec Delay. Korrekt. Dafuer habe ich aber ein Snapshot und File-Rollback. Den habe ich bei anderen Loesungen nicht. GoodSync kann das glaube ich auch. Um nochmal auf die 100MB Datei Argumentation von @certifiedit.net zurueck zu kommen. Wenn Du ein >= 10Gbit/s Network hast dann siehst Du die 100MB gar nicht. Selbst in einem 1Gbit/s ist die in 1s verarbeitet. Ich benutze 'realtime' hier im Zusammenhang, dass der Sync-Job nicht 'manuell' angestossen werden muss, was zBsp. bei Unison, Rsync usw. definitiv der Fall ist. Wie @LordGurke sagt, vielleicht ist 'Echtzeit' der ungluecklichste Begriff von allen. Ein 'realtime' Sync aber mit Rsync zu vergleichen, ist ein anderes Thema.
certifiedit.net
certifiedit.net 20.12.2020 um 16:16:12 Uhr
Goto Top
Ihr könnt darüber philosophieren, wie Ihr wollt. 1. Weisst du nicht, ob es ein GBIt/s Netzwerk ist, zweitens wisst ihr den Hintergrund der Frage nicht (wie ich, nur merke ich das an).

2. Ferner, vielleicht mal daran gedacht, dass es gar nicht automatisch sein muss? - Er spricht ja nun selbst von rsync - größtes Problem unidirektionaler Abgleich.

3. Ihr seid ungefähr wie die Politiker, die auf das "Innenstadtsterben" (ganz neues Phänomen!) mit Steuererhöhung für den Versandhandel kontern. (kann ggf. helfen, wer weiss, aber das eigentliche Problem liegt ggf. meilenweit woanders...)

Grüße und schönen Sonntag!
satosan
satosan 20.12.2020 aktualisiert um 19:57:53 Uhr
Goto Top
Zitat von @certifiedit.net:
Ihr könnt darüber philosophieren, wie Ihr wollt. 1. Weisst du nicht, ob es ein GBIt/s Netzwerk ist, zweitens wisst ihr den Hintergrund der Frage nicht (wie ich, nur merke ich das an).

Wann immer Du mal nicht den Nagel getroffen hast, dann kommst Du einem so. Faellt mir oefter auf. Die Wahrscheinlichkeit ein Netzwerk < 1Gbit/s zu finden ist heute wohl < 1%. Der Hintergrund der Frage ist das er einen Folder zwischen 2 Servern syncen moechte.

Ich zitiere aus dem Eingangsthread:
Gerne möchte ich ein Verzeichnis meiner beiden Dateiserver (Samba) synchron halten. 

Zitat von @certifiedit.net:
2. Ferner, vielleicht mal daran gedacht, dass es gar nicht automatisch sein muss? - Er spricht ja nun selbst von rsync - größtes Problem unidirektionaler Abgleich.

Ich zitiere aus dem Eingangsthread:
 ... Zuerst dachte ich an Rsync, aber es ist nur in eine Richtung ein Sync möglich. Das nützt mir nichts, denn es könnte ja sein, dass auf der anderen Seite Dateien/Verzeichnisse erstellt oder verändert werden ...

Zitat von @certifiedit.net:
3. Ihr seid ungefähr wie die Politiker, die auf das "Innenstadtsterben" (ganz neues Phänomen!) mit Steuererhöhung für den Versandhandel kontern. (kann ggf. helfen, wer weiss, aber das eigentliche Problem liegt ggf. meilenweit woanders...)

Grüße und schönen Sonntag!

Schlechter Verlierer. Einsicht ist der erste Schritt zur Besserung.
certifiedit.net
certifiedit.net 20.12.2020 aktualisiert um 23:02:49 Uhr
Goto Top
Wann immer Du mal nicht den Nagel getroffen hast, dann kommst Du einem so. Faellt mir oefter auf. Die Wahrscheinlichkeit ein Netzwerk < 1Gbit/s zu finden ist heute wohl < 1%. Der Hintergrund der Frage ist das er einen Folder zwischen 2 Servern syncen moechte.

Und woher weisst du, dass beide Server an einer Site stehen?

Wir haben genug Kunden, die noch per x Mbit/s angebunden sind. Ein Filesync läuft da mit <1Mbyte/s. Selbst bei VDSL 50 läuft der weit weg von 125Mbyte/s.

zitieren will gelernt sein, das war der code tag...

... Zuerst dachte ich an Rsync, aber es ist nur in eine Richtung ein Sync möglich. Das nützt mir nichts, denn es könnte ja sein, dass auf der anderen Seite Dateien/Verzeichnisse erstellt oder verändert werden ...

genau: Problem UNIdirektionaler Sync. Sonst merkt er kein Problem an. Unison macht - oh wunder - bidirektionalen (heisst auf deutsch: beide richtungen)

Schlechter Verlierer. Einsicht ist der erste Schritt zur Besserung.

Schlechterer Verlierer, wenn er nicht mal merkt, dass er Dinge durcheinander bringt (und verloren hat - wenn du es so sehen willst.)

https://www.noulakaz.net/2019/03/29/a-journey-from-unison-to-syncthing-a ...

PS: Wenn man es jetzt auf die Spitze treiben will nimmt man einfach mein erstes Anhängsel:

Aber das Mittel der Wahl will in jedem Fall an Anforderungen, Umfeld etc angepasst sein, sonst könnte das böses nach sich ziehen.

Soweit so gut, ich drück die Daumen, dass du das auch begreifst, bevor du bei einem Kunden mal ein wahnsinnig wertvolles Element ins Nirvana synchronisierst.
satosan
satosan 20.12.2020, aktualisiert am 21.12.2020 um 00:03:19 Uhr
Goto Top
Zitat von @certifiedit.net:

Und woher weisst du, dass beide Server an einer Site stehen?

Woher weisst Du das die Server nicht auf einer Seite stehen? Woher weisst Du das er keine 1GBit/s Anbindung hat. Das sind doch Fragen die Du selbst gestellt hast. Geh doch mal zu Hetzner, da hast Du 1Gbit/s Up- und Downstream. Ich weiss in Deutschland ist das selten. LoL ;)

... Zuerst dachte ich an Rsync, aber es ist nur in eine Richtung ein Sync möglich. Das nützt mir nichts, denn es könnte ja sein, dass auf der anderen Seite Dateien/Verzeichnisse erstellt oder verändert werden ...

genau: Problem UNIdirektionaler Sync. Sonst merkt er kein Problem an. Unison macht - oh wunder - bidirektionalen (heisst auf deutsch: beide richtungen)
Die Vorgabe hier war KEINE (!!!!!) manuelle Loesung, sondern realtime. Du musst doch lesen koennen, oder kannst Du nur schreiben?

Schlechterer Verlierer, wenn er nicht mal merkt, dass er Dinge durcheinander bringt (und verloren hat - wenn du es so sehen willst.)
https://www.noulakaz.net/2019/03/29/a-journey-from-unison-to-syncthing-a ...

Du bringst da einen Artikel von einem Blogger der nicht mal Syncthing verstanden hat. Der macht den Rueckschritt weil er aus Versehen Files geloescht hat und wahrscheinlich Konfigurations-Fehler gemacht hat. Kann ja vorkommen.
But this also means that all errors (a file deleted by mistake, a file overwritten by mistake, etc.) are also immediately propagated. So I used different kinds of versioning techniques to make sure that backups are kept in these situations. But, nevertheless, I slowly realised that real-time propagation might not be a good idea.
Ich habe oben schon mehrmals gesagt, dass Du mit Syncthing quasi File-Snapshots hast und einen Rollback bis zu einem Jahr oder bestimmte Anzahl von Aenderungen machen kannst. Selbst versehentlich geloeschte Dateien koennen wiederhergestellt werden. Alles eine Setup-Frage. Man soll nicht immer alles glauben was einem im Internet vorgegebn wird, sondern sich damit selber mal beschaeftigen. Und Dein Blogger schreibt explizit dass ihm MANUELLES (!!!!!) syncen ausreicht. Vielleicht hat er ja ein bisschen Mist gebaut, aka Anwedungsfehler und moechte das nur nicht sagen.

The second issue is that Syncthing uses a lot of CPU.
Absolute Fehlinformation. Weiss nicht ob man im Screenshot eine hohe CPU-Auslastung mit Syncthing sehen kann. Normaler Proxmox Server mit Syncthing-Jobs fuer aktuelle 3 Server.
syncthing1

Unwissen ist ja nicht schlimm, wenn man es nicht anderen als Wissen aufdraengen will.

Zitat von @certifiedit.net:
Aber das Mittel der Wahl will in jedem Fall an Anforderungen, Umfeld etc angepasst sein, sonst könnte das böses nach sich ziehen.
Die rhetorische Bruecke um Dein Verhalten hier durch die Hintertuer zu legitimieren, kriegst Du hier nicht mehr aufgebaut.
certifiedit.net
certifiedit.net 21.12.2020 um 00:06:27 Uhr
Goto Top
Gerne möchte ich ein Verzeichnis meiner beiden Dateiserver (Samba) synchron halten. Zuerst dachte ich an Rsync, aber es ist nur in eine Richtung ein Sync möglich. Das nützt mir nichts, denn es könnte ja sein, dass auf der anderen Seite Dateien/Verzeichnisse erstellt oder verändert werden. Was wäre denn das Mittel der Wahl das zu bewerkstelligen?

Das war seine Anfrage.

Realtime? Steht da nicht. Ob manuell, steht da auch nicht. Ob es bei Ihm daheim oder bei Hetzner ist, steht da auch nicht. Und nun?
certifiedit.net
certifiedit.net 21.12.2020 um 00:13:19 Uhr
Goto Top
Zitat von @satosan:

Zitat von @certifiedit.net:

Und woher weisst du, dass beide Server an einer Site stehen?

Woher weisst Du das die Server nicht auf einer Seite stehen? Woher weisst Du das er keine 1GBit/s Anbindung hat. Das sind doch Fragen die Du selbst gestellt hast. Geh doch mal zu Hetzner, da hast Du 1Gbit/s Up- und Downstream. Ich weiss in Deutschland ist das selten. LoL ;)

... Zuerst dachte ich an Rsync, aber es ist nur in eine Richtung ein Sync möglich. Das nützt mir nichts, denn es könnte ja sein, dass auf der anderen Seite Dateien/Verzeichnisse erstellt oder verändert werden ...

genau: Problem UNIdirektionaler Sync. Sonst merkt er kein Problem an. Unison macht - oh wunder - bidirektionalen (heisst auf deutsch: beide richtungen)
Die Vorgabe hier war KEINE (!!!!!) manuelle Loesung, sondern realtime. Du musst doch lesen koennen, oder kannst Du nur schreiben?

Das war deine Vorgabe. Sein Beitrag rsync geht nicht. Nix realtime, nix automatisch, nix...blabla.

Schlechterer Verlierer, wenn er nicht mal merkt, dass er Dinge durcheinander bringt (und verloren hat - wenn du es so sehen willst.)
https://www.noulakaz.net/2019/03/29/a-journey-from-unison-to-syncthing-a ...

Du bringst da einen Artikel von einem Blogger der nicht mal Syncthing verstanden hat. Der macht den Rueckschritt weil er aus Versehen Files geloescht hat und wahrscheinlich Konfigurations-Fehler gemacht hat. Kann ja vorkommen.

klar, kann vor kommen, aber das ist eben auch die Gefahr, wenn man unbedarft ran geht. Kann auch vor kommen. Ich verweise auf obiges.

But this also means that all errors (a file deleted by mistake, a file overwritten by mistake, etc.) are also immediately propagated. So I used different kinds of versioning techniques to make sure that backups are kept in these situations. But, nevertheless, I slowly realised that real-time propagation might not be a good idea.
Ich habe oben schon mehrmals gesagt, dass Du mit Syncthing quasi File-Snapshots hast und einen Rollback bis zu einem Jahr oder bestimmte Anzahl von Aenderungen machen kannst. Selbst versehentlich geloeschte Dateien koennen wiederhergestellt werden. Alles eine Setup-Frage. Man soll nicht immer alles glauben was einem im Internet vorgegebn wird, sondern sich damit selber mal beschaeftigen. Und Dein Blogger schreibt explizit dass ihm MANUELLES (!!!!!) syncen ausreicht. Vielleicht hat er ja ein bisschen Mist gebaut, aka Anwedungsfehler und moechte das nur nicht sagen.

The second issue is that Syncthing uses a lot of CPU.
Absolute Fehlinformation. Weiss nicht ob man im Screenshot eine hohe CPU-Auslastung mit Syncthing sehen kann. Normaler Proxmox Server mit Syncthing-Jobs fuer aktuelle 3 Server.

Kann sein, bei Ihm gabs das - zwei Leute, zwei Meinungen. Kenne Sachverhalte, da potenziert sich das. Übrigens, nicht ich versuche hier eine Lösung auf zu drängen, sondern du. face-smile

syncthing1

Unwissen ist ja nicht schlimm, wenn man es nicht anderen als Wissen aufdraengen will.

Zitat von @certifiedit.net:
Aber das Mittel der Wahl will in jedem Fall an Anforderungen, Umfeld etc angepasst sein, sonst könnte das böses nach sich ziehen.
Die rhetorische Bruecke um Dein Verhalten hier durch die Hintertuer zu legitimieren, kriegst Du hier nicht mehr aufgebaut.

Wofür legitimieren? Es ist so wie es ist.

Er sprach a) nirgendwo von Realtime - sondern du
b) nirgendwo von automatismus - sondern du
c) keiner Bandbreite - sondern, genau du!

face-smile

Wie lang willst noch darauf rumreiten?

Vielleicht geht's ja nur mir mittlerweile so, aber was bringt ein graph, bei dem keine Einheit dran steht? wenn ich nen Atom an ne Arbeit ranpack bekomme ich hoffentlich ganz andere Werte als bei einem 4xPlatin Xeon Gespann.
hannes.hutmacher
hannes.hutmacher 24.12.2020 um 13:53:36 Uhr
Goto Top
Erst mal Danke ich für die Lösungsvorschläge. Was mich ehrlich gesagt ermüdet sind dann die entstehenden ewigen Diskussionen, die man alle quasi lesen muss, weil sich darin wiederrum eine weitere Lösung befinden könnte. Ehrlich, Leute... Lasst es doch. Einfach kurz und knapp schreiben wie man das selbst gelöst hat bzw. was ihr WISST wie man das löst und gut ist. Da reichen im Regelfall knappe Beschreibungen oder Stichworte aus und man kommt weiter. Wenn dann noch Fragen offen sind, wir man sie stellen.

Ich bedanke mich für die Antworten und wünsche euch ein frohes Weihnachtsfest.
satosan
satosan 24.12.2020 um 14:06:15 Uhr
Goto Top
Gibt halt immer Leute die andere Meinungen 'mies' machen und vieles 'Verkomplizieren' um dann zu hoffen das der TO sich bei ihm meldet und er Serviceleistungen verkaufen kann.

Dabei ist die Loesung manchmal so leicht und man kann mit einem 'alles' abdecken anstatt sich mit einer Loesung selbst zu limitieren.

Frohes Fest und bleib gesund.

VG Sato