Three-way mirroring

Never having been one to start simple, I am trying to set up a mutual off-site back-up system for myself and TWO friends. I began by imagining I’d use rsync but then read about syncthing. My pilot project and early dabblings leave me wondering whether I shall be able to manage the task.

The plan is to have 3 servers, each consisting of a Raspberry Pi, running SAMBA server. Each will have an attached (USB) hard drive, partitioned into 3. Each site will ‘see’ one of the partitions via SAMBA, and that will be the Master for that site. Each of these will then be mirrored twice, once at each of the other remote sites. So it will take a very determined arsonist or severe calamity for anyone to lose all their server contents, and it will cost no more than broadband fees.

I am aiming to configure all three systems myself and then ship them to other sites on a plug and play basis. Am I being a bit bold…?

I am unsure as to whether syncthing will allow this flexibility, and, if so, just how to configure it. All help and advice will be most welcome!

Many thanks,

Ben

Syncthing != backup.

That will work I guess, you can easily copy the config and certificates to another machine. However, I would like to stress that Syncthing != Backup. Thus I’d suggest to use the BTRFS filesystem and create a snapshot every hour. You can then remove old snapshots with an exponential backoff.

If you want to make backups, don’t use BTRFS. I’ve seen multiple BTRFS instances get corrupted unrecoverably under load.

Just look at their bug list… Half of them are data loss.

there goes my entire backup plan* :blush:

*I still have an ext4 backup in case stuff goes very wrong;)

Thanks for the comments - I seem to have been sloppy in my terminology!

The plan was not about achieving incremental back-up, rather one of data redundancy. So if anyone trashes their own space, so be it. Distributed RAID 1 but without any optimised access would be a more realistic term. The aim was also to save paying a Cloud service provider.

I cannot as yet see how to configure each syncthing instance, as each will be Master for a different partition.

I shall report progress.

Basically it sounds like you want three folders, with each device being “master” for one folder and “normal” for the others. Note however that if someone does delete all the files on the “master” side, they will be deleted on the other devices as well, for that folder. Which is why people say that this is not really a backup solution.

As for btrfs… :grin: ZFS, with the appropriate redundancy configured and periodic snapshots, however.

Thanks for that. The end-users are happy with their responsibilities, and each of us will probably use the space in our own way!

The three folders will each have a partition mapped into it, I plan.

So if anyone trashes their own space, so be it.

I would have thought staggered file versioning can mitigate this risk. Do many people use it for that purpose?