Using Bacula as a VTL

I'm considering the idea of using Bacula for some backups, however to save tapes and limit manual operations, I'd like to make a two-stage backup :

  1. backup machines to disk (easy enough in bacula)
  2. When done, consolidate disk backups on tape. That's the tricky point...

Does anyone know how to "migrate" a given backup from a disk support to tape from within Bacula?


Solution 1:

Bacula supports a Migration job type that should do what you need. See here.

Solution 2:

You could just write another backup job that has the sole purpose of backing up the archive files of your first stage from disk to tape.

Solution 3:

I've been doing this for years, but I only use bacula for the 2nd stage. I use an rsync-based solution for the first stage:

1. Disk-to-disk

All machines on our network run a daily cron job to back up their critical directories to the backup server's giant disk. Since we use rsync for this, we get a "synthetic full" backup each time. This greatly reduces the burden on the machines as they only have to send the files that have changed, but the backup server always has a full copy of their backed up folders on its disk.

2. Disk-to-tape

Bacula takes care of putting all the files to tape according to a schedule: Full tape backup every month, differential backup every week, and incremental every day.

The advantage of this is that we minimize the burden on our live servers (because we're using rsync to pull only changed files, reducing the backup window), and all of the hard work is performed by our backup server.

It may be possible to do all this from within bacula now that it supports migration jobs, but this is working wonderfully as is. We backup about 40 servers with about 9TB of data.