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.