🦇Bacula - Concepts and Terminology🦇#
543 words | 7 min read
In the previous article, I briefly touched upon Bacula and my reasons for selecting it as my backup tool of choice.
There are many complex and large-scale Bacula setups possible. But for our purposes, we are going to try and set it up as shown in the diagram below.
The purple box represents the server on which we will run most of the components of Bacula. And this is pretty much the only computer you will need for following along with the rest of this guide since we will configure it as a client too (because we want to backup the bacula server too).
The 2 beige boxes represent other computers that we want to backup. One of them runs The Apache Webserver (presumably with HTML and other files for our website). The other runs a MariaDB database (for our Wordpress blog published on the website?).
The black and red lines represent my understanding of the control and data flows between the various components of Bacula.
Our objective is to configure Bacula such that
It backs up its own files
It backs up the Web server files
It runs mysqldump on the DB server (to backup the MariaDB database), and then backs it up
All the backed up data will be written to an external USB disk in our setup.
Key components of Bacula#
There are 3 main parts of Bacula that we’re interested in.
File Daemon: This is also called the Bacula client. It is a process that runs on every computer that you want to be backed up. This is the process that will read the actual files on the computer and send it over the network to be backed up by the Storage Daemon This is represented by the green ellipses in the diagram above.
Bacula Director: This is the central “Command Center” for Bacula. This is the process that initiates the backup (tells the file daemon which files to backup, and to which destination). This is represented by the yellow ellipse in the diagram above.
Storage Daemon: This is the process that actually writes the backed up data to the disk. The Storage Daemon can also use tape autochangers for enterprise-level backup requirements. This daemon is represented by the blue ellipse in the diagram above.
We are going to use Bacula’s autochanger support to convert our USB disk into a virtual autochanger with virtual tapes (each “tape” is actually a file on the USB disk).
Enter vchanger which is a virtual autochanger for making disk-based backups.
vchanger with bacula is a game changer…maybe even a life changer considering the importance of backups, and how easy it makes disk-based backups.
As I said earlier, vchanger is a virtual autochanger. It makes the USB disk appear to Bacula as a tape autochanger. We will use vchanger to create a library of virtual tapes that will be used for backups. These virtual tapes will be “special” files that are created on the USB disk.
Bacula will automatically backup to one (or more) of the virtual tapes, and when it becomes full, swap in the next one automatically and continue on its merry way. Bacula will even cycle back and re-use the old virtual tapes based on the backup retention policy that you specify.
Did I mention that vchanger is a game changer? Oh well! Continue on then.
I would also recommend reading the excellent Bacula Concept Guide to get more detailed information on the various parts of Bacula, and their capabilities.
In the next article, we will cover the installation of the Bacula Director (bacula-dir), The File Daemon (bacula-fd), Storage Daemon (bacula-sd) as well as vchanger.
Comments
Comments powered by giscus, use a GitHub account to comment.