This tutorial will take a look at how to backup a Synology NAS to Backblaze B2.
In the last post that I created, we took a look at how to backup your Synology NAS to a Raspberry Pi. I think that for large, non-important data backups (>2-4 TB), using a Raspberry Pi offsite with an external hard drive is a great way to save money and have a similar off-site backup process.
However, I have been a Backblaze B2 customer for a while and think they offer a great service for a reasonable price.
For the data that is incredibly important to me, I have always used Backblaze B2 configured with Synology’s Cloud Sync, but Backblaze recently implemented an Amazon S3 compatible API which is awesome!
This allows us to connect to Backblaze B2 directly from Synology’s Hyper Backup which was never possible! To learn how to backup a Synology NAS to Backblaze B2 using Hyper Backup, follow the instructions below.
How to Backup a Synology NAS to Backblaze B2
1. Sign in to Backblaze B2.
2. If you have used Backblaze B2 in the past, you will know that all data is stored in a bucket and you can configure credentials for that bucket. It’s important to know that older buckets are not compatible with the new Amazon S3 API endpoint. To see if your existing bucket is, check to see if an “Endpoint” exists.
3. If it doesn’t exist, you will need to create a new bucket that will automatically add an endpoint.
4. The next step is to ensure that you have an Application Key that is compatible with the Amazon S3 API.
5. If you need to, create a new Application Key that has permission to your new bucket and ensure that it has an Amazon S3 Endpoint. This is what will ensure that Hyper Backup can connect to the bucket using these credentials.
Make sure that you note down the KeyID and Application Key as we will need this information for Hyper Backup. Also, ensure that “Allow listing all bucket names including bucket creation dates” is checked off. Without this setting, Hyper Backup will be unable to find your bucket.
6. Now that Backblaze B2 is configured, launch DSM and open Hyper Backup. Add a new “backup task” and select “S3 Storage”.
7. Under the “S3 Server” select “Custom Server URL”.
8. We need to configure our server information, but before doing so, I want to make an important point. Since we are dealing with a cloud provider, the provisioning is not always immediate. You may have to wait upwards of 10-15 minutes for your Bucket, KeyID, and Application Key to work properly in Hyper Backup. If you receive errors, give it a little more time and try again.
When ready, enter the information as follow:
a. Server address: S3 Address from your Backblaze B2 bucket Endpoint (step three)
b. Signature Version: v4
c. Access Key: KeyID (from Backblaze B2 – step five)
d. Secret Key: Application Key (from Backblaze B2 – step five)
e. Bucket name: Bucket name you created in Backblaze B2.
f. Directory: File name you’d like to use.
9. Select the shared folders and applications you’d like to backup. At the final step, enter the settings you’d like. When backing up to a cloud provider, it’s always a good idea to use client-side encryption so you know your data is always secure.
10. If you enabled client-side encryption, you will be warned that you will be unable to retrieve your data if you lose the password or encryption key. Click yes, configure the backup rotation and “Apply”. You should now be prompted to backup your system.
You will also be prompted to download the encryption key if you enabled client-side encryption. Download the key and place it somewhere SECURE! This key can save you!
11. Click “Yes” – the backup will now start!
1. Backing up your data is only half the battle – you need to ensure that you can restore the data if it is ever lost. I will be deleting a few files from my test directory and restoring them to ensure the process works.
2. Select the “Restore” button and select “Data”.
3. Pick the task that is backing up to Backblaze B2. Enter the encryption password if prompted.
4. Navigate through the settings and ensure that you are restoring the correct folder.
NOTE: if the folder exists on the local NAS, the folder will be overwritten with the server version.
5. When finished selecting your configuration, applications, and folders, select “Apply”. This will restore the folder.
6. Your folders should now restore. When complete, you should see the deleted files restored! This confirms that the backup/restoration process works as expected.
Conclusion – How to Backup a Synology NAS to Backblaze B2
This tutorial took a look at how to backup a Synology NAS to Backblaze B2. I’ve been using Backblaze B2 for a while and the Amazon S3 API integration made it even better. Before this, I was forced to use Synology’s Cloud Sync, which worked well but offered more of a file cloning service rather than a true backup.
In that instance, you were relying on Backblaze’s versioning as a “backup,” as corrupted or encrypted source files would simply sync to Backblaze B2. Hyper Backup is a true backup – and coupled with Backblaze B2 – a great option for important data!
Thanks for checking out the tutorial on how to backup a Synology NAS to Backblaze B2. If you have any questions about how to backup a Synology NAS to Backblaze B2, leave them in the comments of the YouTube video!
This Post Has 35 Comments
Great tutorial 🙂
For a personal home use NAS that has about 9Tb used, Should I do multiple buckets? Does that impact the cost as well?
All home computers are backing up to the NAS using the Synology Drive Client, the NAS also serves as a media server. My goal is to have a backup of my NAS in case it gets stolen, the drives fails or any other incident that would lead to the loss of the NAS/Data on it. I do not see much downloads happening, the only time I will need a restore from B2 would be after a disaster and I want to keep my cost as low as possible.
Is the B2 cloud and the use of Hyper Backup a good solution or should I use Cloud Sync or another cloud storage?
Hello! I would say that B2 is a great solution, though not the only solution. I am a fan of Backblaze B2, but that’s a subjective statement so I can only suggest comparing price/performance and determining what you think would be best.
If you do decide to use Backblaze B2, you are free to create as many buckets as you’d like and there will not be an increased charge. You basically create the bucket, hook it up to Hyper Backup and set up the parameters as you’d like. The only reason you’d use multiple buckets is if you’d like different retention rules/backup schedules. If they will all be the same, one bucket is fine!
Let me know if you have any other questions!
Do you know if I set a retention of 5 versions or x days, the data gets deleted when it goes over that but does that count in the number of deleted gb? Or it only counts when you manually delete data in the storage.
I don’t believe that it will count in the number of deleted data. At least it doesn’t on mine!
So glad I found this article, what a great post! Answered my burning question of whether I could switch from Cloudsync > Backblaze over to Hyperbackup > Backblaze (the answer: no; my bucket didn’t have an endpoint). But no matter, my Backblaze backup was at least two years younger than my Hyperbackups to my onsite and offsite Synology arrays.
You helped get me set up quickly and easily, and once this finishes I’ll finally be able to get Cloudsync running properly with Google Shared Drive for my team. Thanks a million, I’ll definitely be diving into some of these other articles you’ve written!
I’m glad to hear that the articled helped! Thanks so much for the kind words!
Thank you Frank for sharing your experiences and taking the time to answer all these questions. I already set up Hyper Backup with B2 before reading your post, but it was still nice to see a confirmation that I took the right steps. 🙂
I started uploading (initial backup still in progress) and I noticed something odd. By way of experiment, I started with a relatively minor selection of shares to backup. According to the storage analyser, it should be about 15 GB. However, Hyper Backups reports having uploaded 74 GB already (B2 confirms this) while being only at 69%, which puts the 100% estimate somewhere around 110 GB. I switched compression on (and client side encryption, but I don’t think that should make a significant difference), which makes this all the more surprising.
Have you seen similar patterns? Should I be concerned about Hyper Backup inflating the amount of data to backup, or is there some kind of fixed overhead that I’ll be paying for only once? Possibly relevant: one of the shares involved has versioning enabled for Synology Drive, and there is also a share that is being backed up both because I selected it and because it is included with an app that I selected. I would however expect Hyper Backup to handle both cases intelligently.
Thanks in advance!
Thanks so much!
I haven’t seen that behavior before (or I should say, haven’t looked into my backup totals), but I think that you hit the nail on the head that it’s Synology Drive. Whenever you save a file, it will automatically save an identical copy of that file, but with BTRFS and deduplication, it won’t actually utilize that storage space as it’s only saving the differential. It’s not out of the realm of possibility that you have tons of files that add up to a much larger sum without deduplication. While not ideal, the best way to test would most likely be to upload a specific file on a Shared Folder that is an exact total (1GB for example) and see what it uploads. If it only uploads 1GB, then you can most likely rest easy that it’s simply deduplication. If that’s the case, you can then play with the version history totals (keep X amount of files) to try and limit the total upload, but that would technically lower your history on the file as well.
Just to echo others’ comments, this a wonderful tutorial & deeper than anything else I’ve found. Thank you for all the effort!
I’m a little confused about how version rotations work when using client-side encryption. Since Backblaze can’t read the actual folder/file contents, do we need to let Hyper Backup manage the rotation? If so, what would be the correct configuration on the server side (Bucket: Lifecycle Settings)… “Keep only the last version of the file”?
Thanks so much! That is correct – you will manage everything from inside of Hyper Backup, then restore from inside of Hyper Backup as well if necessary. The Backblaze versioning can be used to keep the Hyper Backup archive for X number of versions. It’s a little confusing, but if you wanted to restore the Hyper Backup archive from last week inside of Backblaze, you can. It’s kind of like a second layer of versioning if needed.
Comments are closed.