BaculaI recently mentioned to Stefan Rubner that the Bacula network backup toolchain would be a really great addition to the line of tools available for the ReadyNAS NV+-line of NAS devices, so he got cracking and ported Bacula 3.0.2 to that platform under the condition that I would beta-test it.

What I want to have running on the ReadyNAS are the Bacula Director (dir) and the Storage Daemon (sd). The Director is the central component responsable for scheduling and initiating backups, whereas the Storage Daemon places the backup onto the ReadyNAS proper.

Stefan provided me with a binary package, which I uploaded to my device using FrontView:

After installation, you should see something like this in the ReadyNAS’ log:

and the Bacula add-on itself will show up in the list of installed add-ons in FrontView as well:

When that is done, you forget about FrontView, and log into your ReadyNAS as root via ssh and keep a copy of the Bacula documentation handy!

All files and programs are installed into /opt/rfw. (_R_eadyNAS _F_ree_W_are.) I’m not going to hand-hold you through the rest of the installation, because Bacula is quite a beast. Instead, I’ll give you an idea of what I did to get it up and running:

  • Make a local backup of the bacula-dir.conf, bacula-sd.conf, and bconsole.conf files, all in /opt/rfw/etc.
  • Configure the Director (bacula-dir.conf) to send alerts to your mail server. Give the Director a name (I chose nv-dir) and a secret password.
  • Configure your clients (i.e. the computers to be backed up), and install a Bacula File Daemon (fd) on those if you haven’t done so yet.
  • In bacula-dir.conf on the NV, create backup jobs for your clients, specifying which files and directories should be backed up on each.
  • Create the SQLite database into which the Bacula will write the catalog (the list of all files backed up) using the script in /opt/rfw/etc/make_sqlite3_tables. (Stefan packages the required sqlite3 utility to do this in the Bacula package.)
  • Start the Storage Daemon with /etc/init.d/bacula-sd start.
  • Start the Director similarly with /etc/init.d/bacula-dir start and watch out for errors in your configuration. Futher note, that a successful start of these programs does not mean a backup will eventially succeeed: the Director needs to be able to communicate with the File Daemons on the clients, and for that to work, addresses, names and passwords must match.
  • Configure bconsole (the Bacula console program) to use the Director on your NV.
  • Run a first backup job on a client. Watch out for messages indicating that a new volume needs to be labeled, and use the label command in bconsole to do so. The volume is created on the NV in /c/bacula, and it is a single file named after what you’ve labeled it to be.
  • If all goes well, Bacula will inform you by e-mail when the job is complete.

In essence, this is no different than getting Bacula to run on any other platform. You’ll have noted that I mentioned this port of Bacula uses an SQLite database: MySQL and PostgreSQL are just too large to run on the ReadyNAS. If you’ve had Bacula running on a different platform, these steps are easy for you to follow. If not, you’ll have to do lots of reading :-)

I’ve been running Stefan’s port for a bit now, and it works well for me. If it works for you as well, you might consider donating something towards maintenance of the Bacula package for ReadyNAS, using the Paypal button in FrontView!

Hardware, CLI, Backup, Readynas, and Bacula :: 31 Oct 2009 :: e-mail