Unraid und Syncthing-Performance bei vielen Dateien

Syncthing zeigt ein interessantes Verhalten im Zusammenhang mit vielen kleinen Dateien wie sie bei Maildirs auftreten. Im vorliegenden Fall sind es 4 GB verteilt auf 142526 Dateien in 234 Verzeichnissen. Die Performance ist dabei selbst auf einer ausreichend dimensionierten Hardware unterirdisch. Auf dem Unraid-Server sieht man den shfs-Prozess ganze oben in der htop-Liste.

Continue reading “Unraid und Syncthing-Performance bei vielen Dateien”

Syncthing, wie man mit bereits existierenden Ordner umgeht

Normalerweise wird man bei Syncthing so vorgehen:

  1. Ordner auf Gerät A der Syncthing-Konfiguration hinzuzfügen und für Gerät B freigeben.
  2. Auf Gerät B auf die Freigabe warten und einem neuen lokalen Verzeichnis zuweisen.

Was aber, wenn beide Verzeichnisse bereits (weitestgehend) synchronisiert sind? Wenn man den Zeitpunkt ungünstig erwischt und z.B. Gerät B noch nicht mit Scannen beendet hat, werden u.U. unnötig Daten übertragen.

In dem Fall hat sich folgende Vorgehensweise bewährt:

  1. Ordner auf Gerät A der Syncthing-Konfiguration hinzufügen, aber noch nicht freigeben.
  2. Ordner auf Gerät B der Syncthing-Konfiguration hinzufügen, dabei diesselbe Ordner-Kenning (Folder ID) wie auf Gerät A wählen. Der Ordner wird auch hier noch nicht freigegeben.
  3. Warten bis der Scan-Vorgang auf beiden Geräten beendet ist.
  4. Auf Gerät A den Ordner auf für Gerät B freigeben und umgekehrt.
  5. Jetzt werden idealerweise nur noch die Meta-Daten mit den Hashes ausgetauscht