Synchronisation in beide Richtungen mit Debian 9? [Gelöst]

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Synchronisation in beide Richtungen mit Debian 9? [Gelöst]

Beitrag von jmar83 » 18.12.2019 11:13:56

Hallo zusammen

Müsste 2 Debian 9-Server in beide Richtungen über SSH/SFTP synchronisieren, dabei ist mir bis jetzt aber kaum was vernünftiges, einfach einzusetzendes aufgefallen. (Abgesehen von der kommerziellen Software https://www.goodsync.com/de über einen "Zwischenserver" , welche aber bei Windows Servern noch mal eine spez. Lizenz erfordert...)

Kennt jemand eine gute Software für Linux, evtl. etwas was einen Dienst kreiert, welcher im Hintergrund mit `rsync` (oder so) arbeitet. Dabei hätte ich geplant, das ganze auf beiden Servern gleichzeitig zu verwenden, falls mal was ausfällt. Ferner wüsste ich auch nicht, warum ich Server A gegenüber Server B bevorzugen sollte, resp. umgekehrt. (?)

Besten Dank für die Feedbacks.
Zuletzt geändert von jmar83 am 20.12.2019 10:13:14, insgesamt 1-mal geändert.
Freundliche Grüsse, Jan

Benutzeravatar
MSfree
Beiträge: 10774
Registriert: 25.09.2007 19:59:30

Re: Synchronisation in beide Richtungen mit Debian 9?

Beitrag von MSfree » 18.12.2019 11:27:55

jmar83 hat geschrieben: ↑ zum Beitrag ↑
18.12.2019 11:13:56
Hallo zusammen

Müsste 2 Debian 9-Server in beide Richtungen über SSH/SFTP synchronisieren,
Falsch, du mußt nicht mit SFTP synchronisieren. Meiner Meinung nach ist das sogar das komplett falsche Werkzeug.

Ich würde das mit Debianrsync machen. Das kann man auch durch SSH tunneln.

willy4711

Re: Synchronisation in beide Richtungen mit Debian 9?

Beitrag von willy4711 » 18.12.2019 11:34:21

Schau mal hier:
https://medevel.com/15-data-backup-file ... onization/

Ich selbst nutze seit Jahren FreeFileSync, das das wohl auch kann.

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Synchronisation in beide Richtungen mit Debian 9?

Beitrag von jmar83 » 18.12.2019 13:55:56

Danke für die Feedbacks!

@MSfree: Ein Filetransfer über SSH ist heutzutage nicht zwangsläufig SFTP? Und früher (vor x Jahren oder gar Jahrzehnten) SCP? Das von mir oft verwendete Tool "WinSCP", und auch kein anderes Upload-Tool (ob jetzt Upload oder sync sollte ja egal sein) welches ich jemals gesehen habe, bietet als Option "SSH File Transfer" (oder so) an? Auch der "Bitvise SSH Client" verwendet letztendlich SFTP, auch wenn man zuerst ne SSH-Verbindung aufbaut. Und alle 3 Sachen (SSH, SFTP, SCP) laufen doch über den gleichen Port 22? Also auf Serverseite ist das ja immer ein SSH-Dienst..?

@willy4711: Das scheint entweder keine Unterverzeichnisse zu unterstützen (sehe da (bei der SFTP-Sektion) keine Option rekursiv Ja/Nein oder sowas?) oder hat ein Problem mit Verzeichnissen mit Namen in der Art '1d5a81fa29b2eef3-860f104-4d5a-8142-7748cd33768f463c6d127c9b'... jedenfalls sehe ich nur die .htaccess-Datei mit diesen Tool
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Synchronisation in beide Richtungen mit Debian 9?

Beitrag von jmar83 » 18.12.2019 13:56:39

SFTP != FTPS

FTPS = Normales FTP mit Verschlüsselung: https://de.wikipedia.org/wiki/FTP_%C3%BCber_SSL
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Synchronisation in beide Richtungen mit Debian 9?

Beitrag von jmar83 » 18.12.2019 13:59:24

"Ich würde das mit Debianrsync machen. Das kann man auch durch SSH tunneln."
rsync könne nicht bidirektional synchronisieren habe ich irgendwo bei StackBlaBlaBla gelesen, dafür gäbe es aber "unison": https://www.cis.upenn.edu/~bcpierce/unison/

Ich benötige aber zwangsläufig bidirektionale Synchronisation...
Freundliche Grüsse, Jan

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Synchronisation in beide Richtungen mit Debian 9?

Beitrag von schwedenmann » 18.12.2019 14:03:35

Hallo

Neben rsync würde ich mal nach unison schauen, das ist genau für den Abgleich von Quelle und Ziel und zwar in beide Richtungen !

https://www.cis.upenn.edu/~bcpierce/unison/

mfg
schwedenmann

Benutzeravatar
MSfree
Beiträge: 10774
Registriert: 25.09.2007 19:59:30

Re: Synchronisation in beide Richtungen mit Debian 9?

Beitrag von MSfree » 18.12.2019 14:05:26

jmar83 hat geschrieben: ↑ zum Beitrag ↑
18.12.2019 13:55:56
@MSfree: Ein Filetransfer über SSH ist heutzutage nicht zwangsläufig SFTP?
SSH ist wie ein schweizer Taschenmesser, man kann darüber interaktiv mit der Shell eines entfernten Rechners kommunizieren, man kann darüber mit scp Daten übertragen, man kann Netzwerkports tunneln oder auch die SSH-Verbindung als generellen Tunnel ohne dedizierte Netzwerkports nutzen, ja sogar VPN kann man über SSH fahren.

Eine der vielen Möglichkeiten ist, rsync über SSH abzusichern. Erst kürzlich hatten wir hier dazu diesen Thread:
viewtopic.php?f=27&t=175571

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Synchronisation in beide Richtungen mit Debian 9?

Beitrag von jmar83 » 18.12.2019 14:08:08

@Schwedenmann: Vielen Dank! Letztendlich bleibt wohl nix anderes übrig als das. Komplette Softwarelösungen, welche bereits als Dienst installiert werden gibt es eigentlich keine kostenlosen - und meist sind die auch für Windows.


@willy4711: Die Frage wie FreeFileSync mit Unterverzeichnissen umgeht, ist im Forum schon seit Jahren offen: https://freefilesync.org/forum/viewtopi ... 822#p22822
(Keine Antwort ist bekanntlich auch ne Antwort, wie man so schön sagt..)
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Synchronisation in beide Richtungen mit Debian 9?

Beitrag von jmar83 » 18.12.2019 14:14:25

"Eine der vielen Möglichkeiten ist, rsync über SSH abzusichern."

Aha, dann hat rsync ein eigenes Protokoll, welches man wieder um über SSH tunneln kann?
"man kann darüber mit scp Daten übertragen"
@MSFree: Vielen Dank!! Habe immer gemeint, rsync selbst mache keinen Server, mann könne dort als Parameter (z.B) halt einfach 'ssh://x.x.x.x/mypath' statt '/home/myuser/mypath' angeben. Dann ist rsync also ein eigener Netzwerkdienst...

Und "SCP" ist nicht veraltet, sondern eigentlich das "Normale", wenn man Files mit SSH überträgt? (Mir ist nur bei meinen WinSCP aufgefallen, dass ich beides, SFTP sowie SCP, verwenden kann um zu Port 22 der Debian 9-Maschine eine Verbindung herzustellen für Filetransfers)
Zuletzt geändert von jmar83 am 18.12.2019 19:15:13, insgesamt 2-mal geändert.
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Synchronisation in beide Richtungen mit Debian 9?

Beitrag von jmar83 » 18.12.2019 14:35:35

Unison:
"The configuration file must be named .unison/default.prf and placed under the user’s home directory."
Design-mässig ein komplettes no-go, wenn das Tool als Dienst laufen soll und sich an ein User-Profil binden will.

Ganz rational gesehen, da kann man jetzt sagen was man will: Die kommerzielle Software https://www.goodsync.com/de wäre von Anfang an die absolut kostengünstigste Option gewesen (so lange, wie ich mich schon mit dem Thema herumschlage!), halt nicht die Enterprise-Version, sondern die welche auch auf Win10 läuft! ;-) Das Ganze als Zwischenserver und Dienst, konfiguriert mit ein paar Mausklicks. Jeder 12-jährige kriegt damit sowas in ein paar Minuten hin...

Aber ja, es muss ja alles immer kostenlos sein (so ähnlich wie bei FB, Instagram und Co...), aber genau das hat man halt dann davon. Tja.
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Synchronisation in beide Richtungen mit Debian 9?

Beitrag von jmar83 » 18.12.2019 19:36:19

"Aber ja, es muss ja alles immer kostenlos sein (so ähnlich wie bei FB, Instagram und Co...), aber genau das hat man halt dann davon. Tja."
Ein wenig reflektierter: Nur "kostenlos" sollte ja eigentlich auch kein Argument sein warum man nun Linux, BSD etc. verwendet - eher: Manche Sachen geht damit halt viel einfacher (z.B. LAMP Server) und obendrein ist es auch noch kostenlos!

Komplett "gratis", ist ja eigentlich auch nicht die Idee von Open Source - sich wenigstens die Mühe machen Bugs zu melden (statt sich darüber zu nerven), das sollte das Mindeste sein.

So long...;-)

P.S.: Betr. Synchronisation wird sich schon was finden lassen - wenn's unbedingt sein muss kann man ja Unison als systemd-Dienst in Kombination mit dem root-Account laufen lassen: https://github.com/banholzer/unison.ser ... on.service
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Synchronisation in beide Richtungen mit Debian 9? [Gelöst]

Beitrag von jmar83 » 20.12.2019 10:08:49

Problem gelöst mit:

- SSHFS: https://github.com/billziss-gh/sshfs-wi ... v3.5.19106
-> Hängt ab von `WinFSP`: https://github.com/billziss-gh/winfsp/r ... tag/v1.5B5
- Dann die SSHFS-Drives mit `M$ SyncToy` in beide Richtungen synchronisieren: https://www.microsoft.com/en-us/downloa ... x?id=15155

...ich weiss zwar, dass man das (irgendwelche M$-Sachen halt) hier nicht besonders gerne hört, aber evtl. hat ja jemand man die gleiche Konstellation mit 2 Linux-Maschinen welche einfach über eine 3. Maschine dazwischen synchronisiert werden sollen. Das ganze klappt damit wunderbar und ist auch kinderleicht aufzubauen. (Und irgendwelche Windows-Server hatten wir bei uns eh schon am laufen, von daher..)

Zumindest kann man damit auf `GoodSync` verzichten, in der gratis-Version ist das eh nicht zu gebrauchen. Und die kostenpflichtige Personal-Version (49.00 Euros soviel ich weiss) verweigert den Dienst auf Windows Server... dann bräuchte man bereits die Serverversion davon, welche locker über 1K Euros kostet - nein danke!!

;-)
Freundliche Grüsse, Jan

Benutzeravatar
MSfree
Beiträge: 10774
Registriert: 25.09.2007 19:59:30

Re: Synchronisation in beide Richtungen mit Debian 9? [Gelöst]

Beitrag von MSfree » 20.12.2019 11:13:57

jmar83 hat geschrieben: ↑ zum Beitrag ↑
20.12.2019 10:08:49
...ich weiss zwar, dass man das (irgendwelche M$-Sachen halt) hier nicht besonders gerne hört, aber evtl. hat ja jemand man die gleiche Konstellation mit 2 Linux-Maschinen welche einfach über eine 3. Maschine dazwischen synchronisiert werden sollen. Das ganze klappt damit wunderbar und ist auch kinderleicht aufzubauen.
Dieses Problem ist völlig unabhängig vom Betriebssystem, ja sogar vom Computer ansich. Und die Lösung ist alles andere als kinderleicht. Das gleiche Problem ergibt sich, wenn man zwei Blatt Papier nimmt und auf beide zunächst den selben Text schreibt. Später werden auf den beiden Blättern unabhängig von unterschiedlichen Leuten Änderungen vorgenommen. Welches der beiden Blätter wirfst du dann in den Mülleimer?

Du hast also einen Konflikt, den du lösen mußt. Eine Lösung ist, einfach das Blatt zu nehmen, das die jüngste Änderung enthält, und das andere zu vernichten. Dabei verliert man die Änderungen, die auf dem vernichteten Blatt waren.

Die bessere Lösung wäre, eine Abschrift auf einem dritten Blatt zu erzeugen, die die Änderungen der beiden geänderten Blätter enthält. Die zusammengeführte Abschrift wird behalten, die beiden anderen vernichtet.

Das Lösen dieses Konfliktes läßt sich aber nicht automatisieren. Software kann hier bestenfalls einen Vorschlag machen, wie die beiden Texte zusammengeführt werden könnten, die letzte Entscheidung muß aber der Anwender interaktiv durchführen.

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Synchronisation in beide Richtungen mit Debian 9? [Gelöst]

Beitrag von jmar83 » 20.12.2019 13:27:20

Vielen Dank für die (absolut berechtigten) Überlegungen, welche du gemacht hast! Bin ja (eigentlich) Entwickler (SQL, Shell Skripts, Perl, Batch, Power Shell, ein wenig C/C++ sowie ein wenig PHP aber nur für Backend-Services und kaum direkt (bestenfalls über JSON-Webdienste) im Zusammenhang mit FrontEnd-Technologien wie JavaScript, HTML5, CSS3 & Co.) und dabei kommt mir natürlich sofort GIT in den Sinn... :THX:

Es geht aktuell nur um Bilder welche in einem Server-Verbund synchronisiert werden sollen. MySQL regelen wie über einen sog. Master-Master-Cluster (das Konzept dabei ist, dass beide Server Master und Slave gleichzeitig sind. Das ganze geschieht dabei rein über MySQL "nativ", über Port 3306 und funktioniert bis jetzt PERFEKT. SQL-Operationen werden dabei an den Slave nicht vollständig weitergegeben, sondern nur die CREATE-/DELETE sowie UPDATE-Anweisungen dahinter... das ganze ist wie eine kleine "Cloud", halt nur aus 2 Servern an untersch. Standorten bestehend...:-))

Das von mir angesprochene Thema war die Bilder-Synchronisation, die Bilder (als Hintergrund für Web-Buttons um Aktoren unserer Gebäudesteuerung zu schalten) können nur beim Upload editiert werden (Crop, Ausschnitt) und dann nicht mehr. Und unser Raspberry lädt die Bilder grundsätzlich nur auf Server X... insgesamt gibt es 3 IPs

- 1 Vserver im Rechenzentrum inkl. Plesk
- 1 Vserver bei uns vor Ort mit 2 untersch. Providern verbunden, die eine Verbindung über NAT/Portsforwards (die günstige Leitung, welche eigentlich ein Angebot für Privatpersonen ist) die andere über eine Standleitung mit /24er-Subnetz wo alles direkt über öffentliche IPs geht, welche direkt auf der NIC als statische öffentliche IP konfiguriert werden.)

Der Vserver bei uns hat 2 Domains, die eine ist über Let's encrypt abgesichert. Die andere nicht, falls mal Let's encrypt auf der ersten Domain ausfällt, was natürlich nicht passieren dürfte, und dem Endbenutzer komische Zertifikatsmeldungen ausgibt. (Klar, geht alles im Klartext rüber...)

Diese 3 IPs sieht das System als primär, sekundär sowie (Implementierung noch pendent) tertiär. (Auch wenn die Server vom "Rang" her alle auf der gleichen Ebene sind und keine reinen (einseitigen) Master-Slave-Konstruktionen)

Und wenn mal ein Server ausfällt, dann listet das System die Schaltseiten (Freigabe auf öffentlicher Domain mit Buttons, diese kann über einen Hash, GET-Parameter im Link und zusätzlich (als Ganze Freigabe mit allen Buttons) über ein Kennwort abgesichert werden. Oder auch einzelne Buttons über ein Kennwort...) dynamisch mit dem Ersatz-Server auf. (Klar, Bookmarks mit der alten, gerade ausgefallenen Domain, gehen dann nicht mehr)

Gleichzeitig ändern auf untersch. Servern ist somit eher weniger der Fall - es muss einfach noch gut getestet werden, bevor es "in Produktion" geht.

P.S.: Off-topic: DNS-round-robin mit nur 1 Domain ist nicht wirklich ne Option, es sei denn es wäre fähig ausgefallene Server aus der Liste für das DNS-round-robin vorübergehend zu entfernen und dann wieder hinzuzufügen. Aber DNS-Caching (OS, Browser, gar der DNS-Relay-Dienst auf dem Router?) kann einem dann auch wieder "reinfunken"...

Irgendwie kann man halt nicht alles zu 100% im Voraus planen, und mache Sachen ergeben sich dann meist von selbst. (Früher oder später eigentlich immer)
Freundliche Grüsse, Jan

Antworten