HBS3: RSYNC via Internet bricht mit Timeout ab

  • Hallo zusammen,

    ich hab die aktuellste FW und aktuellste HBS3 auf den beiden QNAPS (TS-473, TVS871).

    Ein RSYNC One-Way-Sync Job über einen VPN Tunnel (50 MBit) bricht mit Timeout nach 600 Sekunden ab.

    Die Dateien die gesynct werden sollen sind die Backupdateien von 6 Servern, die auf der NAS liegen.

    Die Dateien sind >30GB und da es inkrementelle Backups sind, werden die Dateien jeden Tag größer.



    Folgende Beobachtung:

    - Sync Job startet ganz normal

    - Es wird die Checksumme berechnet

    - Das Quell-NAS meldet "Uploading" und beginnt

    - auf dem Ziel-NAS wird eine Datei [Originalname].[6Zeichen] erstellt, mit zunächst knapp 3MB Größe.

    - das Quell-NAS zählt die Prozente relativ schnell hoch (klar, hinten wird angehängt)

    - während die Quell NAS recht schnell hochzählt, wird auf der Ziel NAS mächtig gelesen

    - irgendwann bleibt die Quell-NAS mit den Prozenten stehen und auf der Ziel-NAS wird nun auch in die o.g. Datei geschrieben....Annahme: es ist die Stelle erreicht, ab der neue Daten in der Datei sind und somit wird erstmal die Datei auf dem Ziel NAS soweit geschrieben wie es "alte Datein" gab.
    - das ganze dauert, die Datei auf dem Ziel-NAS wächst, aber eben nicht ausreichend schnell, so dass nach 600 Sekunden die Datei verschwindet und ein Timeout kommt



    Kann das echt sein?
    Kann man den Timeout nirgends in der GUI konfigurieren sondern nur über den Hack den ich hier gefunden habe:

    https://forum.qnap.com/viewtopic.php?f=22&t=92724

    Und wenn es nur über diesen Hack geht, muss ich das auf dem Ziel oder dem Quell NAS machen?

    Hilfestellung wäre super.

    Danke
    S.

  • Ich würde da ohne große Gewissensbisse die Datei /etc/config/rsync_schedule.conf ändern. Eventuell muss das in autorun.sh per Skript geschehen, um resetfest zu sein - das merkst du schon.


    Es ist auch möglich, dass dies ein Timeout der zugrundeliegenden ssh-Verbindung ist. Dann müsstest du ssh_config ändern (ist nicht trivial, qts diese Änderung unterzujubeln).


    Die Änderung muss gemacht werden auf dem Server, der die Verbindung aufbaut, also wo der Job läuft.


    Was allerdings zu bedenken ist:

    rsync kann nur alles oder nichts (pro Datei gesehen). Wenn sich auch nur ein Byte einer Datei ändert, wird diese Datei komplett übertragen. Bei Backups gibt es üblicherweise täglich Änderungen. Bei 6 Dateien von sagen wir mal 40GByte und einer Übertragungsgeschwindigkeit von 50MBit/s (ist effektiv etwa 5MByte/s) dauert der Sync-Job für diese sechs Dateien schon mal mindestens etwas über dreizehn Stunden, in der Praxis vermutlich deutlich mehr. Ist das akzeptabel?


    Ich würde da mal in das Backup-Programm, dass diese Größer-30GByte-Dateien erzeugt, schauen. Kann das auch anders, z. B. ein dateibasiertes Backup? Oder statt monolitischer großer Dateien viele kleine Dateien? Wenn das als reines inkrementelles Backup wirklich nur hinten anhängt, kannst du womöglich selbst splitten und damit die Übertragungszeit radikal verkürzen.


    Wenn du es schaffst, die großen Backup-Dateien kleinzukriegen, und zwar so, dass sich bei jedem Backup-Lauf wirklich nur ein kleiner Teil dieser kleineren Dateien ändert, dann kannst du dir die Sache mit dem Timeout sparen. Und der Sync-Job wäre viel schneller und "handlicher".

  • Hallo,

    Ich würde da ohne große Gewissensbisse die Datei /etc/config/rsync_schedule.conf ändern. Eventuell muss das in autorun.sh per Skript geschehen, um resetfest zu sein - das merkst du schon.

    Wenn Du die Datei unter \etc\config meinst.....
    Da steht seit gestern schon folgendes drin:

    Code
    [Global]
    Timeout = 6000


    Leider ohne Erfolg.
    MIr scheint, HBS3 erzeugt die Konfiguration dynamisch.
    Unter /share/CE_CACHEDEV1_DATA/.qpkg/HybridBackup/data/system/nas/[JOBID]/ liegen rsync_schedule.conf.

    Für jeden Job gibt es so einen Ordner und die Zeiten sind immer die Startzeiten der geplanten oder manuellen Starts.
    Auch wenn ich diese Dateien ändere....bringt nix, denn beim Start wird die Datei überschrieben....
    und ich hab leider noch nicht gefunden, woher der die Daten nimmt.


    Bei allen anderen Backup-Typen kann ich diesen Timeout in der GUI einstellen, nur eben bei rsynv mal wieder nicht.
    Ging früher, hat QNAP aus irgendeinem Grund wohl weggespart....schade.


    Was allerdings zu bedenken ist:

    rsync kann nur alles oder nichts (pro Datei gesehen). Wenn sich auch nur ein Byte einer Datei ändert, wird diese Datei komplett übertragen.

    Da muss ich leider widersprechen. RSYNC macht defintiv inkrementelle Übertragungen.
    Ansonsten müsste meine Synchronisierung jede Nacht gleich lang dauern.
    Wenn sich eine Datei aber vergrößert, dann wird nur das Delta übertragen.


    RTRR (das QNAP eigene Protokoll) macht das übrigens nicht, da ist es tatsächlich so wie du beschreibst: 1 Zeichen in einer 1GB großen Datei anders--> 1GB transfer.


    Das was Du vorschlägst werde ich jetzt auch angehen:

    Kleinschneiden der Backupdateien.
    Allerdings ist das "professionelle Tool Acronis Cyber Protect" (sorry für den Sarkasmus) sowas von buggy, dass ich dafür komplett neue Backup-Ketten anlegen muss, denn ein einmal gemachtes Backup kann leider nicht mehr umkonfiguriert werden..


    S.