Backing up to Synology and B2

I’m new to Kopia, giving up on Time Machine => Synology NAS backups and looking to use Kopia instead.

My home network consists of multiple Macs, and a Synology DS920+.

What I want:

  • Directly accessible / recoverable backup of Macs on the Synology NAS
  • The same data, also direct accessible / recoverable, on B2 cloud storage
  • I’d prefer not to have client Macs doing the B2 backups directly (but could be convinced otherwise)

I have a repository on the Synology, with the Macs creating snapshots there. (Users on this network are trusted, so I’m not currently using Kopia in server mode on the Synology, but open to doing so if there are benefits besides access control.)

Based on what I’ve absorbed so far, I’m thinking a solution might be to:

  • Install Kopia on the Synology NAS, connected to the repository that already exists there
  • Use sync-to to get a copy of that repository synced to B2

Questions:

  • Does this approach look like the best solution for what I’m wanting?
  • Does this config enable a Mac to directly access / recover from, the B2 repository, the way I can currently access the repository on the NAS?
  • Best way to install Kopia on Synology? Docker, direct?

Thanks !!

Any thoughts from those who understand Kopia better that I do?

I have similar use cases as you and not using Kopia Server as all my clients are “trusted”.

I have multiple clients, PC, Mac, Linux, etc… all backing up to a repo on Synology NAS. Each client runs the Kopia CLI and pointing to the same repo.

I run rclone CLI on the synology to sync to OneDrive as well as JottaCloud. I know it’s not B2, but they are external clouds to my local files.

Therefore, in theory, if my local computers fail, I can restore from Synology, OneDrive or JottaCloud since they are “all synced”. I can point any Kopia CLI to any repo, and as they are all synced I can restore from any of them.

Technically you could do the following as well: instead of syncing Synology NAS’s repo to external clouds, you could point the actual clients to multiple repos, from the Kopia CLI. By having multiple repository.config files, you can setup one client to point to 3 different repos/clouds (in my case, one client could point to Synology, OneDrive and JottaCloud with three repository.config files, effectively backing up the same files three times).

I hope this addresses your questions. I would not run Kopia in a docker as it’s an unnecessary layer of complexity in my opinion and kopia CLI works as its own binary file. Just download the proper file for your architecture, and have it running on your clients.

Thanks @xxxliqu1dxxx ! Very helpful. Yeah, nothing special about B2 – your config conceptually is much like what I’m wanting.

What was your rationale for rclone on Synology vs other options? What you get with rclone is a clone of what’s sitting on Synology, which seems good, especially re: my next question.

What I’m a bit confused about still is, if I “back up a backup” e.g. back up a Kopia repository using something other than a Kopia command like sync-to, am I still able to access it directly using Kopia UI or CLI? So in your case, with OneDrive say, if you were to mount the backed-up repository, would you be able to access it directly from Kopia UI or CLI? I’m starting to think the answer is “yes” but not 100% sure yet.

The performance of rclone sync has been better for me compared to the built in kopia repo sync-to.

Yes you will be able to connect with Kopia CLI directly to the repo regardless where it is since all files will be synced.

Thanks!

I figured I should “just try it” and have a Synology Cloud Sync running to B2. Once it’s done I’ll be able to try it …

Did you consider Cloud Sync vs rclone? I don’t know if Cloud Sync is just an rclone wrapper, something completely different, how it compares speed wise, etc. It definitely was easy to get set up, that I can say.

Yes but rclone sync is not aware of kopia repo structure. You simply sync files. As a result if your rclone sync gets interrupted or does not finish your destination repo is for sure corrupted - and possibly beyond repair. Which means every time you run it your destination repo is corrupted for some time (until full sync finishes successfully).

If disaster strikes your source repo during such sync you will end up without any kopia repo you can use.

This is not the case with kopia sync-to which “knows” how to do it without any risk - and yes it comes with some speed penalty.

It is your data and choice is yours:)

My advice - if you want to sync repo to other destination you have to use kopia sync-to. Otherwise it is gimmick which works until it breaks with big kaboom:)

Thank you @kapitainsky – that’s a critical point to understand about sync-to. I’m not too worried about speed since this is a NAS running 24/7 and it won’t matter much.

Next up – figure out the best way to install Kopia on Synology DSM …

You do not install Kopia. You run its binary file. It’s a standalone CLI. Depending on your CPU architecture for the Synology NAS, you download the proper file and just run it.

2 Likes

Here’s how I run mine, from a scheduled task in Synology Task Scheduler:

/volume1/Shared/kopia --config-file=/volume1/Shared/kopiaConfigs/kopia.config --log-dir=/volume1/cache_kopia/kopia_logs/ snapshot create --all

1 Like

The main advantage of rclone are its endless configuration options which are necessary for some endpoints to avoid rate limiting. rclone has an option to configure a bandwidth limit based on a timetable (e.g. business hours). With Cloud Sync that’s not possible - you can only turn sync on and off based on the timetable.

But if you don’t need all the configuration options or are more comfortable with a UI Cloud Sync should be fine. AFAICT it is quite reliable.

@xxxliqu1dxxx Which kopia CLI file did you download use on your Synology? My DS920+ is Intel Celeron, running DSM 7.2? The Kopia docs describe “normal” install processes like yum and apt, but I don’t see simple file download options …

You are probably looking at installing KopiaUI which is why there are installers with package managers like apt and yum. But in our case, we do not want to install anything. Please go to:

then find the right file for your architecture which is x64 since it’s an Intel Celeron, so linux x64.

Therefore the right file is: https://github.com/kopia/kopia/releases/download/v0.16.1/kopia-0.16.1-linux-x64.tar.gz

1 Like