A few weeks ago there was a short thread on a similar theme.  See
http://article.gmane.org/gmane.comp.sysutils.backup.bacula.general/31927
and other posts in the thread.

In that thread, the on-site disk-volumes were written first and then 
copied to tape for off-site protection.

However your requirement  ...

> I'd prefer to do the actual backup to the removable drives in the 
> first instance as these are the "critical" ones and I'd like the 
> job(s) to fail in the case of full removable-drives.

makes this significantly different.

You said that you are all windows based.  Does that include the server 
running the storage daemon?  Using Linux, you might be able to achieve 
what you want using "bind" mounts. Here is an outline of a basic scheme.

Create a directory for the on-site disk-volumes and bind it to the 
location where the storage-daemon expects to find them.

    mount --bind /on-site/bacula/volumes /var/lib/bacula/volumes

This should be in /etc/rc.d/rc.local or similar.

Your storage-daemon config would include:

Device {
     ...
     Archive Device = /var/lib/bacula/volumes
     Device Type = File;
     LabelMedia = yes;
     Random Access = Yes;
     AutomaticMount = yes;
     RemovableMedia = no;
     AlwaysOpen = no;
     ...
}

Have a pre-flight (RunBefore) script in a job with a unique, lowest 
"Priority" value, to ensure that it runs alone and first. It should 
unbind the on-site storage and bind the removable-media.

Pre-flight script:

    umount /var/lib/bacula/volumes
    mount --bind /media/usbdisk/volumes /var/lib/bacula/volumes

Have a post-flight script in a job with a unique, highest "Priority" 
value to ensure that it runs alone and last.  It should unbind the 
removable disk, copy the disk volumes to the on-site storage, and bind 
that to the appropriate disk-volume directory.

Post-flight script:

    umount  /var/lib/bacula/volumes
    rsync -a /media/usbdisk/volumes/ /on-site/bacula/volumes/
    mount --bind /on-site/bacula/volumes /var/lib/bacula/volumes

Now the storage daemon will be able to restore from the on-site copy of 
the volumes.

In the resource of the Pool to which the disk volumes are assigned, you 
should have "Maximum Volume Jobs = 1" to ensure that the disk-volumes 
are closed after use. It won't be necessary to know a-priori the names 
of the volumes since rsync will only copy new volumes.  You should also 
be dumping your catalogue and keeping copies of your config files 
somewhere.

I haven't thought about issues with recycling but it should be 
scriptable.

Hope this helps.

Kel

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to