As promised here comes part two of my “Backup with Bacula and LUKS encrypted USB disks” howto. In part one I explained how to prepare the disks for using them with autofs
and how to configure autofs
itself. Now we have a good basis for Bacula to use those disks as storage for the backups.
As I said I want to use those disks as virtual tapes in a virtual tape library. This gives us the most flexibility in changing the disks or not (holidays, etc.). With vchanger
you get a nice tool to emulate such a virtual tape library. After installation the vchanger binary should be available at /usr/local/bin.
I created a config file called vchanger.conf
at /usr/local/etc
with the following content:
# changer_name - [required] Name of this autochanger changer_name = "usbchanger1" # state_dir - Directory where virtual drive state and symlinks are created # [Default: /var/lib/bacula/] state_dir = "/var/lib/bacula/usbchanger1" # logfile - Path to a file where errors and debugging info will be logged. # [Default: none] logfile = "/var/lib/bacula/usbchanger1.log" # slots_per_magazine - Number of slots each of the autochanger's magazines # will have. [Default: 10] slots_per_magazine = 10 # virtual_drives - Number of virtual drives to use. [Default: 1] Virtual_Drives = 1 # magazine - [Required] Gives the mountpoint directory of a magazine. # Multiple magazine directives may be specified to define # a multi-magazine autochanger. Each magazine has the same # number of slots, so the autochanger will have magazine = "/mnt/usbchanger1/magazine"
To use that virtual device with Bacula, modify the configuration of the Bacula storage daemon.
[..] Autochanger { Name = usb-changer-1 Device = usb-changer-1-drive-0 Changer Command = "/usr/local/bin/vchanger %c %o %S %a %d" Changer Device = "/usr/local/etc/vchanger.conf" } #--- drive 0 of the usb-changer-1 autochanger Device { Name = usb-changer-1-drive-0 DriveIndex = 0 Autochanger = yes; DeviceType = File MediaType = File ArchiveDevice = /var/lib/bacula/usbchanger1/0/drive0 RemovableMedia = no; RandomAccess = yes; } [..]
And add this device as storage to you Bacula director’s configuration.
[..] Storage { Name = usbchanger1 # same as defined by 'baculasd' in vchanger config file Address = hostname.of.my.baculasd.system SDPort = 9103 Password = "mysecretpasswort" Device = usb-changer-1 # name of the Autochanger resource defined in bacula-sd.conf Media Type = File Autochanger = yes; } [..]
Now we can start initializing the tape library by adding the tapes. For each disk run the following commands after it has been attached to the server.
chown bacula:disk /mnt/usbchanger1/magazine/ vchanger -u bacula -g disk /usr/local/etc/vchanger.conf initmag 1 bconsole << EOF label barcodes yes 2 quit EOF
Now the virtual tape changer is married with Bacula and I am sure they will have a very good time together.
All other things you need to know, e.g. how to to configure Bacula to you needs, what a good backup strategy is, do apply to any other backup media as well. So I am not handling them in this howto. I hope this helped you somehow and feedback is always welcome.