Wie kann man den rsync Server mit dem rsync: Protokoll nutzen?

framp

Benutzer
Mitglied seit
19. Feb 2016
Beiträge
903
Punkte für Reaktionen
64
Punkte
54
Im Raspberryforum hat jemand mal Performancemessungen angestellt und rsync per nfs und rsync per rsync-ssh verglichen. Dabei bekam er einen Faktor von 6 raus der rsync-ssh besser ist als rsync auf eine nfs gemountete Partition.

Ich habe das eben mal bei mir nachvollzogen und komme auf einen Faktor von 4. Das ist aber auch noch eine Hausnummer schneller. Jetzt wollte ich auch noch das rsync: Protokoll nutzen und testen. Vielleicht ist das ja noch performanter :)

Zur Nutzung vom rsync Protokoll auf der Syno habe ich diese Beschreibung gefunden. Da habe ich auch alles konfiguriert (musste ich ja auch fuer den rsync-ssh Zugriff). Jetzt hapert es am rsync Aufruf von remote (Einer Raspberry). Ich nutze als rsync Target den User rsync der auch alle Rechte auf dem shared Folder raspiRsyncTest hat

Code:
rsync://rsync@192.168.0.9/raspiRsyncTest/rsyncs
und rsyncTest ist auch als Module verfuegbar
Code:
nmap -p 873 --script rsync-list-modules 192.168.0.9
Starting Nmap 7.80 ( https://nmap.org ) at 2024-03-02 19:22 CET
Nmap scan report for synolix (192.168.0.9)
Host is up (0.00042s latency).

PORT    STATE SERVICE
873/tcp open  rsync
| rsync-list-modules:
|   homes         
...
|   photo              System default shared folder
|   pxe_nfs       
|   pxe_tftp       
|   raspiBackup   
|   raspiRsyncTest 
|   Samba         
|   Scratch            Temporary space
|   software       
|   systemBackups      Backups of obelix
|   video              System default shared folder

Nmap done: 1 IP address (1 host up) scanned in 0.30 seconds

aber ich bekomme immer

Code:
rsync: [sender] read error: Connection reset by peer (104)
rsync error: error in socket IO (code 10) at io.c(806) [sender=3.2.7]

als Antwort.

Hintergrund meines Tests ist dass ich ueberlege entweder den rsync-ssh oder sogar den rsync-server Support in raspiBackup einzubauen. Bislang geht es nur per nfs. Ein Faktor 4-6 bei der Geschwindigkeit lohnt schon den Implementierungsaufwand.

Hat jemand eine Idee was noch an Konfiguration auf der Syno fehlt? Der read error koennte auf ein Berechtigungsproblem hinweisen aber wie gesagt hat der User rsync alle Rechte auf dem shared Folder bzw rsync Module.
 

Nixnuzz

Benutzer
Mitglied seit
16. Jan 2024
Beiträge
177
Punkte für Reaktionen
54
Punkte
28
Ich verstehe nicht, welche Seite bei dir der rsync-Client, und welche der -Server ist. Die Anleitung bezieht sich auf die Syno als Server, aber bei dir klingt es zumindest umgekehrt
 

framp

Benutzer
Mitglied seit
19. Feb 2016
Beiträge
903
Punkte für Reaktionen
64
Punkte
54
Nein. Die Raspberry ist der Client und die Syno ist der Server.

Ich hatte schon mal einen rsync Server auf einer Raspberry konfiguriert und das war relativ schnell erledigt dort per rsync: Protokoll drauf zuzugreifen.

Leider ist die Konfig bei Syno diesbezueglich nicht gut beschrieben :-(
 

Nixnuzz

Benutzer
Mitglied seit
16. Jan 2024
Beiträge
177
Punkte für Reaktionen
54
Punkte
28
OK, wenn der rsync-Dienst auf der D und Syno läuft, der Benutzer eingerichtet ist, und über die passsenden Rechte verfügt, sollte es funktioieren ... der clientseitig Aufruf (ich glaub, du hast da was weggelassen) wäre:
Code:
rsync [OPTIONEN] rsync://rsync@192.168.0.9/raspiRsyncTest/rsyncs
oder
Code:
rsync [OPTIONEN] rsync@192.168.0.9::raspiRsyncTest/rsyncs
... um das Verzeichnis der Gegenstelle aufzulisten.Bitte in der zweiten Variante den doppelten Doppelpunkt und den fehlenden Slash beachten.

Für einen realen Transfer musst du natürlich noch ein Ziel hinzufügen.
 
  • Like
Reaktionen: framp

framp

Benutzer
Mitglied seit
19. Feb 2016
Beiträge
903
Punkte für Reaktionen
64
Punkte
54
Ich habe mal meinen rsync Server auf einer Raspberry zum Vergleich wieder aktiviert.

Dort funkttioniert

Code:
sudo rsync   /                       rsync://framp@asterix/Test-Backup
ohne Probleme.

In /etc/rsync.conf steht da u.A.

Code:
[Test-Backup]
comment = Test
path = /disks/raid1/test
read only = no
list = yes
uid = root
gid = root
auth users = framp
secrets file = /etc/rsyncd.secrets.framp

und in der /etc/rsyncd.secrets.framp stehen die entsprechenden Credentials. Das funktioniert alles gut.

Auf der Syno steht in /etc/rsync.conf

Code:
at /etc/rsyncd.conf
refuse options = acls
#motd file = /etc/rsyncd.motd
#log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
use chroot = no
und die /etc/rsyncd.secrets ist leer.

Ich koennte jetzt anfangen in den Configs zu editieren aber nachdem ich schon mehrere Male Schiffbruch erlitten habe wenn ich auf der Syno linuxlike Configs editiert habe mache ich das nicht mehr sondern versuche mit Syno/DSM Mitteln ueber die DSM UI den rsync Server zu enablen. Wenn ich mir die Configs ansehe fehlt da noch irgendwas im DSM zu konfigurieren :unsure:
 

Nixnuzz

Benutzer
Mitglied seit
16. Jan 2024
Beiträge
177
Punkte für Reaktionen
54
Punkte
28
Alles schön und gut - aber in #1 ist das Kommando unvollständig - da fehlt mindestens 1 "rsync" - und in #5 ist eine unmotivierte riesen Lücke in der Codezeile - dass kein Mensch versteht, was du eigentlich willsr.

Interessant wäre das Ergebnis von dem Aufruf, wie ich es geschrieben hab, am besten noch mit -v als Option.
 
  • Like
Reaktionen: framp

framp

Benutzer
Mitglied seit
19. Feb 2016
Beiträge
903
Punkte für Reaktionen
64
Punkte
54
Jetzt wollte ich mal alles im Detail und auf ein einfaches Beispiel runtergestrippt beschreiben was ich gemacht habe. Dabei habe ich entdeckt dass die rsync Option -A (sichere ACLs) offensichtlich zu dem Fehler fuehrt. Wenn ich die Option weglasse funktioniert der rsync: Protokollaufruf wie Du ihn in #4 beschrieben hast. Die Option -A wird standardmaessig von raspiBackup genutzt wenn ueber nfs gesichert wird. Man sollte eben doch wenn man was untersucht nicht gleich mit allen moeglichen Optionen ein Tool nutzen :)

@Nixnuzz Vielen Dank fuer die Hinweise die mich letztendlich zur Loesung gebracht haben. Falls Du noch weisst warum die Option -A zum Problem fuehrt lass mich bitte wissen.

Jedenfalls muss ich jetzt mal untersuchen warum die Option -A zum Problem fuehrt.
 

Nixnuzz

Benutzer
Mitglied seit
16. Jan 2024
Beiträge
177
Punkte für Reaktionen
54
Punkte
28
Wegen Problemen mit -A kann ich leider nur vermuten. Warscheinlich kollidieren UIDs und GIDs, wenn sie nicht auf beiden Rechnern übereinstimmen.

Freut mich, dass es funzt :)
 
Zuletzt bearbeitet:


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat