RTRR 2 Wege mit 3 Standorten

  • Frohes neues Jahr...


    ich stehe vor der Aufgabe eine kleine Firmen-Cloud mit 3 Qnaps TS-4xx (FW V4.1.1) zu realisieren, die an 3 Standorten stehen und mittels VPN verbunden sind.
    Sinn und Zweck der Übung ist es an allen 3 Standorten ein Share zu haben, wo jeder Lesen und Schreiben kann und das in die beiden Beiden anderen Standorte übertragen wird.
    Nun habe ich erst mal auf jedem Qnap ein Test Share erzeugt um die unterschiedlichen Sync Möglichkeiten zu testen. In den Sinn kommt mir natürlich RTRR mit 2 Wege Sync. Das Scheint mir Prinzipell das richtige zu sein. Allerdings gibt es hierbei keine Realtime Syncronisation sondern nur Zeitgesteuerte. Kleinster Intervall 5 Minuten. Ich lege die Jobs also mal auf Qnap 1 an, einmal Ziel Qnap 2 und einmal Ziel Qnap 3. Ich lege Verzeichnisse an, kopiere Dateien rein, klappt. Landen auf den anderen Qnaps. Ich kopiere auf Qnap 2 und 3 Dateien rein, kommen auf Qnap 1 an.


    Was aber nicht klappt ist das Löschen von Verzeichnissen. Da wird man Wahnsinnig wenn man es auf einem Qnap macht und erwartet das sie dann nach dem nächsten Sync auf den anderen beiden Qnaps auch verschwinden. Da der Sync Asyncron ist kommen die Verzeichnisse dann vom anderen Qnap wieder zurück. So richtig nachvollziehen wann man wo was löschen muss kann ich nicht. Es scheint so zu sein, das man Verzeichnisse dort löschen muss wo die RTRR Jobs angelegt sind.


    Der Job ist angelegt mit 'neuere Datei gewinnt'. Sehr viel mehr Optionen gibt es nicht, die Lösch-Optionen sind ausgegraut.
    Ich habe auch schon probiert die Jobs auf 2 Qnaps zu verteilen. Qnap 1 macht mit Qnap 2 2-Wege Sync, Job liegt auf Qnap 1, dann Qnap 2 macht 2-Wege Sync mit Qnap 3, Job liegt auf Qnap 2. Bringt auch nicht wirklich mehr Erfolg und macht die Verwaltung schwieriger.


    Wie würdet ihr vorgehen?


    Gruß Andreas

  • Ich weiß nicht, ob du es bedacht hast, wenn eine Datei gleichzeitg auf mehr als ein Standort bearbeitet wird,
    dass es dabei zu Versionsproblemen kommen kann.


    Zudem würde ich auf den NAS für jeden Standort einen eigenen realtime Job zu erstellen, also keine 2-Wege Syncronisation.
    Das würde bedeuten, dass es für jede Freigabe 6 Jobs zu erstellen sind.
    Um die Sache zu vereinfachen könnte man eine Admin-Sync-Freigabe erstellen, in der dann die Freigabe erstellt werden, die syncronisiert werden sollen.
    Somit hättest du den Aufwand stark minimiert.


    Diesen Aufbau habe ich gearde NUR an zwei NAS probiert und es hat gut funktioniert.

  • Inzwischen habe ich mal folgendes gewagt:


    Ich habe einen RTRR Host->Remote Ring gebastelt :)
    Qnap 1 RTRR -> Qnap 2 RTRR -> Qnap 3 RTRR -> Qnap 1


    Auf jedem Qnap ein Job der den lokalen Share mit dem Remote in Echtzeit repliziert. Die Verzeichnisse werden nun überall gelöscht, egal auf welchen Qnap ich das mache. Dateien kopieren und verändern klappt auch. Nun muss ich nur noch probieren, was passiert wenn 2 Personen an einer Datei arbeiten. Ich hoffe das hier auch 'neuer gewinnt' klappt.


    Das es nicht ganz unproblematisch ist, wenn aus mehreren Filialen an einer Datei gearbeitet werden kann ist klar und auch einkalkuliert. Primär sollen in den Filialen Dateien reinkopiert und gelöscht werden können und das scheint nun so zu funktionieren, wie ich mir das vorstelle.


    /update: da haben sich die antworten Überschnitten und ich habe das schon probiert, was du mir geraten hast, allerdings nur in eine Richtung 1->2->3->1
    Ich hatte Bedenken den jeweiligen Gegenjob anzulegen. Ich dachte, das Bounced dann fröhlich hin und her.
    Hilf mir mal auf die Sprünge: was meinst du mit der Admin Sync Freigabe?

  • Ich muss das Thema noch mal hoch holen, denn über die Zeit treten doch ab und zu Probleme auf.
    Die Verbindung zwischen den 3 Standorten ist manchmal etwas instabil so das es zu Retries kommt. Irgendwann fällt dann mal auf, das aus einem der 3 Standorte ein Schwung Dateien nicht zum nächsten Standort weiter gereicht worden sind. Neu hinzu kommende Dateien dagegen schon.


    Hält man nun in dieser Filiale den Job an und startet ihn neu passiert es, das auf einmal etliche Dateien im Papierkorb landen (der nach Leidvoller erfahrung aktiviert wurde) obwohl diese eigentlich in die nächste Filiale repliziert werden sollten. In allen 3 Filialen sind die Jobs so eingestellt, das 'überflüssige' (sprich dort gelöschte) Dateien auch in den Filialen gelöscht werden sollen aber offenbar ist hier irgendwas fehlerhaft und die in der Replizierung ausgelassenen Dateien werden als gelöscht behandelt. Ganz genau konnten wir das noch nicht nachvollziehen weil einfach zu viele Dateien vorhanden sind (40GB in 100.000 Dateien und 2500 Ordnern).


    Ich überlege die Jobs anders zu gestalten: von jedem der drei Standorte ein Job mit 2 Zielen zu den jeweils anderen Standworten. So in der Art:


    qnap1 <-> qnap2
    qnap1 <-> qnap3
    qnap2 <-> qnap1
    qnap2 <-> qnap3
    qnap3 <-> qnap1
    qnap3 <-> qnap2


    könnte das auch wieder Probleme aufwerfen? Ziel soll sein, das diese Freigabe an allen 3 Standorten immer Syncron ist, egal wo welche Dateien eingefügt oder gelöscht werden. Der 2-wege RTRR kommt nicht in Frage, obwohl man das eigentlich denken könnte. Der lässt sich nicht in Realtime durchführen, nur zeitgesteuert.


    Wenn ich so darüber nachdenke sehe ich da ein Problem. Nehmen wir mal Qnap 1 und Qnap 2. Alle Jobs sind auf Pause bzw noch nicht gestartet. Auf beiden Qnaps werden nun Dateien angelegt und gelöscht, natürlich unterschiedliche. Jetzt starte ich auf Qnap 1 den Job mit derOption Überlüssige Dateien löschen. Was passiert? Er kopiert Dateien die neu sind auf Qnap1 auf Qnap2. Dann stellt er fest das auf Qnap 2 Dateien liegen, die Qnap 1 nicht hat. Diese wird er dann wohl auf Qnap 2 löschen, oder? Das wäre dann nämlich fatal, denn diese sollen ja von Qnap 2 nach Qnap 1 gesynct werden. Oder sehe ich da was falsch?


    Gruß Andreas

  • Und jetzt das ganze noch mal abschließend. Ich habe diese Konstellation in allen Schritten nochmals mit Testverzeichnissen ausprobiert. RTRR von A -> B darf man keinesfalls einsetzen, wenn auf beiden Seiten Lokal erzeugt werden und ach gelöscht werden sollen. Hier kommt es zu Datenverlusten auf dem Ziel Gerät durch die Option 'überflüssige Dateien löschen'.


    Wir müssen jetzt mit einer V-Förmigen 2-Wege Replikation arbeiten. Bei dieser geht es nun wie gewünscht, aber auch diese Option hat Nachteile. Es ist keine Real-Time möglich und das starten des Jobs dauert seine Zeit bis er jedes mal die Verzeichnisse gescannt hat. Hier kann es mit 5 Minuten minimal-Zeit schon mal eng werden. Vorteil ist aber, das auch bei wackliger Verbindung die Daten irgendwann kommen, da der Job immer selber neu gestartet wird und keine Standby-Phase hat. Erledigt wird es bei 3 Standorten mit 2 2-Wege Jobs auf dem 'Mittleren' Qnap. Der Verteilt jeweils auf die beiden Anderen. Bei ungünstiger Startzeit der Jobs zueinander kann es maximal zu ~9 Minuten Verzögerung kommen bis die Datei auf allen 3 Geräten vorhanden ist.