Built on ZFS, TrueNAS Enterprise by ixSystems includes direct support of Backblaze B2, which lets you sync, move, or copy data offsite. TrueNAS CORE (formerly FreeNAS) is an open source operating system that can be installed on virtually any hardware platform to share data to Backblaze B2. Looking for Additional Options to Backup Your NAS? ZFS Backup (Go) — Backup tool to move your ZFS snapshots to B2. Django Storage (Python) — B2 storage for the Python Django web development framework. Arq Backup (Mac and Windows application) — Arq Backup is an example of a single developer, Stefan Reitshamer, creating and supporting a successful and well-regarded application for cloud backup. The backblaze pod is essentially a stripped down 4U storage server with internal space for 45 internal disk drives (and a single OS disk). At 3TB per drive you can. Step 1 Configure Backblaze Sign in with your account at or create an account. In the Backblaze B2 Cloud Storage interface, locate the 'App Keys' and 'Buckets' sections in the sidebar. Click on 'App Keys' on the 'B2 Cloud Storage' sidebar, scroll to 'Your Application Keys', then click the 'Add New Application Key' button. A basic unix way of programs interacting with programs is with stdin and stdout using pipe ( ). I have a use case where I want to send a backup of a ZFS snapshot to Backblaze B2 cloud storage with compression and encryption.

Context

  • I have a FreeNAS setup
  • I want a cheap offsite backup solution
  • Backblaze only offer S3 storage solution
  • I have virtual machines on zvol to backup (not just files)
  • ZFS send/receive is very convenient if you have another zfs system in other
    location

I choose zfsbackup-go, this tool use zfs send/receive to generate archives on S3 storage space. This software is not ready for very critical use, still in « beta » missing some features like deletation on remote location from the command line.

Advantages

  • Can backup zvol as well as dataset
  • Differential backups based on snapshots
  • Encrypted backups
  • Compressed backups
  • Compatible with all S3 solutions

Drawbacks

  • You can’t use backups without re-import in a ZFS pool (so real backups
    not a archives solution)
  • Still in beta

How to

Backblaze Zfs
  1. (Optional) Build zfsbackup-go for freebsd with crosscompile from a linux
    1. You need GO
    2. git clone git@github.com:someone1/zfsbackup-go.git
    3. GOOS=freebsd GOARCH=amd64 go build -o zfsbackup main.go
  2. Generate a gpg key gpg --full-generate-key
  3. Export the private/public gpg keys

    1. gpg --list-keys
    2. gpg --export-secret-keys -a keyid
    3. gpg --export -a keyid
  4. Create the S3 credentials you need
    I use BackBlaze because it’s the cheapper one, but you can use every S3 storage service or implementation you want.

  5. Configure periodic snapshot in FreeNas

  6. Configure zfsbackup cron task

    • You need to ensure the schedule is after the snapshot
    • I have develop a very little script to have a more simpler crontask because zfsbackup only support one Dataset at a time
    • Command DATASETS='Tank/Dataset1 Tank/Group/Data1' /root/zfsbackup.sh

Backblaze Zfs

Conclusion

Backblaze B2 Zfs

  • This solution offer very good performance like 15MB/s during backup operation with only 10% cpu usage on Xeon D1521. My Orange ISP uplink is the limitation here.
  • With incremental snapshot, BackBlaze is a very effective solution at low cost like less than 60€ a year for a 100GB on disk backuped VM.
  • DO BACKUPS
  • DO BACKUPS
  • DO BACKUPS