Bacula is a useful network based backup program. It helps you manage data
backup, recovery, and verification of computer data across a network of
computers. Bacula offers many advanced storage management features that make it
easy to find and recover lost or damaged files. It can also run entirely on a
single computer and can backup data from both tape and disk. Generally, Bacula
is installed on a network and the server where the Bacula Director is installed
is in charge of scheduling and managing the frequency and type of backup for all
the volumes or disks connected across the network.
Bacula might score over other backup solutions as it can essentially take a
backup over a cross platform range of systems. This essentially means that
Bacula when installed on an Open Source system can be used for backup from Open
Source as well as Windows or other platforms. Bacula requires a database for its
functioning. Most systems would best suit the latest build of MySQL. Other
databases which Bacula supports include PostgreSQL and SQLite. The choice of
these databases is entirely personal or requirement/operating system driven.
Features Overview
We used Bacula version 5.0 , the latest build for our exploits. The three
major services Bacula uses are the Storage Director (bacula-sd), the File
Director (bacula-fd) and the Bacula Director itself (bacula-dir). Bacula is made
up of the following five major components or services: Director, Console, File,
Storage, and Monitor services. The Bacula Director service supervises all the
backup, restore, verify and archive operations. The Bacula Console service
allows the administrator or user to communicate with the Bacula Director.
Currently, Bacula Console is available in three versions: text-based console
interface, GNOME-based interface, and a wxWidgets graphical interface.
The Bacula Client. Provide the username, password of the Bacula Director and the IP Address of the machine housing the director. |
The Bacula File service (also known as the Client program) is installed on
the machine to be backed up. The Bacula Storage services consist of the software
programs that perform the storage and recovery of the file attributes and data
to the physical backup media or volumes.
Bacula 5.0 has certain new features. These include maximum concurrent jobs
for devices, restoring from multiple Storage Daemons and file de-duplication
using base jobs. The Bacula Admin Console or BAT has also been provided with new
functionality which makes it easier to use. Media list view, Media information
view, Job information view are some of these newer features.
The Installation
Bacula can be installed on any GNU/Linux based system, Solaris or Open Solaris
system. We generally install the Bacula Director on a Linux machine, and we
installed it on CentOS 5.4. Bacula is installed with the help of multiple
packages that contain the Bacula components. To install it, go to the terminal
prompt of CentOS and enter commands in the following order:
yum install gcc gcc-c++ autoconf automake mysql mysql-server mysql-devel
tar -zxvf bacula-5.0.0.tar.gz
cd bacula
./configure --with-mysql
make all
make install
bacula
vim /etc/bacula/bacula-dir.conf
The C++ compiler is now installed, which is a pre-requisite for the MySQL
installation. We have installed and configured MySQL, the database required for
the proper functioning of Bacula. The Bacula Director should now be up and ready
to provide service. We can now edit the information in the bacula-dir.conf file
with the help of an editor or on the terminal itself.
A list of the backup jobs, their schedule and their current state can be viewed through the Bacula Admin Tool. |
This information i.e name of the director and the password are to be
remembered. These would be required at the time of configuring the Bacula client
also known as the Bacula Admin Tool (Bat).
Installing Bacula on the client
The Bacula client may be installed on the client machine. We installed the
Bacula Client on our test network comprising of a mix of Open Source and Windows
platform machines. In the process of installing the Bacula Client on the client
systems on the network, the installer would ask for the Director username,
password and the address( IP Address)of the Director hosting system. The
username and password would be the same values as configured in the
bacula-dir.conf file while working on the director computer.
When Bacula Client is successfully installed on the client computer, we need
to connect this client to the Bacula Director. This can be done just by setting
the bconsole application in motion.The connection process is an automated
process taken care of by the director system itself.
Now, on the Director side, the Bacula Director needs to be informed of the
connected drives which would be present for backup. This is done by adding the
clients onto this director. Once that is done, we now move towards setting up
the Jobs.
The Jobs can be scheduled as per preference i.e when and what kind off backup
is required from that particular hard disk. Mostly, Backups from this kind of a
setup are made onto the tape drives. But newer versions of the Bacula services
include a Backup of the file systems as well.