Transition from AeroFS Hybrid Cloud to Syncthing

I’ve been using AeroFS Hybrid Cloud for quite a long time, syncing my files with some problems that i could deal with. The service will stop next year so i looked for an alternative and stumbled upon syncthing, which i tried for one day.

  1. Can anyone, who moved to syncthing from AeroFS provide me with some tips/his-er experience?

  2. Is there a way to avoid downloading, for example, from device A to device B for the first time when you have the same files on both devices? It will take some considerable time for me to sync my 500GB, that is download from device A all my files.

  3. I’ve read on a different thread that syncthing checks the whole file structure every time it scans for changes. Won’t this take quite a lot of time and resources? Is it effective?

Thank you all in advance

  1. At first sync, Synchting does not know that the files are the same. If the files have the same content, (nearly) nothing will be transferred.

  2. Depends on your hard drive and the file/folder structure. Scanning will only check for different file size and mtime (afaik), which can be handled quickly if you don’t have thousands of files and folders. You can also use syncthing-inotify to watch the folders for changes, instead of regularly scanning for changes.

  1. I guess i need to test it

  2. Does syncthing-inotify prevent the full scan of the folder?

  1. You should set the scan time to 0 (I think that works) or a very high number. synchting-inotify will report every change to synchting, so that it does not have to scan but trusts that the reported changes are exactly what happened and the only thing that happened.

It does this automatically via the API: Understanding syncthing resync interval - #6 by rumpelsepp

Some notes from my own experience (doing the same transition)

  1. You can certainly copy your files locally in whatever directory structure you want and then tell syncthing about them. You should do this by first disabling aerofs and syncthing in every machine so that synchronization does not delete files in other machines that you simply intend to move.

  2. If you decide not to use inotify, then I would keep my folders on the smaller side. So if you used to have a lot of files in your aerofs folder, I would split your aerofs folder into several syncthing folders.

  3. There is something funny happening with syncthing when you ask it to start up and open the web interface on a browser. My computer slows to a crawl even after shutting syncthing off. It is bizarre. I am not Go programmer but when I look at how syncthing launches the browser it seems to be a harmless and generic “launch browser at specified url command”. My workaround is not to let syncthing launch the browser by itself.

  4. On machines where you work actively, use inotify. I tried syncTrayzor and syncthingGTK but had a lot of problems with them. The simple inotify works really well. The downside is that you will miss on notifications. I use a vbscript to start both syncthing and inotify when I login.

  5. Keep the GUI closed. Only open to check status.

Following those steps I have managed to have a syncthing configuration that does not kill my computer. Note that if there is large transfers to start you are going to hit your cpu hard since it will compress and encrypt a lot. It should subside once you are synchronized.

@sturgman do you really have that many performance problems with the browser open? Even in recent versions? I ask because I have not seen this.

@jpjp nope. Only have issues if I syncthing is the one to open the browser. I really do not understand this though. If I open the webGUI in my browser manually, no problems. If syncthing launches the browser, big permanent slowdown until restart. As I said above, I don’t understand this since the call to open the browsers seems innocent enough.

Hi again, i read your post after i did the transition.

First i did the same as you described, disabled aerofs and syncthing and copied my files in both computers. Then i started syncthing and from the 380GB it only needed to sync 3.5GB (some i believe was AeroFS fault) but i found that there are many conflicting files (but it’s ok for me at least the data is safe).

I installed SyncTrayzor after i installed SyncThing. The CPU usage reported is invalid. It reports 10-12% when the Task manager a much smaller value. I didn’t intall inotify and i noticed that the syncing is ok even with the 1 minute delay set (i believe it takes 2-3 minutes to know which files to sync). I didn’t set to compress data but only metadata.

As for the GUI, when you have it open i confirm also that it slows down syncing. I read also on the forum to keep it close!

In overall i am satisfied, i am still testing it to see if i really need inotify. Maby inotify will consume much more cpu then expected.

SyncTrayzor has inotify included so no need to install anything else :wink:

I think syncthing reports 100% for one core at 100% (at least it does on linux) so it can be even at more than 100% for multicore CPUs. Windows shows 100% when all cores are at full load.

We always scale it so that 100% means 100% on all cores. Too many people were confused about how there could be percentages above 100 and we do want the numbers comparable between two installations of Syncthing.

Oh I did not know that this was changed, oops. Then I wonder why the values are not the same on syncthing and the task manager… or are you looking at the usage of synctrayzor @nezos? There is a additional syncthing process that should have the same usage as shown in task manager.

You should not set Syncthing’s scan time to 0 because sometimes, for a variety of reasons, inotify will miss some filesystem events. The filesystem changes represented by those missed events would NEVER get propagated to your remote nodes if Syncthing never rescanned.

So, you should decide how long your use case can afford to have these changes delayed, and set the rescan interval appropriately. This rescan interval will be your worst-case delay from filesystem event until synchronization is initiated.

BTW these are not bugs with syncthing-inotify. It is a limitation of inotify. I believe that is why syncthing-inotify automatically sets Syncthing’s scan time to 1 hour. AFAIK, all robust solutions that rely on inotify have to do this sort of thing.

1 Like

SyncTrayzor does not do this