Syncthing on old NAS DNS-320 (D-Link)

Dear Syncthing community ! I discover recently Syncthing and I’m really impressed by the quality of this tool ! Congrat’s to the contributors and all ! Syncthing work greats for me with “modern” devices

My Question I have a specific needs, I would like to install syncthings on a very old NAS device: D-Link DNS-320. I install the fun-plug 0.7 scripts, that give a busybox context/ssh access etc … It’s a very old CPU: ARMV5, only 128MB Ram, linux kernel 2.6.22.18 (details: dns323[dot]kood[dot]org/dns-320).

My attempts I try with the latest ARM Linux binary of Syncthing, but get an “Illegal Function call” I try with the oldest ARM Linux binary of Syncthing (in Github release page), but get an “stderr error” I see:

Help If someone can provide me help/recommendation, I would appreciate :wink: Do you think it’s doable to have the latest syncthing running on this NAS ? Kernel probably too old … not a real linux distro … perhaphs the GOLANG canno’t compile a binary for ARMV5 … Any suggestion to try is welcome !

Regards, Nicolas.

This is just my opinion, but the time you spend doing this will far exceed the residual value of the hardware.

On top of that, the CPU is probably not capable of floating point operations in hardware and the RAM is very sparse with 128MB.

So unless you’re into something along the lines of “can you install Doom on a toaster”, I wouldn’t recommend it.

2 Likes

Syncthing is written in Go and Go does not seem to support your software.

From Minimum Requirements - Go Programming Language Wiki

Kernel version 2.6.23 or later. [This depends on architecture though, we need to have specific builder for this.] Linux/ARMv5 requires much newer kernels, at least v3.1 (for __kuser_cmpxchg64).

So this sounds like a hard no. Even if you manage to find workarounds (using a different OS/kernel perhaps) it will likely not run in a useable way. Syncthing does like some hardware resources and this machine doesn’t seem to have it. You can try it of course and see if it works for you.

1 Like

Thanks for your feedback and the link for minimum requirement for GO ! I’m really on an unsupported device (ARMV5 + Kernel), even if it could be fun to “try” :wink: and improve my knowledge in the process … the time spend don’t worth it I think…

Even if in the long run, the solution is to update my NAS … In the short run, I will install Syncthing on a an SBC device in my network (Raspberry/OrangePI SBC board), with a modern Armbian/DiepPI/Raspbian, and synchronise a Share Folder on my NAS.

Then I have another question: I understand that Syncthing is better when used in a local folder, and network foder is not the best … But Is it better to configure my Raspberry to

  • mount an NFS Folder from my NAS
  • access a Samba Share from my NAS

any advice ?

Nicolas.

PS: my use case is to automaticlay backup my phone on my NAS with Syncthing

Just a comment, not exactly related to the question, but please keep in mind that Syncthing isn’t a proper backup tool. It does provide some data redundancy, but if your files become deleted, corrupted or encrypted by ransomware, all of that will happily sync across all your devices. Of course, you can mitigate some of it with file versioning, but still.

When it comes to the device at hand, I personally did run Syncthing on an old Android phone with just 384 MBs of RAM and it did work, but it was somewhat a struggle. Limited RAM is one thing, but also the CPU was way too slow to process everything in a reasonable amount of time.

1 Like

Good point @tomasz86 ! Thx for you feedback about the resources needed on Android side (it will be ok with our modern smartphone: family of 5 :wink:

I understand your point about sync vs backup. I have “other process” to backup the content of my NAS. It becomes complex with all the threatens/potential ransomware …

But Syncthing is really a simple/marvelous piece of technology to remove dependencies on the BIG Cloud providers with the responsibility on ourself to understand/configure/maintain the system, but it’s doable

Regards

1 Like

I was actually thinking about your plans to run on Raspberry Pi or similar. I currently run Syncthing on Intel Atom Z3740 which seems to be somewhat similar in performance. Syncthing does work fine on it but I would consider this to be the minimum for decent sync speed. With anything slower, the CPU will struggle.

Storage speed is important as well, especially if you consider mounting a network drive. You may find the overall performance quite abysmal there, especially if you’re going to sync a lot of small files.

My bottleneck will probably be the network (speed of phone network outside home network : 3G/4G, speed of the NAS network …). Also, in my use case, I don’t need a quick sync, it will be mainly for camera picture/video. Even if it take 24-48H to sync it’s ok.

I’ll let you know how it works…

The Atom Z3740 beats a Raspberry Pi 3, but it’s about 25% to 35% slower than a Raspberry Pi 4.

The Pi 4 has a 1.5GHz clock while a Pi 400 (same CPU) has a passive copper heat sink plate bonded to the PCB so it’s clocked at 1.8GHz with a configuration option for 2.0GHz.

This triggered me, enough to register and ask the question of what is exactly a “proper backup tool”? Any recommendations? Presumably you’re comparing it to something? Because even though I believe you’re ultimately right I just thought to myself then 90% of backup tools really do not have proper data redundancy? At least the ones I’ve used. Most will happily also sync if files suddenly become encrypted if you’ve set up scheduling.

It would not be too difficult to have a trigger warning when suddenly 90% or so files suddenly change.

Not an expert by any means, but first of all I’d say everything depends on your specific needs. File versioning built into Syncthing is a type of backup, but it’s mostly limited to recovering single files with no advanced functionality (unless you use external versioning with your own custom scripts). For example, if you need to recover versioned data in full (e.g. a whole folder tree) to a specific point in time, then it won’t be very useful. As for “proper backup tools”, you may want to check this excellent post at https://forum.syncthing.net/t/ignore-delete/15414/22 by @imsodin which lists a few specific recommendations.

The main point though is that without file versioning set up, Syncthing isn’t a backup tool at all. It’s just like having a RAID1 array. It will protect against sudden hardware failures where the whole drive goes kaput, as you can then recover the data from other devices, but it won’t do much more.

That said, I personally find Syncthing’s file versioning extremely useful, especially since it’s easy to set up and simple enough so that even a non-technical person can use it (in contrary to more specialised backup tools).

Even more important than the selection of backup tool (there are many good ones, including the excellent open-source Duplicacy), is the backup process itself.

While any type of backup is better than no backups at all, what’s referred to as a “3-2-1 Backup” plan is ideal:

  • 3 copies of any important files.
  • 2 different storage mediums.
  • 1 offsite backup copy.

Thanks, I’ll check out Duplicacy.

As for the 3-2-1 backup plan, it’s kind of what I have and that’s pretty much what I thought.

It depends on your needs I guess and for me I like to use Syncthing as a way to replicate cloud backups for my smart phone and also have quick access to them while I am on my PC, so in the event the phone suddenly dies, I still have my photos as the drive on the PC is regularly backed up to the NAS.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.