Introduction
L’année dernière lors de mon stage de fin d’année, parmi mes missions j’ai dû installer un serveur de sauvegarde. J’ai donc décidé de faire un petit break concernant les technologies Oracle et partager à travers deux articles ce que j’ai fait lors de mon stage. Pour cet article, dans un premier temps je vais vous présenter ce qu’est BACULA et dans un second temps vous montrer »un moyen » d’installation sur CentOS 5.
Présentation
Bacula est un logiciel libre qui va nous permettre de faire des sauvegardes , restaurations de données en réseaux.
Il fonctionne sur un model client-serveur. Sur le serveur on aura différents composants installés tel que le Bacula Director qui va agir comme chef d’orchestre , le catalogue qui va stocker nos différents actions…
Sur le client , on va juste retrouver un service , le bacula file qui sera configuré par la suite pour communiquer avec notre serveur (Bacula Director).
Il faut savoir que ce logiciel , qui rappelons le est libre permet de sauvegarder sur plusieurs type de supports tels que les bandes magnetiques , disques dur , CD/DVD…
Composants et services de BACULA
Bacula est constitué des cinq composants ou services majeurs suivants :
- Le service Bacula Director est le chef d’orchestre son role est de superviser toutes les opérations de sauvegarde, restauration, vérification et archivage.
- Le service Bacula Console va permettre à l’administrateur de communiquer avec le Bacula Director (Console/GUI).
- Le service Bacula Storage est chargé de transférer les données aux support de sauvegarde et permet de les rstaurer.
- Les services Catalogue sont role est de maintenir la base de données (MySQL, PostgreSQL, ou SQLite. )et les informations sur les données sauvegardés.
- Le service Bacula File est le programme installé sur la machine à sauvegarder.
Schema d’interactions des services BACULA
Installation BACULA
Dans la suite nous aurons :
- Un server Bacula sur un système GNU/UNIX, plus précisément sur CentOs 5, l’adresse IP de cette machine est : 192.168.1.5 où l’on installera le Director, le Catalogue, le Storage et la Console (A bien retenir).
- Un Client Bacula sur un système Windows, plus précisément sur Windows 7, l’adresse IP de cette machine n’étant pas statique on indiquera le nom d’hôte de la machine où l’on installera le File Daemon ici : PC_CLIENT.lolokai.fr (A bien retenir).
Par la suite notre utilisateur root sera nommé : Root et notre utilisateur normale sera nommé User.
Sauf précisions, toutes les commandes seront rentrées par l’utilisateur Root.
Installations des pré-requis
Dans le terminal, entrez les commandes suivantes :
yum -y install libxml2-devel zlib-devel pango-devel atk-devel libtermcap-devel
yum -y install gtk2-devel libgnomeui-devel ORBit2-devel libart_lgpl-devel
yum -y install libbonobo-devel libbonoboui-devel GConf2-devel freetype-devel mysql-devel
yum -y install autoconf automake e2fsprogs-devel gcc-c++ glibc-devel glibc-headers
yum -y install krb5-devel libacl-devel libgomp libstdc++-devel libtermcap-devel m4 make mysql mysql-server
yum -y install ncurses ncurses-devel openssl-devel php qt4 qt4-devel readline-devel redhat-rpm-config rpm-build
Si vous n’avez pas le Perl-DBI sur votre machine :
wget http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.616.tar.gz
tar -zxvf DBI-1.616.tar.gz
cd DBI-1.616
perl Makefile.PL
make
make test
make install
Installer aussi le module Perl:
wget http://mirror.centos.org/centos/5/os/i386/CentOS/logwatch-7.3-8.el5.noarch.rpm
rpm -Uvh logwatch-7.3-8.el5.noarch.rpm
Puis installer le paquet suivant:
yum install qwt qwt-devel wxGTK
Installations de la base de données MySQL
yum install mysql-server
yum install mysql-devel
/etc/init.d/mysqld start
mysqladmin –u root password ‘vote_mot_de_passe’
chkconfig –add mysqld
Installations des sources bacula
Maintenant passons aux choses sérieuses, nous allons par la suite télécharger les différents sources rpms, avant cela rendons nous dans le dossier /etc/tmp
cd /etc/tmp
Téléchargement des sources
wget http://downloads.sourceforge.net/project/bacula/rpms/5.0.3/bacula-bat-5.0.3-2.src.rpm
wget http://downloads.sourceforge.net/project/bacula/rpms/5.0.3/bacula-mtx-5.0.3-1.src.rpm
wget http://downloads.sourceforge.net/project/bacula/rpms/5.0.3/bacula-docs-5.0.3-1.src.rpm
wget http://downloads.sourceforge.net/project/bacula/rpms/5.0.3/bacula-5.0.3-1.src.rpm
Cela fait, nous allons attribuer certains droits à l’utilisateur User pour pouvoir “construire” (installer) ces sources.
Passer à l’utilisateur User et rentrer la commande suivante :
cp -r /usr/src/redhat ~/rpm_build
Puis créer un fichier caché .rpmmacros dans votre répertoire Home :
cd /home
touch .rpmmacros
Insertion des deux lignes suivantes dans le fichier .rpmmacros :
%_topdir %(echo ${HOME}/rpm_build)
%_tmppath %{_topdir}/tmp
Cela fait , retournez maintenant dans le répertoire /etc/tmp et rentrer en tant que User les commandes suivantes (pour cette partie la patience est de mise) :
rpmbuild –rebuild –define « build_centos5 1″ –define « build_mysql 1″ –define « build_bat 1″ –define « build_wxconsole 1″ bacula-5.0.3-1.src.rpm
rpmbuild –rebuild –define « build_centos5 1″ –define « build_mysql 1″ –define « build_bat 1″ –define « build_wxconsole 1″ bacula-bat-5.0.3-2.src.rpm
rpmbuild –rebuild –define « build_centos5 1″ –define « build_mysql 1″ –define « build_bat 1″ –define « build_wxconsole 1″ bacula-mtx-5.0.3-1.src.rpm
rpmbuild –rebuild –define « build_centos5 1″ –define « build_mysql 1″ –define « build_bat 1″ –define « build_wxconsole 1″ bacula-docs-5.0.3-1.src.rpm
Dans le même répertoire /etc/tmp , repasser en utilisateur Root, et rentrer les commandes suivantes :
rpm -Uvh bacula-libs-5.0.3-1.x86_64.rpm
rpm -Uvh bacula-mysql-5.0.3-1.x86_64.rpm
rpm -Uvh bacula-bat-5.0.3-2.x86_64.rpm
chown bacula:bacula /usr/lib64/libbac-5.0.3.so
Donner les privilèges MySQL
/usr/lib64/bacula/grant_mysql_privileges –p
Password : ’votre_mot_de_passe’
Création de la base de donnée Bacula
/usr/lib64/bacula/create_mysql_database –p
Password : ’votre_mot_de_passe’
Création des tables Bacula
/usr/lib64/bacula/create_mysql_tables –p
Password : ‘Votre_Mot_de_Passe’
On se connecte à la base de données pour attribuer un mot de passe pour bacula :
mysql –u root -p
Password : ‘Votre_Mot_de_Passe’
mysql > set password for bacula=password(‘bacula password’);
mysql > set password for bacula@localhost=password(‘bacula password’);
Si vous voulez vérifier que tout va pour le mieux :
mysql> select user,host,password from mysql.user where user=’bacula’;
Voila , on vient de finir l’installation des différents composants de notre serveur de sauvegarde Bacula
Conclusion:
Tout au long de cet article , nous avons vu comment les composants Bacula interagissent entre eux , et surtout comment les installer.
Dans un prochain article , nous verrons comment configurer bacula coté serveur et coté client, nous aurons aussi une presentation de l’interface graphique de bacula et enfin nous verrons comment sauvegarder et récupérer des données.
Avez vous deja installé Bacula ?
si non , vous utilisez quel programme « libre » pour vos sauvegarde?
Je reste ouvert à tous commentaires