Server spiegeln & per Internet synchronisieren

FloBla

New Member
Guten Tag,
ich habe bei der Suche nicht die Lösung meines Problems gefunden und deswegen diesen Thread erstellt.
Im Büro haben wir eine neu aufgesetzte Synology Rackstation (RS3617xs+) und eine ältere (RS2212+), die von der neuen ersetzt wurde. Zweitere soll in ein anderes Büro gehen und mit der neuen automatisch gesynced werden. Hierfür suche ich ein möglichst günstiges oder gar kostenloses Programm, das zuerst alle Daten (noch vor Ort) von der neuen auf die alte Rackstation kopiert und danach per Internet jede Datei, die auf der neuen hinzukommt auf die andere überträgt.
CloudStation hat Monate für das Kopieren gebraucht, bis ichs abgebrochen habe, da kein Ende in Sicht war.
Dazu möchte ich noch erwähnen, dass ich nicht im IT-Bereich zuhaus bin und um eine Antwort mit entprechend verständlicher Formulierung bitte


Für eine gute Empfehlung wäre ich sehr dankbar!
 

Demmerle IT

Linux IT Dienstleistungen
Hallo,

wie @Milchbroetchen auch schon geschrieben hat, bietet sich hier rsync an.
Vor Ort kannst du mit rsync die Dateien über deine lokale Infrastruktur kopieren. Du benötigst lediglich SSH Zugriff auf, wenn möglich, beide Synos.

Die spätere Syncronisation sollte mit Active Backup for Business machbar sein (zumindest lassen sich damit "normale" Server sichern).

Solltest du Unterstützung benötigen, schreib mir gerne eine PN.

Viele Grüße
Jonathan
 

d4f

Kaffee? Wo?
Hier gibt es zum Thema Rsync für grosse Datenmengen eine interessante Auflistung. Insbesondere die Optimierungen wie das Abschalten der Checksum sind oft sinnvoll - man muss aber die einhergehenden Nachteile ebenfalls sehr gut kennen!


Was genau stellst du unter Synchronisierung vor? Dass ein System als Backup für das andere dient oder sollen auf beiden Systemen gleichzeitig aktiv Änderungen durchgeführt werden? Letzteres bräuchte ein Cluster-Dateisystem was ohne weiteres mit einem Nas schwer bis gar nicht bewerkstelligbar ist. Ersteres braucht rsync oder ähnliches.
 

greystone

Member
Hierfür suche ich ein möglichst günstiges oder gar kostenloses Programm, das zuerst alle Daten (noch vor Ort) von der neuen auf die alte Rackstation kopiert und danach per Internet jede Datei, die auf der neuen hinzukommt auf die andere überträgt.
lsyncd(Kommandozeilenprogramm) macht ganz genau das: https://axkibe.github.io/lsyncd/

Es synchronisiert einen Anfangsbestand an Dateien und überwacht jede Änderung an Dateien und synchronisiert das dann nach.

Das Programm ist für eine Synchronisation in eine Richtung geeignet.(Also z. B. von der neuen Synology auf die alte).

Das mit lsyncd funktioniert auf großen Dateibäumen sehr gut, wenn die Änderungshäufigkeit eher gering ist.

Wie bereits von Jonathan geschrieben, kann man die alte Synology erst ins LAN hängen, in der auch die neue Synology steht und einen initialen sync über das LAN(1 GBit/s) durchführen. Ist der einmal durchgelaufen, kann man die alte Synology ins entfernte LAN hängen und die Unterschiede über die wesentliche geringere Bandbreite der Internetleitung dann kontinuierlich nachsynchronisieren lassen. Wie Dead_Eye geschrieben hat, ist die Uploadbandbreite am Standort der neuen Synology sehr wichtig. Hier ist auch die Frage, wie groß die Datenmengen der Dateien, die sich jeweils ändern, sind.

Der Vorteil von lsyncd im Vergleich zu rsync ist, das bei sehr grossen Dateibäumen die Anfangsphase extrem lang dauert. Die Anfangsphase besteht darin, daß einmal alle Dateien durchgesehen werden, ob die aktuell sind. Das kann schon mal ein oder mehrere Stunden dauern, bei einer extrem hohen Anzahl von Dateien. Bei rsync findet das bei jedem Aufruf statt. Bei lsyncd wird das nur einmal gemacht und anschließend nicht mehr, da ja nur noch die Änderungen nachgezogen werden.

Zusätzliche Details

Falls sehr viele Dateien synchronisiert werden, sollten die Inotify-Watches erhöht werden:


1 Inotify-Watch benötigt 1080 Bytes(64 Bit-Platform). D. h. 1.000.000 Inotify-Watches brauchen 1 GB RAM. Du brauchst so viele watches wie Dateien in Deiner Synchronisation sind.

Meine Anwendungszwecke

Server umziehen


Ich verwende es recht häufig zum umziehen(physisch->virtuell, von einer virt-plattform auf eine Andere) von Servern:
  • lsyncd synchronisieren lassen bis es einmal durch ist
  • Bootumgebung auf dem neuen System anpassen
  • Dienste auf dem alten System abschalten
  • Warten bis die Nachsynchronisierung durch ist(mysql,...)
  • Alten Server abschalten
  • Neuen Server rebooten
  • Downtime ca. 1 Min (relativ unabhängig von der Servergrösse)
Softwaredeployments

Wenn bei einem Server ein Softwaredeployment stattgefunden hat, dann werden geänderte Verzeichnisse auf abhängige Server transferriert, sobald geänderte Dateien festgestellt werden.

Nachtrag

Sieht nicht so aus als wäre lsyncd direkt für Synology DSM verfügbar.
 
Last edited:

FloBla

New Member
Vielen Dank für die sehr hilfreichen Antworten, vor allem an greystone!

lsyncd klingt ideal, ich werds zuerst damit probieren. Danke für die ausführliche Beschreibung zur Benutzung des Programms!
 

greystone

Member
Hallo Flo,

Du hast aber auch gelesen, dass lsyncd auf der DSM vermutlich nicht laufen wird, und der DiskStation Manager - wie von Thunderbyte empfohlen wohl der vielversprechendere Weg sein wird?

Grüße,
g.
 

FloBla

New Member
Hallo Flo,

Du hast aber auch gelesen, dass lsyncd auf der DSM vermutlich nicht laufen wird, und der DiskStation Manager - wie von Thunderbyte empfohlen wohl der vielversprechendere Weg sein wird?

Grüße,
g.
Hey,
den Weg per Synology Software habe ich bereits probiert und er hat nicht zum Ziel geführt. Das Indizieren und Kopieren lief Wochen bis ichs abgebrochen hab.
 
Top