Mise en place d`un serveur de sauvegarde Bacula - accueil

Transcription

Mise en place d`un serveur de sauvegarde Bacula - accueil
Ingénierie des Logiciels Libres
MEMOIRE DE FIN DE CYCLE TECHNOLOGUE
IN'TECH INFO
Erreur ! Source du renvoi introuvable.
Auteur
William Menant
Le Président
Le Tuteur
Le Patron de stage
M. René-Louis NICOLAS
M. Gilles POLART-DONAT
M. Christophe LARGEAU
Référence
Version
Date
Erreur ! Source du renvoi introuvable.
Erreur ! Source du renvoi introuvable.
4 septembre 2006
ALIXEN - SARL au capital de 10000 euros - R.C.S Evry 443 610 225 00015 - APE 723Z - TVA FR96443610225
Parc Club Orsay Université - 2, rue Jean Rostand - 91893 Orsay Cedex - Tél : 01 69 85 24 13 - Fax : 01 69 85 24 10
Ingénierie des Logiciels Libres
Historique des versions
Version
Date
Commentaire
1.0
05/01/06
Conception du document : première ébauche
1.1
07/01/06
Mise à jour du sommaire et ajout d'informations sur l'entreprise
1.2
09/01/06
Réalisation de la synthèse et des résumés
1.3
10/01/06
Réalisation de la partie "projet"
1.4
12/01/06
Correction de la table des matières et de la partie "projet"
1.5
17/01/06
Réalisation de la partie ''mise en oeuvre'' et de la conclusion
1.6
05/02/06
Correction de la table des matières et du document principal
ALIXEN - SARL au capital de 10000 euros - R.C.S Evry 443 610 225 00015 - APE 723Z - TVA FR96443610225
Parc Club Orsay Université - 2, rue Jean Rostand - 91893 Orsay Cedex - Tél : 01 69 85 24 13 - Fax : 01 69 85 24 10
Alixen
Erreur ! Source du renvoi introuvable.
Table des matières
Remerciements ................................................................................................................................... 4
Synthèse / Discussion ......................................................................................................................... 5
Résumé en français ............................................................................................................................ 7
Résumé en anglais .............................................................................................................................. 8
Projet « Mise en place d'une solution de sauvegarde » .................................................................. 9
I - Introduction ................................................................................................................................ 9
II – Présentation de l'entreprise...................................................................................................... 9
a) ALIXEN : Une société de services en logiciels libres (SSLL) .............................................. 9
b) Les solutions et services proposés ....................................................................................... 10
c) Plan du réseau de l'entreprise ............................................................................................... 11
III – Présentation du projet et du choix de la solution retenue .................................................... 12
a) Pourquoi sauvegarder ? ........................................................................................................ 12
1) Les besoins............................................................................................................... 13
2) Définition de la politique et des fréquences de sauvegarde..................................... 13
b) Étude des solutions matérielles ............................................................................................ 14
c) Étude des solutions logicielles ............................................................................................. 16
IV – Réalisation du projet ............................................................................................................. 19
a) Planification.......................................................................................................................... 19
b) Réalisation du cahier des charges ........................................................................................ 20
c) Mise en oeuvre de la solution retenue .................................................................................. 21
1) Intégration du disque dur et du LVM ...................................................................... 21
2) Installation et configuration de Bacula .................................................................... 24
3) Installation et configuration de Bacula-web ............................................................ 34
4) Étude de la volumétrie des données et de la bande passante................................... 35
5) Mise en place des scripts de sauvegarde « rsync ».................................................. 36
6) Sauvegarde des données du réseau interne .............................................................. 36
7) Sauvegarde sur lecteur de bandes ............................................................................ 37
V – Conclusion .............................................................................................................................. 38
Annexes ............................................................................................................................................. 39
Glossaire............................................................................................................................................ 52
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
3 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Remerciements
Avant toutes choses, je tiens à remercier Monsieur Gilles POLART-DONAT, dirigeant
d'Alixen, pour m'avoir accueilli au sein de son entreprise.
Je remercie également Monsieur Christophe LARGEAU, mon maître de stage, qui s'est
montré extrêmement disponible durant ces six mois de stage et qui a su être patient et compréhensif
vis à vis des mes questions.
Enfin, je tiens à remercier toute l'équipe d'Alixen, qui m'a reçu très chaleureusement, avec
beaucoup de gentillesse et de sympathie.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
4 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Synthèse / Discussion
L'arrivée de l'informatique a provoqué une grande révolution dans le domaine du stockage des
données. En effet, les machines informatiques traitant ces données, il est souvent nécessaire de les
stocker afin de pouvoir y accéder à n'importe quel moment. Mais la copie de ces données est-elle
parfois négligée par les utilisateurs ? Tout au long de cette synthèse, nous verrons les raisons et
l'importance des sauvegardes ainsi que les moyens de mise en oeuvre.
De nos jours, trois grandes menaces apparaissent vis à vis des données informatiques : la
défaillance du matériel (disque dur, disquettes, etc.), l'erreur humaine (suppression volontaire ou
non de fichiers) et l'infection du système informatique par divers virus (pouvant parfois perturber
les données). Pour résoudre ces différents problèmes rencontrés dans de nombreuses entreprises,
l'évolution des systèmes informatiques a permi de mettre en oeuvre plusieurs moyens pour éviter de
perdre des données : la duplication, l'archivage et la sauvegarde.
La duplication est une copie à l'identique des données, signifiant ainsi qu'une seule version de
chaque fichier et conservée dans le système. L'archivage fonctionne comme la sauvegarde de
données, sauf qu'elle prend en compte le fait que les données sont supprimées après l'archivage,
contrairement à la sauvegarde ou les données ne sont pas supprimées de l'emplacement source. De
plus, la sauvegarde est plus rapide que la copie et peut prendre moins de place sur le support de
stockage si l'on effectue une sauvegarde ne prenant en compte que les fichiers modifiés depuis la
dernière sauvegarde complète. On la nomme aussi sauvegarde incrémentale.
La sauvegarde peut être effectuée sur plusieurs types de supports : le disque dur d'un poste
informatique (localement ou en réseau), un support amovible tel qu'un CD ou DVD, ou encore une
bande magnétique, correspondant le mieux au support de stockage des entreprises car elle peut
contenir une grande quantité de données. La mise en oeuvre de ces sauvegardes peut laisser croire à
une difficulté souvent repoussante vis à vis des utilisateurs. En particulier, les utilisateurs novices
négligent les risques de pertes de données et ne portent pas d'importance immédiate sur l'exécution
des sauvegardes. Pourtant, d'après la loi de Murphy : "La probabilité de subir une perte de données
augmente proportionnellement au temps écoulé depuis votre dernière sauvegarde". Personne n'est à
l'abri d'une intempérie ou autre catastrophe naturelle. Un orage peut tout simplement provoquer une
défaillance matérielle et si l'on ne dispose pas de sauvegarde, toutes les données peuvent être
perdues. A cela s'ajoute le risque d'un cambriolage, qu'il ne faut évidemment pas négliger.
Le meilleur moyen de se protéger contre toutes ces menaces est de choisir une bonne stratégie
de sauvegardes en fonction de l'importance des données. Il est tout à fait possible pour un simple
utilisateur de sauvegarder ses donnés sur un support peu coûteux de nos jours, tel qu'un CD ou
DVD. De plus, nombreux sont les logiciels apportant simplicité et efficacité dans la réalisation de
ces sauvegardes. En revanche, si un utilisateur expérimenté travail souvent sur des données
importantes, il lui est tout à fait possible de mettre en place une stratégie de sauvegarde ne prenant
en compte que les modifications apportées depuis une date donnée.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
5 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Ainsi, la sauvegarde de données, parfois négligée par les utilisateurs, s'avère nécessaire pour
lutter contre la perte volontaire ou non de celles-ci. De plus, il ne faut pas oublier qu'une bonne
stratégie de sauvegarde doit inclure des sauvegardes de sauvegarde. De ce fait, la copie de données
permet de palier à d'éventuels soucis informatiques, à condition qu'elle soit effectuée dans de
bonnes conditions : personne n'est à l'abri d'une sauvegarde défectueuse...
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
6 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Résumé en français
La société Alixen m’a accueilli au sein de son équipe et m’a proposé de mettre en place un
serveur de sauvegarde afin de disposer d'une copie des données des utilisateurs en cas de perte
volontaire ou non. Le but de ce projet fut donc de répondre à la problématique suivante : «Comment
mettre en place une bonne stratégie de sauvegardes ? » Il fut réalisé sous un environnement
essentiellement composé de logiciels libres, tel que Linux. Ce résumé montre quel a été le sujet de
mon stage et comment il s’est déroulé.
Dans un premier temps, plusieurs études sur les différents logiciels libres de sauvegarde ainsi
que les différents matériels disponibles furent nécessaire. Celles-ci faisant l’objet de la première
partie de ce mémoire. Elles ont pour but de présenter les principaux logiciels disponibles, avec leur
avantages et inconvénients, ainsi que les moyens mis à disposition pour réaliser ces sauvegardes.
Vient ensuite l’analyse des besoins de l’entreprise, aboutissant à la création d’un cahier des charges.
Sa réalisation ayant permis de définir une stratégie appropriée à l’entreprise, et, par conséquent, les
principaux objectifs à atteindre lors de la réalisation de ce projet. Il définira aussi les contraintes du
projet, comprenant notamment la définition des fréquences des sauvegardes afin de ne pas gêner les
utilisateurs durant leur travail.
Dans un second temps, ce mémoire présentera les résultats des différentes études
préalablement réalisées, ainsi que la solution retenue. Nous verrons pourquoi la solution logicielle
nommée Bacula fut choisie et quelles ont été les raisons de ce choix. Il présentera donc les
principales caractéristiques de ce logiciel et sera suivi de son intégration physique au sein d’Alixen.
Les différentes étapes d’installations et de configurations seront ainsi détaillées, tel que
l’intégration d’un gros disque dur permettant d’accueillir les sauvegardes, correspondant ainsi à
l’aspect pratique du projet. Les contraintes ne seront bien sur pas oubliées, faisant parfois l’objet
d’éventuelles difficultés rencontrées lors de la mise en place de ce projet.
Enfin, des applications supplémentaires, permettant de répondre aux exigences définies dans
le cahier des charges, seront présentées, avant de conclure sur les différents aspects concernant
l’avenir de ce projet au sein de la société. En effet, Alixen étant un intégrateur de solutions basées
sur les logiciels libres, il n’est pas sans croire que le projet réalisé servira de base pour répondre aux
différents besoins de leurs clients et sera sûrement proposé comme solution d’intégration.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
7 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Résumé en anglais
The Alixen Company hired me and asked me to install a backup server in order to keep a
copy of all users’ data, to prevent voluntary loss. The goal of this project was to answer to this
question : “How to set up a good backup strategy?” It was mainly carried out under an environment
composed of free softwares, such as Linux. This summary shows what the objective of my training
course was and how it went.
On the one hand, several studies on the various free backup softwares as well as various
materials available were necessary. Those are the subject of the first part of this memory. Their
purpose was to present the main free softwares available, with their pros and cons, as well as the
means employed to carry out those backups. Then come the analysis of the company's needs,
leading to the creation of a schedule of conditions. Its realization allows the establishment of a
strategy suitable for the company, and consequently, the main objectives to be reached during the
realization of this project. It will also define the constraints of the project, particularly including the
definition of the backup’s frequencies in order not to disturb the users during their work.
On the other hand, this memory will present the results of the various studies carried out
beforehand, as well as the adopted solution. We will see why the software solution named Bacula
was chosen and what the reasons of this choice were. It will show the main characteristics of this
software and will be followed by its physical integration within Alixen. The various stages of
installations and configurations will be detailed, such as the integration of a large hard disk making
it possible to host the backups, corresponding to the practical aspect of the project. The constraints
will not be forgotten, like the various difficulties encountered during the establishment of this
project.
Finally, additional applications, allowing to answer the requirements defined in the schedule
of conditions, will be presented, before concluding on the various aspects related to the future of
this project within the company. Indeed, Alixen being an integrator of solutions based on the free
softwares, the company believes in this project, which will can be used as a basis to meet the
various needs of their customers and will be surely proposed as a solution of integration.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
8 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Projet « Mise en place d'une solution de sauvegarde »
I - Introduction
Depuis plusieurs années, le développement des systèmes informatiques a permis aux
utilisateurs de pouvoir stocker de grandes quantités de données sur leur poste. De nos jours, certains
fichiers peuvent avoir une taille importante et paraître précieux vis à vis des utilisateurs.
Depuis 2002, la société ALIXEN prend en charge de nombreuses entreprises et les données
informatiques sont donc très importantes vis à vis de la société. Il est donc nécessaire de mettre en
place une stratégie de sauvegarde de ces données, afin qu'elles soient disponibles à tout moment en
cas de pertes inattendues. Ainsi, l'entreprise à défini une politique de sauvegardes, mais souhaite
l'améliorer en mettant en place une machine dédiée aux sauvegardes.
La solution employée est certes fonctionnelle mais reste peu fiable. C'est pourquoi Alixen m'a
demander de mettre en place une solution de sauvegarde plus adaptée à ses besoins. Après la
définition d'un cahier de charges, plusieurs études sur les différentes solutions matérielles et
logicielles furent nécessaires. Les différents tests effectués ont permis de révéler quelle était la
solution la plus appropriée pour Alixen, et de la mettre en place concrètement. Cette intégration,
non sans difficultés, a abouti à une phase de tests obligatoires afin de simuler un éventuel incident.
De plus, le projet ne s'est pas limité à la simple mise en place d'un logiciel, mais a été amplifié
par l'ajout d'applications supplémentaires, permettant de répondre aux exigences définies dans le
cahier des charges. Ainsi, les différentes recherches et le travail personnel ont permis de mener à
bien cet important projet aux yeux de l'entreprise.
II – Présentation de l'entreprise
a) ALIXEN : Une société de services en logiciels libres (SSLL)
ALIXEN a vu le jour en 2002 grâce à une équipe d'ingénieurs et de commerciaux
expérimentés dans l'intégration et le déploiement des logiciels libres. ALIXEN est un intégrateur
spécialiste du déploiement et de la maintenance de solutions basées sur les logiciels libres ("open
source") pour les entreprises, administrations et collectivités locales. Elle complète les grandes
qualités de pérennité, de sécurité et de robustesse des logiciels libres par une approche
professionnelle de leur mise en oeuvre en s'appuyant sur une méthodologie de gestion de projet
rigoureuse.
C'est pour cela qu'Alixen a été choisie début 2003 pour déployer l'extranet collaboratif de
l'Inspection Générale de l'Environnement. En début 2004, c'est le Ministère de l'Économie, des
Finances et de l'Industrie qui fait appel à Alixen pour ses directions ayant un besoin d'outil
collaboratif.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
9 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
Au niveau infrastructures informatiques, l'ENSIA fait appel à ALIXEN en 2003 pour la
modification complète de son réseau interne et de ses accès Internet. Début 2004, c'est au CNRS
que l'entreprise intègre plusieurs projets.
Pourquoi "Alixen" ? Ce nom ne signifie rien de particulier, mais, il contient des sonorités qui
rappellent les systèmes Unix et Linux.
Le logo est le fruit du hasard : une feuille de Prunus a inspiré le graphiste de la société, qui a
vu là la réunion de la liberté et des réseaux (les nervures de la feuille). Un coté de la feuille est
pixelisé pour se raccrocher à la technologie, l'autre est naturel pour évoquer la liberté des logiciels
sur lesquels l'entreprise bâti ses solutions.
De plus, son expérience dans l'activité de société de services en logiciels libres lui a permis de
construire une offre de solutions permettant d'intégrer ces logiciels au coeur du système
d'information, tout en respectant les investissements.
b) Les solutions et services proposés
ALIXEN s'articule autour de deux métiers principaux :
●
Le déploiement de solutions d'infrastructures informatiques (serveurs de messagerie,
serveurs de fichiers, serveurs de fax, pare-feu, ...), sous forme de solutions « clés en
main » inter opérables avec le système informatique déjà en place.
●
L'étude et la mise en place d'applications de travail collaboratif en extranet sécurisé,
pour des groupes de projet disjoints ou nomades. comprenant aussi la formation des
utilisateurs dans une démarche d'accompagnement lors de l'installation de la solution.
Le développement de modules spécifiques, l'intégration de bases de données internes à
l'entreprise et la personnalisation des interfaces font aussi parties des prestations
proposées par l'entreprise.
L'apport d'ALIXEN est l'intégration des logiciels les plus robustes, dans une solution
complète, pour chaque domaine d'application. Sans perdre la possibilité de travailler avec des
scripts, pour les opérations en volume, ALIXEN offre aux utilisateurs la possibilité de gérer leurs
systèmes à travers une interface graphique cohérente et adaptée à leurs besoins. Il ne s'agit pas de
mettre à disposition l'ensemble des options des produits, mais d'apporter une aide efficace à
l'administrateur.
L'intérêt des logiciels libres est de permettre la mise en place de solutions complètes, avec
tous les outils nécessaires à une organisation donnée, et ce, sans avoir de licence à acquitter en
fonction du nombre d'utilisateurs. Cette économie ne doit pas être annulée par des installations
longues et fastidieuses. ALIXEN package donc leurs outils dans une distribution pré-configurée,
qui facilite la mise en place chez les clients et apporte une économie sur les coûts d'installation. Ces
offres packagées servent de base à la mise en oeuvre de solutions plus complexes.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
10 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
L'intégration de solutions à base de logiciels libres demande des qualités techniques mais
aussi relationnelles afin de faire le lien entre la communauté des développeurs et le client final.
c) Plan du réseau de l'entreprise
ALIXEN possède un réseau interne caractérisé par le plan suivant :
Schéma global du réseau interne de l'entreprise ALIXEN
Le réseau de l'entreprise est constitué de 3 bureaux distincts : le bureau des administrateurs, le
bureau de la direction et le bureau de développement.
Les serveurs sont situés dans le « Bureau Administrateurs », les autres bureaux ne comportant
que des postes clients.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
11 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
Voici le schéma du « Bureau Administrateurs », représentant ainsi les différents serveurs :
Schéma du « Bureau Administrateurs » de l'entreprise ALIXEN
III – Présentation du projet et du choix de la solution retenue
a) Pourquoi sauvegarder ?
Étant donné que des dysfonctionnements peuvent apparaître sur les applications et le matériel
informatique indépendamment du degré de fiabilité d'un ordinateur ou d'un serveur, il est essentiel
de posséder une bonne solution de sauvegarde. Auparavant coûteuses et compliquées, ces solutions
sont à présent très abordables, faciles d'utilisation, et, selon un certain choix, peuvent être
complètement automatisées.
Si les données et le temps sont primordiaux, il est dans son intérêt de développer une stratégie
basée sur ces besoins pour sécuriser les données et de choisir les logiciels et le matériel qui
conviennent à cette stratégie.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
12 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
1) Les besoins
Le principal besoin de l'entreprise correspond notamment à la mise en place d'un serveur
dédié aux tâches d'administrations des sauvegardes. Celui-ci devra sauvegarder les données
importantes relatives aussi bien aux clients qu'aux serveurs de l'entreprise. Ainsi, le travail demandé
permettant de répondre aux besoins de l'entreprise fut de :
✔
✔
✔
✔
✔
✔
✔
✔
Dimensionner le serveur de sauvegardes.
Proposer une politique de sauvegardes complètes et incrémentales.
Proposer une structure de stockage sur le serveur de sauvegardes.
Mettre à disposition une image des postes clients.
Mettre à disposition une image des serveurs internes..
Définir la volumétrie des données à sauvegarder, le volume potentiel et réel de chaque machine.
Définir la bande passante nécessaire au flux de données
Sauvegarder les données du réseau interne vers une machine située sur la zone de l'hébergeur
Internet : Mioga1 ou Mioga2
Le schéma suivant représente un exemple de structure de stockage. Il définit le disque dur dédié aux
sauvegardes, découpés en plusieurs tranches accueillant les données respectives des serveurs.
Bacula
Mioga 1 et 2
NetAlixen
Exemple de représentation de la structure de stockage
2) Définition de la politique et des fréquences de sauvegarde
La politique et la fréquence de sauvegarde permettent de répondre aux questions primordiales
suivantes :
Quelles sont les données à sauvegarder ?
Après analyse des différents serveurs de l'entreprise avec les responsables du réseau interne, la
quantité de données à sauvegarder s'estime aux environs de 26 Giga Octets, représentant l'ensemble
des éléments importants des serveurs du réseau interne et externe, ainsi que les données personnels
des utilisateurs.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
13 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Quand sauvegarder les données ?
Afin de ne pas gêner les utilisateurs pendant leur travail, ou encore pour ne pas consommer une
grande partie de la bande passante du réseau interne à l'entreprise, la politique de sauvegarde
permet de spécifier quand les données doivent être sauvegardées. Après une étude avec les
responsables du réseau interne de l'entreprise, il en ressort que les sauvegardes seront effectuées la
nuit en ce qui concerne les sauvegardes totales, et pendant l'heure du déjeuner pour les sauvegardes
incrémentales.
Comment sauvegarder les données ?
Enfin, afin de pouvoir réaliser concrètement les sauvegardes des données, il a fallu choisir les outils
nécessaires. L'étude des solutions logicielles a révélée que le programme le plus approprié pour
l'entreprise ALIXEN correspond au logiciel nommé « Bacula ». A cela s'ajoute l'utilisation de
l'utilitaire « rsync » prenant aussi bien en charge l'envoi que la récupération des données.
b) Étude des solutions matérielles
Étant donnée les différents matériels disponibles à la sauvegarde des données, le choix ne se
fait pas par hasard. En effet, il répond à un besoin spécifique et à un ensemble de questions
permettant ainsi de définir le matériel nécessaire. Voici un résumé des supports de stockage
disponibles actuellement :
Le support optique
C'est au cours des années 90 que le CD-Rom s'est révélé le moyen idéal de diffusion des
logiciels. Sont apparus ensuite le CD-R (un CD inscriptible une seule fois) et le CD-RW (un CD
réinscriptible). Les améliorations apportées à la technologie laser ont permis d'augmenter la
capacité de stockage pour la porter au-delà des 650 méga-octets traditionnels. Un disque DVD a
une capacité de 4,7 Go ou plus.
Usage: Le CD-R, ou DVD-R, inscriptible (une seule fois) est actuellement le format le plus répandu
pour échanger des fichiers volumineux. Moins recommandé pour le stockage volumineux en
entreprise.
La disquette
Les bonnes vieilles disquettes magnétiques de 3,5 pouces sont de moins en moins répandues.
Elles ne peuvent stocker que 1,44 MB de données ce qui ne convient que pour des documents de
texte et des feuilles de calcul pas trop complexes. La disquette n'a jamais connu de successeur,
malgré les nombreuses tentatives effectuées en ce sens, tel le Zip-drive de Iomega offrant des
capacités allant de 100 à 750 méga-octets ou plus.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
14 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Usage: La disquette est toujours utilisée pour des fichiers de taille limitée. Les successeurs
possibles de la disquette n'ont jamais véritablement percé sur le marché.
La bande
La bande est sans doute le plus ancien support de stockage et elle semble encore promise à un
bel avenir. En effet, avec la multiplication des librairies automatiques ces dernières années, la
technologie des bandes a fortement évolué.
Trois standards dominent le marché: Linear Tape Open (LTO), Digital Linear Tape (DLT) et
Digital Audio Tape (DAT), dont la capacité moyenne oscille aux alentours de 100 giga-octets ou
plus mais continue d'augmenter régulièrement. La technologie leader est aujourd'hui la DLT, suivi
de près par la LTO.
Les avantages offerts par les bandes (automatiques) résident dans leur haute capacité, en rapide
croissance (d'ici 5 ans, la capacité d'une cartouche devrait atteindre 2 téra-octets selon les
analystes), leur meilleure résistance aux virus et leur coût de revient relativement bas par rapport au
disque dur. Par contre, la bande présente un inconvénient majeur, à savoir son temps d'accès aux
données nettement plus long que dans le cas d'un lecteur.
Usage: Les bandes servent à stocker des données qui ne doivent pas toujours être immédiatement
accessibles - on parle d'accès en mode off-line (hors ligne) ou near line (quasi en ligne). Ce support
convient parfaitement bien aux opérations de backup ou d'archivage de gros volumes de données.
Le disque dur (ou disque)
La technologie de stockage la plus répandue est le disque dur. Apparus dans les années 50,
les principaux fournisseurs de disques sont Seagate, Maxtor, IBM, Hitachi, Fujitsu, Samsung,
Toshiba, NEC et Western Digital.
Selon le type de disque dur, sa capacité s'échelonne actuellement d'une centaine à quelques
centaines de giga-octets. D'ici 5 ans, elle devrait aller de 1000 giga-octets à plus de 1 téra-octet.
Usage: Le disque dur constitue le principal support de stockage. Il est utilisé pour le stockage de
données qui doivent être rapidement accessibles. Plus les données sont importantes, plus elles
doivent être accessibles rapidement, plus le système disque doit être robuste et plus il coûte cher.
Le réseau
Le stockage peut être organisé de manière interne ou externe. Il existe des systèmes de stockage
DAS (Direct-Attached Storage), qui sont directement interconnectés. Dans un environnement
DAS, serveurs et plates-formes de stockage sont reliés entre eux selon un modèle 'point-à-point'. Il
existe par ailleurs des réseaux de stockage où cohabitent plusieurs technologies : tape library, disk
array et cd-rom jukebox - ces différentes plates-formes de stockage étant reliées aux ordinateurs.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
15 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Un réseau offre plus de possibilités de gestion et d'extension à l'entreprise, qui peut ainsi déplacer
plus souplement des données entre des serveurs, des unités de stockage et des utilisateurs.
Le NAS (Network Attached Storage) désigne des systèmes de stockage reliés à un réseau existant
et offrant un accès aux fichiers qui résident sur ces systèmes. Il peut s'agir de n'importe quel type de
réseau avec des protocoles de partage de fichier aussi répandus que NFS (pour Unix) et des
protocoles de réseau classiques comme Ethernet et TCP/IP.
SAN (Storage Area Network) désigne un réseau spécial, qui relie des systèmes de stockage via
une infrastructure de communication spécifique, en général composée de fibre optique.
Les deux concepts traitent les données de façon différente, mais concrètement, les systèmes
NAS peuvent également être configurés en SAN. A terme, la ligne de démarcation entre ces deux
approches devrait s'estomper de plus en plus. Les principaux désavantages du NAS sont,
généralement, une moins grande fiabilité et une sécurité plus aléatoire, ainsi qu'un traitement assez
difficile des grandes bases de données. Comparativement, le SAN offre plus de possibilités et une
meilleure évolutivité. Il est aussi plus facile à protéger. Mais il est plus cher que le NAS et utilise
des protocoles plus compliqués.
Usage: Si le stockage concerne de très grosses quantités (plusieurs centaines de giga-octets) de
données importantes, la solution recommandée est, assurément, le réseau de stockage. Le choix
entre NAS (ajout du stockage au réseau existant) et SAN (réseau de stockage dédié), dépend de la
situation et des besoins de stockage de l'entreprise.
c) Étude des solutions logicielles
Avant la mise en place concrète du projet, et devant la multitude de logiciels disponibles pour
effectuer des sauvegardes, il m'a été demandé d'étudier plusieurs solutions logicielles libres afin de
réaliser un comparatif permettant d'attribuer une solution logicielle en fonction du besoin définit.
Durant mon stage au sein de l'entreprise ALIXEN, j'ai étudié, analysé et testé les logiciels suivants :
BackupPC : http://backuppc.sourceforge.net
Amanda : http://www.amanda.org
Mondo Rescue : http://www.mondorescue.org
Partition Image : http://www.partimage.org/index.fr.html
Bacula : http://www.bacula.org
Voici un résumé détaillé décrivant les principales fonctionnalités de chacun des logiciels étudiés :
➢
BackupPC :
BackupPC est un puissant outil de sauvegardes automatisées entièrement paramétrable.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
16 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Il gère aussi bien les postes de travail que les serveurs, sous Linux et sous Windows, grâce à ses
diverses méthodes de copie et synchronisation : Samba, tar sur de SSH/RSH/NFS, ou encore rsync
sur SSH/RSH.
BackupPC est écrit en Perl, et se compose de plusieurs scripts distincts, faciles à appréhender. Il
s'agit donc d'un outil extrêmement souple. De plus, chaque machine est paramétrable
indépendamment. L' auteur de BackupPC a prévu la possibilité de créer des comptes utilisateur, afin
que ces derniers puissent visualiser l'état de leurs sauvegardes, exécuter manuellement une
sauvegarde de leur machine en plus de celles faites automatiquement, ou bien encore récupérer un
fichier effacé par erreur trois jours auparavant.
➢
Amanda :
AMANDA (Advanced Maryland Automatic Network Disk Archiver) est un outil de
sauvegarde en provenance de l'université du Maryland. Jaime Da Silva, comme tout administrateur
système qui se respecte, avait une collection de scripts sur de multiples machines. Devant
l'accroissement de la tâche à accomplir, il fédéra cet ensemble dans Amanda.
Le logiciel est assez ardu à mettre en place, mais est doté d'une documentation abondante (FAQ très
riche, articles...). De type client serveur, AMANDA est très puissant pour sauvegarder un parc
réseau hétérogène. En effet disponible sous différents Unix, il existe même des fonctions pour
sauvegarder des postes Windows via samba.
➢
Bacula :
Bacula est un projet de sauvegarde réseau client/serveur professionnel ambitieux. Il offre une
modularité hors du commun, en effet chaque étape de la sauvegarde est décomposée en un
"daemon" associé et permet donc d'assouplir considérablement l'architecture du système de
sauvegarde. Il permet de sauvegarder sur de nombreux médias (Disques dur, bandes magnétiques,
prise en charge des chargeurs de bandes...).
➢
Mondo :
Mondo Rescue est un utilitaire de sauvegarde , permettant d'effectuer des archives sur CD,
lecteur de bandes, via NFS (archives sauvegardées à distance) ou simplement en fichier ISOs créés
localement. Mondo utilise afio comme moteur de sauvegarde, remplaçant aussi bien l'utilitaire tar.
En prévention d'un perte inattendue de données, vous pouvez restaurer une partie ou l'intégralité de
votre système, même si vous venez d'installer un disque dur tout neuf.
Mondo Rescue est utilisé avec Mindi Linux. Mindi Linux permet de créer des images de disquettes
de démarrage vous permettant d'effectuer des simples opérations de maintenance sur votre Linux.
La principale particularité de ces disquettes de démarrage Mindi réside dans le fait que celles ci
contiennent le noyau, les modules, les outils ainsi que les librairies de votre système. Le fait que les
modules soient inclus durant la sauvegarde permet leur rechargement lors du démarrage.
Donc, en théorie, vous démarrez automatiquement dans le même environnement que celui lors de la
phase de sauvegarde.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
17 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
➢
Partition Image :
Partition Image est un utilitaire Linux/UNIX permettant la sauvegarde de différents types de
partitions dans un fichier image. L'image peut être compressée au format GZIP ou BZIP2 afin
d'économiser de l'espace disque ou scindée en de multiples fichiers pour être copiée sur des médias
amovibles. Depuis la version 0.6.0, il est possible de déporter le fichier image au travers d'un
réseau.
Partition Image ne prend que les données présentes dans les partitions afin de gagner en rapidité et
en efficacité les "blocs" non utilisés ne sont pas sauvegardés dans le fichier image contrairement à
l'utilitaire 'dd'. Partition Image gère parfaitement de grandes partitions y compris celles qui sont
entièrement remplies de données. A titre d'exemple une partition d'1 GB complètement remplie
génère un fichier d'environ 400Mo en utilisant la compression GZIP.
Voici un petit récapitulatif des avantages et inconvénients des logiciels testés :
Avantages
Inconvénients
BackupPC
Gestion des connexions non permanentes
Système de mise en commun des sauvegardes
Alertes par e-mail pour chaque utilisateur
Pas de logiciel client obligatoire
Les utilisateurs peuvent effectuer des
sauvegardes et restaurations
Les ACLs ne sont pas sauvegardées
Pas de sauvegardes sur lecteur de bandes
Pas d'encryption
Amanda
Segmentation des opérations en scripts
autonomes
Propriétés propres à chaque disque
Système de labels
Possibilité d'intégrer le cryptage gpg
Obligation de segmenter des systèmes de
fichiers importants
Pas de réelle limitation de la bande passante
Impossible d'écrire sur plusieurs volumes
Pas d'interface graphique
Sauvegarde d'un système non RAID et
restauration en un système RAID
Crée des disques de démarrage et de
restauration
Ne sauvegarde pas les bases de données
Ne sauvegarde pas les messageries
Pas de gestion de chargeur multi bandes
Pas d'avertissement par e-mail des sauvegardes
réusies ou non
Pas d'encryption
PartImage
Affichage dynamique à l'écran d'informations
utiles lors des processus
Détection des éventuels blocs défectueux lors
de la sauvegarde
Restauration possible du MBR
Utile seulement pour la sauvegarde de
partitions
Impossible de restaurer un ou plusieurs fichiers
Pas de sauvegardes sur lecteur de bandes
Pas d'encryption
Bacula
Possibilité d'écrire sur plusieurs volumes
Gestion de « catalogues »
Gestion des ACLs
Suivi des sauvegardes via une interface web
Attention aux fichiers ouverts sous Windows
Pas d'interface graphique
Pas d'encryption
Mondo Rescue Sauvegarde complète du système de fichier
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
18 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Ainsi, Bacula reste la solution la solution la mieux adaptée à l'entreprise car elle sait gérer les
lecteurs de bandes ainsi que l'écriture sur plusieurs volumes, nécessaire pour une grande quantitée
de données à sauvegarder.
IV – Réalisation du projet
a) Planification
La planification d'un projet est une étape importante dans la conduite d'un projet. En
effet, elle permet de définir le temps de réalisation de certaines tâches.
Dès mon arrivée dans l'entreprise, une étape importante fut celle de la mise en place du planning.
Semaines 1 et 2 : Présentation du sujet, définition du cahier des charges et étude des
diverses commandes système
Semaines 3 et 4 : Étude et tests du logiciel libre « BackupPC »
Semaines 5 à 7 : Étude du logiciel libre « Amanda »
Semaine 9 : Étude du logiciel libre « Partition Image »
Semaine 10 : Étude du logiciel libre « Mondo »
Semaines 11 à 13 : Étude du logiciel libre « Bacula »
Semaines 14 à 18 : Intégration de la solution de sauvegarde
Les semaines 1 et 2 ont été consacrées à diverses études telles que les principales commandes
système permettant d'effectuer des sauvegardes et restaurations. Parmi elles, on retrouve les
commandes ''tar'', ''cpio'', ''mt'', ''dump'' et ''restore''. Ces commandes sont définies dans l'annexe.
Afin de pouvoir mettre en place la solution de sauvegarde et après l'étude des différents supports de
stockage disponibles, des solutions logicielles présentes et des principales commandes système, les
facteurs importants à prendre en compte furent donc les suivants :
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
19 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
●
La rapidité : La quantité de données à archiver et le temps dont on dispose pour le faire
déterminent le niveau de performances requis.
●
La capacité : C'est la quantité maximale de données pouvant être copiées sur une bande, un
disque ou un lecteur.
●
Le prix : C'est le coût au gigaoctet en faisant le rapport entre le coût de la bande et la capacité
native. Le prix par gigaoctet peut énormément varier.
●
L'accès aux fichiers : Si la possibilité d'accéder rapidement à un fichier spécifique est d'une
importance capitale, alors un support optique conviendra en raison de ses capacités d'accès
aléatoire.
Si on veut archiver des données de manière séquentielle ou si l'on accède rarement à certains
fichiers, les bandes sont alors plus appropriées. C'est principalement pour cela que les
bibliothèques de bandes sont utilisées pour sauvegarder.
La réalisation de ce projet s'effectue d'une façon autonome, en collaboration avec mon maître de
stage M. Christophe LARGEAU. La fixation des objectifs s'est mise en place en même temps que
celle du planning, en prenant bien sur en compte les éventuels problèmes rencontrés.
b) Réalisation du cahier des charges
Un cahier des charges est un document visant à définir exhaustivement les spécifications de
bases d'un projet à réaliser. La mise en place du projet a nécessité l'élaboration d'un cahier des
charges répondant aux besoins spécifiques du client. Il m'a donc fallu réaliser le cahier des charges
du projet, selon les recommandations de l'entreprise ALIXEN.
Actuellement, l'entreprise ALIXEN dispose d'une stratégie de sauvegarde comprenant un
serveur non spécifique aux sauvegardes et possédant un lecteur de bande. Celui-ci a pour but de
sauvegarder les autres serveurs situés en dehors du réseau interne à l'entreprise (zone nommée
Internet-Fr sur le schéma suivant) ainsi que les répertoires personnels de chaque utilisateur
possédant un compte sur le réseau interne de l'entreprise.
Les données sont rapatriées, de l'ensemble des machines situées sur la zone Internet-Fr, sur le
serveur, grâce à l'utilitaire « rsync ». De plus, une méthode appelée « dump » est effectuée afin de
pouvoir sauvegarder les bases de données des serveurs (MySQL, LDAP,ect...).
Ainsi, une sauvegarde sur bande est réalisée tous les jours, du lundi au vendredi, à 23 h 59,
via un fichier de commande, notamment nommé « script bash » et programmé dans la « crontab »
afin que tout soit exécuté automatiquement..
Voici un schéma représentant la situation actuelle :
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
20 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
SERVEUR
NET-ALIXEN
MIOGA1
INTERNET
PREY
MIOGA2
ALIXEN
INTERNET-FR
Représentation du schéma de sauvegarde
NB: Les serveurs Mioga 1 et Mioga 2 sont redondantes. Si l'une d'entre elles tombe en panne,
l'autre prend automatiquement le relais et active les services correspondants via un DRDB (Soit sur
Mioga 1 : Web, Mails, Mioga, Ldap et sur Mioga 2 : Bacula). De plus, les postes clients
sauvegardés ne sont pas représentés.
c) Mise en oeuvre
Le projet sauvegarde comporte plusieurs phases de réalisation technique. Il débute
notamment par la mise en place et l'intégration du disque dur accueillant les données sauvegardées
grâce au logiciel « Bacula ». Voici en détails les principaux points concernant les phases de la
réalisation de ce projet.
1) Intégration du disque dur et du LVM
Un nouveau disque dur, dédié spécialement aux données sauvegardées, a été acheté par
l'entreprise afin de l'intégrer au serveur. Ma première mission fut donc d'installer physiquement ce
disque dur et de le configurer correctement pour répondre au besoins de l'entreprise. Le disque dur
fut donc configuré en utilisant le gestionnaire de volumes logiques : LVM.
Présentation
LVM (Logical Volume Manager) est, comme son nom l'indique, un gestionnaire de volumes
logiques. Il permet à l'administrateur système de s'affranchir complètement des limites physiques
des disques.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
21 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Le schéma ci-dessous montre le principe global de fonctionnement de LVM : une couche
d'abstraction aux disques physiques, mettant à disposition un vaste espace partitionnable.
Schéma de représentation du LVM
Il est possible de mettre en place LVM par dessus n'importe quel disque présent sur le
système, et non pas uniquement sur des disques IDE ou SCSI indépendants (par exemple sur
plusieurs importantes tours de stockage, de manière totalement transparente). Ce système
permettant à la gestion de stockage logicielle de faire totalement abstraction du matériel (et
inversement), il est possible de modifier la configuration matérielle de manière transparente pour
les applications.
Tout d'abord, ce système offre la possibilité de redimensionner les partitions à volonté, sans avoir à
créer une nouvelle partition, déplacer les données, et supprimer l'ancienne partition..
LVM permet également une gestion très flexible des unités de stockage. Il est par exemple possible
d'ajouter, de supprimer des nouveaux disques entiers, ou seulement certaines partitions, etc...
Ce gestionnaire de volumes faisant office de couche d'abstraction au matériel, toutes ces opérations
sont bien sûr totalement transparentes pour les applications.
De plus, l'ensemble des disques peut être vu comme un unique espace partitionnable (par exemple,
quatre disques de 36 Go peuvent former une unique partition de 144 Go...). Les données peuvent
être réparties sur l'ensemble des disques (Striping, RAID-0), ou alors écrites sur un large espace
correspondant à la concaténation de plusieurs disques bouts à bouts. Dans ce cas, lorsqu'un disque
est saturé, les données sont écrites sur le disque suivant.
Enfin, l'utilisation de LVM permet d'augmenter considérablement la disponibilité des serveurs : la
gestion logique des volumes étant totalement séparée de la partie matérielle, il est possible de
modifier cette dernière sans même que les applications ne s'en aperçoivent.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
22 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Cette fonctionnalité est particulièrement intéressante en cas de saturation d'un serveur de bases de
données. On peut par exemple rajouter un disque dur à chaud (en hotplug), et ajouter simplement sa
capacité à l'espace de stockage déjà présent.
Installation
Les noyaux de Linux antérieurs au 2.4 doivent être patchés afin d'être en mesure d'activer le support
LVM. Depuis le 2.4, ce support a été ajouté au noyau. Il suffit alors de cocher l'option « Multi
device support (RAID and LVM) » , dans la configuration du noyau, puis de recompiler.
Sous Debian GNU Linux, l'installation se fait simplement par le gestionnaire de packages (apt).
Pour installer LVM avec ce système, il suffit donc d'exécuter la commande :
# apt-get install lvm2
Il est également possible d'installer LVM à partir de ses sources, après les avoir compilées. Les
sources de LVM sont téléchargeables à l'adresse suivante : ftp://ftp.sistina.com/pub/LVM/current/
Pour compiler et installer les outils et bibliothèques, il suffit de se placer dans le répertoire source
de LVM, et exécuter les habituels ./configure, make, et make install.
Utilisation
Maintenant que la gestion LVM est installée et prête à fonctionner, il est alors possible de créer des
volumes physiques. On partitionne les disques en spécifiant le system id (commande t dans fdisk)
comme étant 0xFE (libellé LANstep). Dans notre cas, on utilise un disque de 250 Go /dev/hdb
possédant une seule partition (donc hdb1).
Il n'est pas conseillé de multiplier les partitions sur les disques. En effet, créer un volume logique à
partir de hdb1, hdb2, hdc1 et hdc2 est non seulement un peu stupide, mais ferait chuter les
performances de LVM.
Dans un premier temps, on crée le volume physique. On utilise la commande pvcreate comme suit :
# pvcreate /dev/hdb1
Puis, on crée maintenant le groupe réunissant le volume physique. Ici, nous utilisons notre volume
physique pour créer le groupe de sauvegarde sauvegarde :
# vgcreate sauvegarde /dev/hdb1
A présent, vgcreate a transmis les métadonnées au pilote du noyau. Le groupe peut donc accueillir
les volumes logiques. Nous allons en créer plusieurs destinés à accueillir les données rsync de
mioga1, mioga2, netalixen ainsi que les données bacula.
Dans un premier temps, on crée le premier s'appelant bacula, d'une taille n'excédant pas la taille du
volume physique :
# lvcreate -L50G -nbacula sauvegarde
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
23 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
Puis, on crée les autres volumes logiques :
# lvcreate -L50G -nmioga1alixenfr sauvegarde
# lvcreate -L50G -nmioga2alixenfr sauvegarde
# lvcreate -L50G -nnetalixenfr sauvegarde
On obtient un /dev/bacula réagissant comme une partition on ne peut plus classique. On la formate
alors avec un type de fichier ReiserFS permettant de redimensionner à chaud.
On installe ReiserFS:
# apt-get install reiserfsprogs
Puis on formate la partition:
# mkfs.reiserfs /dev/gtest/lvtest1
Et on la monte sur un répertoire préalablement créé tel que /mnt/lvm-bacula:
# mkdir /mnt/lvm-bacula
# mount -t reiserfs /dev/sauvegarde/ bacula /mnt/lvm-bacula
Afin d'obtenir automatiquement le montage des volumes au démarrage du système, il est nécessaire
de modifier le fichier de configuration /etc/fstab.
On édite donc le fichier /etc/fstab et on ajoute les lignes suivantes :
/dev/sauvegarde/
/dev/sauvegarde/
defaults
/dev/sauvegarde/
defaults
/dev/sauvegarde/
1
/mnt/lvm-bacula
reiserfs defaults 0
1
/mnt/lvm-mioga1alixenfr
reiserfs
0
1
/mnt/lvm-mioga2alixenfr
reiserfs
0
1
/mnt/lvm-netalixenfr
reiserfs defaults 0
Ainsi, comme on peut le constater, les volumes logiques contenus dans un groupe sont clairement
représentés sous la forme d'une arborescence dans /dev.
2) Installation et configuration de Bacula
L'étude des divers logiciels libres disponibles pour la sauvegarde de données, m'a permis de
définir le logiciel le plus adapté à l'entreprise. Ce choix fut donc porté sur " Bacula ", dont voici une
présentation.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
24 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
✗
Présentation de « Bacula »
Pour réaliser ce projet, la solution logicielle retenue fut celle de bacula. En effet, Bacula se révèle
beaucoup plus performant que ces concurrents et surtout il permet de gérer les lecteurs de bandes
avec la possibilité d'intégrer un chargeur automatique des bandes (auto-chargeur).
On peut assimiler Bacula à une suite de plusieurs logiciels, chacun affecté à une tâche propre (une
des bases de la philosophie Linux).
Bacula est constitué autour de six composants ou services, représentés sur le schéma suivant :
(Source : http://www.bacula.org/rel-manual/What_is_Bacula.html)
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
25 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
➢
Le service « Bacula Director » constitue le programme de supervision de la sauvegarde,
restauration, de la vérification ou des opérations d'archivage. L'administrateur système utilise
ainsi le directeur bacula pour préparer des sauvegardes et restaurer des fichiers.
➢
Le service « Bacula Console » est le programme qui permet à l'administrateur ou à l'utilisateur
de communiquer avec le directeur bacula. Actuellement, la console bacula est disponible en trois
versions.
La première, et la plus simple, est de lancer la console bacula à travers une fenêtre d'exécution de
commandes, nommée « shell ». Cette méthode est utilisée par la plupart des administrateurs
systèmes.
La seconde version est une interface graphique, utilisée sous l'environnement Linux nommé
GNOME, mais cependant peu complète mais fonctionnelle car elle dispose des capacités
principales de l'exécution par « shell ». La troisième version est une autre forme d'interface
graphique, permettant de restaurer des fichiers d'une façon interactive.
➢
Le service « Bacula File » (ou le programme client) est le programme installé sur la machine à
sauvegarder. Il est spécifique au système d'exploitation sur lequel il s 'exécute et doit fournir les
attributs des fichiers et les données demandés par le directeur bacula.
➢
Le service « Bacula Storage » est le programme permettant de stocker et de restaurer les
attributs des fichiers et des données sur le média physique de sauvegarde. Il est responsable de
l'écriture des données sur la bande de sauvegarde ou tout autre média de sauvegarde.
➢
Le service « Catalog » est le programme permettant de gérer les indexs des fichiers et des
volumes des bases de données sauvegardés. Le service catalogue permet à l'administrateur
système ou à l'utilisateur de localiser et de restaurer rapidement un fichier spécifique.
➢
Le service « Bacula Monitor » est le programme permettant à l'administrateur ou l'utilisateur de
visualiser l'état actuel à un instant précis du directeur bacula, des services « bacula file » et des
services « bacula storage ».
Afin de permettre à Bacula de comprendre l'intégralité du système utilisé, quels sont les clients à
sauvegarder et comment, il est obligatoire de créer un certain nombre de fichiers de configuration
contenant les ressources utilisées (notamment appelées objets).
Voici un schéma de représentation des fichiers de configurations :
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
26 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
(Source : http://www.bacula.org/rel-manual/What_is_Bacula.html)
Ce schéma représente ainsi comment doivent être construits les 4 principaux fichiers de
configurations nécessaire au bon fonctionnement de bacula.
•
« bacula-dir.conf » est le fichier de configuration du directeur bacula. Il doit contenir plusieurs
éléments représentés sur le schéma ci-dessus.
Le premier fichier à configurer est : le Directeur, qui est au centre du système.
Le fichier de configuration se nomme bacula-dir.conf (Disponible en annexe)
L'objet Director touche à la configuration du directeur lui-même, comme partout il faut le nommer
et définir le password (nécessaire pour contrôler ce directeur depuis la console). A noter la propriété
"Maximum Concurrent Jobs" qui définit le nombre de tâches que Bacula peut lancer
simultanément.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
27 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
L'objet FileSet définit l'ensemble des fichiers à sauvegarder, généralement pour un serveur donné.
(les chemins d'accès aux données étant différents d'un serveur à l'autre).
Il convient donc d'en créer autant que nécessaire, en incluant de préférence le nom du serveur
concerné dans le nom de FileSet afin de savoir de quoi il retourne.
C'est à ce niveau que l'on définit la compression et/ou la signature des fichiers. Bacula gère les
algorithmes SHA1 et MDA pour la signature et GZIP(GZIP6) et GZIP9 pour la compression. Je
vous rappelle que cette compression a lieu en local sur le serveur de fichiers avant l'envoi des
données par le réseau, elle impactera donc sur la charge de celui-ci.
L'objet Schedule définit un modèle de planification.
L'objet Client donne les informations concernant les différents FD au directeur (nom, adresse, mot
de passe, port...) On définit à ce niveau combien de temps les fichiers et les jobs sont conservés
dans le Catalog. Si l'option AutoPrune est définit à YES, ces infos sont effacées automatiquement
du Catalog lorsque le laps de temps est écoulé.
L'objet Storage donne les informations concernant les différents SD au directeur, et se réfère a un
Device (précédemment définis dans le fichier bacula-sd.conf). Dans notre cas, il faut mettre Media
Type = File puisque l'on va sauvegarder sur un Disque Dur.
L'objet Catalog contient les paramètres de la base de données utilisée pour stocker les informations.
L'objet pool définit des ensembles de volumes (dans notre cas un volume sera un fichier) et permet
par exemple de stocker toutes les sauvegardes de type "Full" ensembles etc. A noter qu'un pool par
défaut est nécessaire. Il reste maintenant l'objet Job qui définit une tâche de sauvegarde à
proprement parler, il y en aura donc autant que nécessaire.
Un job peut être de plusieurs types : Backup, Restore, Verify & Admin :
– Backup, comme son nom l'indique définira une tâche de sauvegarde.
– Verify permet de vérifier que les informations de sauvegardes stockées dans le Catalog
correspondent bien à ce qui est stocké physiquement sur le support.
– Restore permet de récupérer des données sauvegardées.
ATTENTION, il est fortement conseillé de définir les jobs "restore" en même temps que les jobs
"Backup", il n'est en effet pas possible de restaurer quelques données que ce soit sans qu'un job
restore soit convenablement défini et il est assez énervant de perdre un temps précieux à définir ce
type de job lorsque l'on a besoin de restaurer des données.
Pour un Job de type Backup, il vous faut spécifier les Client, FileSet, Schedule, Storage et Pool que
nous avons précédemment déclarés.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
28 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
L'option Write Boostrap permet de conserver le Bootstrap d'un disque dur sauvegardé avec Bacula,
de façon a pouvoir remettre sur pied un système non fonctionnel le plus rapidement possible.
L'option Priority définit quel Job s'exécutera en premier lorsque plusieurs Jobs sont planifiés en
même temps
•
« bacula-fd.conf » est le fichier de configuration propre au client. Il est situé sur sa machine.
(Disponible en annexe)
Le fichier de configuration se nomme bacula-fd.conf et se trouve dans /etc/bacula sous debian.
Il est composé de 3 éléments :
– la définition des Directeurs autorisés à l'administrer
– la configuration du FD en lui-même
– la configuration de l'envoi des messages.
Pour autoriser un Directeur à se connecter à un FD, il faut donner le nom du directeur et lui associer
un mot de passe:
Director {
Name = nom-du-serveur-executant-le-directeur
Password = "password" }
Le champ FilerDaemon traite de la configuration en elle-même du FD. Il faut définir le nom qui
sera utilisé pour l'identifier depuis la console d'administration et spécifier le port sur lequel il va
écouter (9102 par défaut). Le champ Messages gère les messages spontanément envoyés au
directeur par le FD, indiquez ici le nom du directeur qui doit recevoir ces messages.
Info : par défaut, Debian configure ce fichier en mettant partout le nom de la machine sur lequel le
paquet est installé, il faut donc le rectifier si la machine n'est pas le directeur.
ATTENTION, ces fichiers de configuration sont à placer en local sur les machines exécutant les
FD, c'est à dire les machines "à sauvegarder"
•
« bacula-sd.conf » est le fichier de configuration du service de stockage des données
(Disponible en annexe)
Sur le même principe que le FD, le fichier de configuration du SD (bacula-sd.conf) possède un
objet Storage dans lequel il faut définir un nom pour ce Storage Daemon et un port sur lequel il
tournera, un objet Director dans lequel il faut indiquer le directeur autorisé à administrer ce SD et
un objet Messages concernant les messages envoyés au directeur.
Il possède en plus des objets Device qui concernent dans notre cas le(s) volume(s) Disque sur
lequel vous souhaitez stocker vos sauvegardes. Il peut y avoir autant de Device que nécessaire et
idéalement un par serveur sauvegardé.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
29 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
•
« bconsole.conf » est le fichier de configuration de la console de bacula. Il ne nécessite pas de
configuration particulière car il est configuré automatiquement lors de l'installation de bacula.
✗
Installation, configurations et tests
Bacula est porté sur la distribution Debian, il est donc très facile à installer.
Pour installer la suite complète, sur le serveur, la commande utilisée est la suivante :
#> apt-get install bacula
A noter qu'avec cette méthode c'est le paquet bacula-director-sqlite qui sera installé par défaut, libre
à vous de choisir bacula-director-mysql ou bacula-director-pgsql.
Voici la commande utilisée pour installer le paquet permettant d'utiliser bacula avec MySQL :
#> apt-get install bacula-director-mysql
Pour n'installer que la partie FD (FilerDaemon) sur un client "à sauvegarder", on utilise la
commande suivante :
#> apt-get install bacula-fd
●
Tests du lecteur de bandes
Une fois les fichiers configurés correctement, il peut être nécessaire de tester le lecteur de bandes.
La commande "btape" permet d'effectuer différents tests sur le lecteur de bandes :
#> btape -c /etc/bacula/bacula-sd-conf /dev/nst0
Une console apparaît, il suffit alors de taper la commande :
* test
●
Connexion à la console d'administration de Bacula
Viens ensuite la connexion à la console d'administration de bacula, permettant ainsi d'effectuer des
sauvegardes ou des restaurations.
La commande suivante permet de se connecter à celle-ci :
#> bconsole -c /etc/bacula/bconsole.conf
Puis, une fois dans la console d'administration, on peut vérifier l'état de tout ce qui est en cours de
lancement autour de bacula :
* status all
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
30 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
●
Erreur ! Source du renvoi introuvable.
Labelisation des bandes de sauvegardes
Ensuite, il faut mettre un label sur la bande qui contiendra les sauvegardes. Ceci est nécessaire au
bon fonctionnement de Bacula et s'effectue dans la console d'administration via la commande :
* label
●
Effectuer une sauvegarde
Viens ensuite la phase de sauvegarde, toujours dans la console d'administration, il suffit simplement
de taper la commande :
* run
●
Effectuer une restauration
La restauration utilise le même principe que la sauvegarde, avec en plus la possibilité de parcourir
la sauvegarde via un système de fichiers virtuel. On lance une restauration avec la commande :
* restore
Une fois les paramètres de restauration choisis, diverses commandes sont possible pour naviguer
dans ce système de fichiers virtuel et sélectionner des fichiers ou dossiers à restaurer.
Par exemple :
Command
=======
cd
count
dir
done
estimate
exit
find
help
ls
lsmark
mark
markdir
pwd
unmark
unmarkdir
quit
?
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
Description
===========
change current directory count
marked files in and below the cd
list current directory
leave file selection mode
estimate restore size
exit = done
find files -- wildcards allowed
print help
list current directory -- wildcards allowed
list the marked files in and below the cd
mark dir/file to be restored -- recursively in dirs
mark directory name to be restored (no files)
print current working directory
unmark dir/file to be restored -- recursively in dir
unmark directory name only -- no recursion
quit
print help
04/09/2006
31 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
On utilisera principalement les commandes ls, cd, mark et done pour sélectionner un ou plusieurs
fichiers et lancer la restauration
Exemple :
$ ls
README.TXT
cygrunsrv.exe
rsync.exe
rsyncd.conf
rsyncd.lock
rsyncd.log
rsyncd.pid
rsyncd.secrets
service.bat
$ mark rsync.exe
1 file marked.
$ done
1 file selected to be restored
●
Sauvegarde d'un client Windows
La sauvegarde d'un client Windows repose sur le même principe, mise à part qu'il faille installer un
exécutable sur le client.
Le fichier exécutable d'installation du client Windows, nommé winbacula-1.xx-x.exe, ou x
représente la version du logiciel, est disponible à l'adresse suivante :
http://sourceforge.net/project/showfiles.php?group_id=50727&package_id=110235
Une fois le fichier téléchargé, lancez l'installation en double cliquant dessus et suivez les
instructions apparaissant à l'écran.
Éditez correctement les fichiers de configuration bacula-fd.conf et bconsole.conf en renseignant
les informations concernant le serveur et le client.
Ensuite, modifiez le fichier /etc/bacula/bacula-dir.conf du serveur et insérez les informations
concernant le nouveau client, soit un Job de type Backup, et comme spécifié dans la section
précédente, Client, FileSet, Schedule, Storage et Pool.
Une fois les modifications effectuées, n'oubliez pas de relancer le service bacula-director
#> /etc/init.d/bacula-director restart
Si aucun message d'erreur n'apparaît, la configuration est donc correcte. Vous pouvez dès à présent
tester la connexion au client, lancer une sauvegarde ou une restauration si nécessaire.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
32 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
ATTENTION ! : Si le client possède Windows XP avec le service pack 2 installé, il est obligatoire
de configurer le pare feu windows et lui dire d'exclure le programme:
C:/bacula/bin/bacula-fd.exe dans sa liste des programmes exclus et autorisés.
De plus, lors de la configuration du fichier /etc/bacula/bacula-dir.conf, n'ajoutez pas de lecteur lors
de la spécification du chemin de restauration. Par contre, le dossier doit au préalable être créé sur le
client avant la restauration. Par exemple, si vous souhaitez restaurer les fichiers dans le répertoire
c:\bacula-restores, il faudra mettre la ligne suivante :
Where = /bacula-restores/
puis créer le répertoire manuellement sur le client.
✗
Automatisation des sauvegardes
La configuration de Bacula permet d' automatiser les sauvegardes. En effet, le fichier « baculadir.conf » contient les informations permettant d'exécuter les sauvegardes bacula à des moments
bien précis, spécifiés dans ce fichier. D'après le cahier des charges, nous souhaitons réaliser une
sauvegarde bacula des postes : " serveur " et " prey " de l'entreprise Alixen. D'autre part, le cahier
des charges spécifie la fréquence des sauvegardes pour ces postes, soit pour rappel :
SERVEUR :
1 sauvegarde totale tous les lundi à 00h01
1 sauvegarde incrémentale tous les jours du lundi au vendredi à 12h30
PREY :
1 sauvegarde totale 1 fois par semaine, le lundi matin à 6h00
1 sauvegarde incrémentale toutes les nuits du lundi au vendredi à 22h30
Ainsi, il est nécessaire de configurer le fichier « bacula-dir.conf » en lui spécifiant des objets
«Schedule» définissants des modèles de planification.
Par exemple, pour indiquer à bacula d'effectuer une sauvegarde complète du serveur « prey » une
fois par semaine le lundi à 6h00 du matin, la configuration est la suivante :
Schedule {
Name = "FullDailyCyclePrey"
Run = Level=Full Pool=Full-Pool-prey Monday at 6:00am
}
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
33 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
3) Installation et configuration de Bacula-web
Bacula-Web est un programme basé sur une interface web php, informant des résultats
obtenus après l'exécution des sauvegardes (nommées jobs). Il obtient ses informations par la base
de données « catalog », contenant toutes les informations des tâches effectuées avec Bacula.
A travers une belle interface graphique, bacula-web offre un résumé des sauvegardes, aussi bien
que des graphiques détaillés pour chaque action effectuée.
Voici un aperçu des possibilités de bacula-web :
Interface des sauvegardes réalisées par Bacula
Afin de mettre en place Bacula-web, il faut disposer d'un serveur web avec les fonctionnalités PHP
d'installées et configurées. De plus, Bacula-web requiert :
●
GD 2.x ou supérieur
Pear DB (http://pear.php.net/package/DB)
● MySQL ou PostgreSQL
● dbsize contrib (si utilisation de PostgreSQL)
Etant donné que Bacula requiert un serveur de basse de données, MySQL sera utilisé pour le bon
fonctionnement de bacula-web.
●
L'installation de Bacula-web reste assez simple. Il suffit de copier l'intégralité du répertoire,
contenu dans l'archive téléchargé, dans le dossier spécifique au serveur web, soit: /var/www/bacula.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
34 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
Une fois le dossier copié, il est nécessaire d'éditer un fichier de configuration situé dans le sous
dossier « configs » du répertoire bacula. Soit : configs/bacula.conf
Ce fichier permet de configurer plusieurs paramètres, tels que :
●
●
●
●
●
●
Le nom de la fenêtre principale du serveur,
Le nom du répertoire accueillant Bacula-web,
Le mode de vue : détaillé ou simple
Le langage,
Le serveur de bases de données ainsi que le login et le mot de passe de l'utilisateur autorisé à s'y
connecter,
La base de données bacula ainsi que le type de la base (MySQL, PostgreSQL,...)
Une fois le fichier bien renseigné, on peut procéder au tests de fonctionnement de Bacula-web, en
ouvrant un navigateur et en tapant l'adresse du serveur web composé du répertoire bacula web
définit dans le fichier de configuration, puis comprenant la page 'test.php' permettant de tester
Bacula-web. Soit : http://backup_serveur/bacula/test.php
Si tout fonctionne correctement, un texte de confirmation de la présence des utilitaires nécessaires
s'affiche :
Checking system for dependencies...
Checking gettext: YES
Language support enabled
Checking Pear(DB): YES
Pear DB enabled
Checking GD: YES
GD support enabled
Please, click the link below to test your graph system capabilities (Bacula-web only use PNG): Test
On peut ensuite tester le bon fonctionnement de phplot, qui permet de réaliser les graphiques, en
cliquant sur le lien 'test' situé à la fin du texte. Une nouvelle page affichant plusieurs exemples de
graphiques apparaît, confirmant ainsi que phplot est bien installé et configuré.
Après avoir effectué plusieurs sauvegardes avec Bacula, on peut donc accéder à Bacula-web pour
visualiser les détails des sauvegardes, en accédant à la page recensant toutes les informations des
sauvegardes :http://backup_serveur/bacula/index.php
4) Étude de la volumétrie des données et de la bande passante
Afin de pouvoir visualiser l'état du réseau lors des opérations de sauvegardes, j'ai mis en place
un script permettant d'étudier l'état de la bande passante. Cette étude fut réaliser grâce au
programme nommé " IPtraf ".
" IPtraf " est un outil de monitoring réseau. Il permet, par exemple de surveiller l'activité sur une
interface. Iptraf propose une interface accessible via la console accessible en tapant la commande :
IPtraf.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
35 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
Interface du programme " Iptraf "
Le script réalisé exécute Iptraf et stocke les informations dans un fichier de logs permettant ainsi de
visualiser la consommation de la bande passante lors des diverses sauvegardes et tout
particulièrement lors du rapatriement des données avec rsync.
5) Mise en place des scripts de sauvegarde « rsync »
" rsync " est un outil qui permet de transférer des fichiers d'un poste à un autre. Ainsi, on peut
réaliser des sauvegardes complètes ou de façon incrémentale, c'est-à-dire qu'il ne copie que les
nouveautés.
Étant donné que le cahier des charges précise que les postes situés sur la zone Internet ne sont pas
sauvegardés via Bacula, une stratégie de sauvegarde à été mis en place en utilisant le programme
'rsync'. C'est pourquoi j'ai réalisé le script rsync afin de rapatrier les données de ces postes.
Ce script rsync contient les informations de connexions au serveur ainsi que les répertoires exclus
de la sauvegarde. De plus, il contient des informations concernant les fichiers de logs créés.
Les scripts réalisés sont disponibles en annexes. (Scripts Iptraf et Rsync)
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
36 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Erreur ! Source du renvoi introuvable.
Alixen
6) Sauvegarde des données du réseau interne
Les données du réseau interne seront envoyés sur un des postes de la zone Internet via
«rsync» par l'intermédiaire d'un script.
Le procédé est le même que celui utilisé pour récupérer les données des postes de la zone Internet,
sauf que l'utilitaire " rsync " sera utilisé pour envoyer les fichiers vers le poste cible.
Le choix du poste c'est porté sur " NetAlixen ", possédant un espace disque disponible et de taille
suffisante pour l'accueil des données. Le script réalisé envoie les données souhaitées, dans notre cas
: " les sauvegardes de serveur et de prey réalisées avec Bacula ", afin d'assurer une tranquillité en
cas de perte des données situées sur le serveur de sauvegardes.
Le script réalisé est disponible en annexes. (Script send_backup)
7) Sauvegarde sur lecteur de bandes
Un lecteur de bandes a été mis en place afin de stocker une partie des données sauvegardées
sur un média amovible et transportable. Cette précaution fut prise afin de prévoir une sauvegarde
des données en cas de destruction ou défaillance matérielle ou par simple protection contre un
incendie.
Le lecteur de bandes est directement configuré dans Bacula, notamment dans le fichier
/etc/bacula/bacula-sd,conf, représentant les espaces de stockages spécifiés. Dans notre cas, il a
fallu spécifier les caractéristiques du lecteur de bande telles que :
# A Linux or Solaris tape drive
Device {
Name = DDS-3
Media Type = DDS-3
Archive Device = /dev/nst0
# no-rewind device
AutomaticMount = yes;
# when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
# Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d"
# Changer Device = /dev/sg0
# AutoChanger = yes
# Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
}
La configuration du lecteur de bandes, nommé DDS-3, permet entre autre de spécifier un autochargeur, grâce aux paramètres "Changer Device, Changer Command et AutoChanger =
yes". Dans notre cas, ces lignes sont commentées car nous ne disposons pas de chargeur
automatique pour bandes.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
37 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Enfin, la configuration de ce lecteur doit aussi apparaître dans le fichier /etc/bacula/baculadir.conf afin que le programme de stockage de Bacula sache ou stocker les sauvegardes.
Voici la configuration du fichier /etc/bacula/bacula-dir.conf :
Storage {
Name = DDS-3
Address = morgoth
SDPort = 9103
Password = ""
Device = DDS-3
Media Type = DDS-3
}
# N.B. Use a fully qualified name here
Le lecteur de bandes permet de sauvegarder les postes "prey" et "serveur" à la demande, sur un
média amovible, qui sera stocké de préférence dans un endroit différent.de celui ou fut réalisées les
sauvegardes. Ainsi, l'administrateur peut effectuer des sauvegardes sur bandes quand il le souhaite.
V – Conclusion
Mon stage se conclut après six mois au sein de la SSLL Alixen, chargée de déployer des
solutions à base de logiciels libres. L'importance des données de l'entreprise à provoqué une remise
en question sur le bon fonctionnement des sauvegardes et l'automatisation des celles-ci. Mon rôle
fut donc de rechercher la solution la plus appropriée sans avoir de cahier des charges strict.
La première phase de ce projet m'a permis d'étudier les différentes solutions logicielles et
matérielles de sauvegarde m'apportant ainsi une plus grande acquisition de connaissances dans ce
domaine très vaste et important pour un administrateur.
Grâce à ce projet, mes connaissances dans le monde du logiciel libre ont été augmentées, compreant
entre autre :
✔
✔
✔
✔
✔
les principales commandes sous Linux (tar, cpio, dump, restore, etc...)
utilisation d'un lecteur de bande sous Linux (commande mt)
l'intégralité du logiciel Bacula (installation, configuration, utilisation)
l'approfondissement du shell script
l'approfondissement du langage perl
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
38 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Le projet réalisé au sein de l’entreprise ALIXEN m'a permis de découvrir plus en détails le monde
du logiciel libre. Cette étude permettra à l'entreprise d'acquérir une solution plus performante dans
la réalisation de ses sauvegardes de données. Pour ce qui est de l'avenir du projet, il reste totalement
évolutif, due en partie à l'intégration du disque dur avec Lvm. L'entreprise pourra à tout moment
ajouter un ou plusieurs disques durs sans perturber le système de sauvegardes. De plus, ce projet
pourra être mis à disposition des clients, permettant aussi de définir la solution logicielle la plus
appropriée aux besoins.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
39 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Annexes
Fichier de configuration du directeur de Bacula : /etc/bacula/bacula-dir,conf
# Default Bacula Director Configuration file
#
Director {
Name = morgoth-dir
DIRport = 9101
QueryFile = "/etc/bacula/scripts/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/var/run/bacula"
Maximum Concurrent Jobs = 1
Password = ""
Messages = Daemon
}
JobDefs {
Name = "Backup_serveur_in_files"
Type = Backup
Level = Full
Client = serveur-fd
FileSet = "Full Set serveur"
Schedule = "DailyCycleServeur"
Storage = File serveur
Messages = Standard
Pool = Full-Pool-serveur,Incr-Pool-serveur
Full Backup Pool = Full-Pool-serveur
Incremental Backup Pool = Incr-Pool-serveur
Priority = 10
}
JobDefs {
Name = "Backup_serveur_with_DDS"
Type = Backup
Level = Full
Client = serveur-fd
FileSet = "Full Set serveur"
Storage = DDS-3
Messages = Standard
Pool = Pool-DDS-serveur
Priority = 10
}
JobDefs {
Name = "Backup_Catalog"
Type = Backup
Level = Full
Client = morgoth-fd
FileSet = "Catalog"
Schedule = "DailyCycleCatalog"
Storage = File Catalog
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
40 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Pool = Pool-Catalog
# This creates an ASCII copy of the catalog
RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup"
# This deletes the copy of the catalog
RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup"
Write Bootstrap = "/var/lib/bacula/BackupCatalog.bsr"
Messages = Standard
Priority = 11
# run after main backup
}
Job {
Name = "Backup_Catalog"
JobDefs = "Backup_Catalog"
}
Job {
Name = "Backup_serveur_in_files"
JobDefs = "Backup_serveur_in_files"
Write Bootstrap = "/var/lib/bacula/serveur.bsr"
}
Job {
Name = "Backup_serveur_with_DDS"
JobDefs = "Backup_serveur_with_DDS"
Write Bootstrap = "/var/lib/bacula/serveur-dds.bsr"
}
Job {
Name = "Restore_serveur_with_files"
Type = Restore
Client=serveur-fd
FileSet="Full Set serveur"
Storage = File serveur
Pool = Full-Pool-serveur
Messages = Standard
Where = /tmp/bacula-restores
}
Job {
Name = "Restore_serveur_with_DDS"
Type = Restore
Client=serveur-fd
FileSet="Full Set serveur"
Storage = DDS-3
Pool = Pool-DDS-serveur
Messages = Standard
Where = /tmp/bacula-restores
}
# List of files to be backed up
FileSet {
Name = "Full Set serveur"
Include {
Options {
signature = MD5
}
File = /home
File = /commun
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
41 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
File = /etc
File = /usr
File = /var
}
# If you backup the root directory, the following two excluded
#
files can be useful
Exclude {
File = /home/clargeau/recompense
File = /commun/alixen/fun
File = /commun/database
File = /commun/news
File = /var/rsync-antologic
File = /proc
File = /tmp
File = /.journal
File = /.fsck
}
}
# Sauvegarde total tous les jours du lundi au vendredi
# à 22h00
Schedule {
Name = "DailyCycleServeur"
Run = Level=Full Pool=Full-Pool-serveur Monday
Run = Level=Incremental Pool=Incr-Pool-serveur
Run = Level=Incremental Pool=Incr-Pool-serveur
Run = Level=Incremental Pool=Incr-Pool-serveur
Run = Level=Incremental Pool=Incr-Pool-serveur
Run = Level=Incremental Pool=Incr-Pool-serveur
Run = Level=Incremental Pool=Incr-Pool-serveur
Run = Level=Incremental Pool=Incr-Pool-serveur
Run = Level=Incremental Pool=Incr-Pool-serveur
Run = Level=Incremental Pool=Incr-Pool-serveur
Run = Level=Incremental Pool=Incr-Pool-serveur
}
Schedule {
Name = "DailyCyclePrey"
Run = Level=Full Pool=Full-Pool-prey Monday
Run = Level=Incremental Pool=Incr-Pool-prey
Run = Level=Incremental Pool=Incr-Pool-prey
Run = Level=Incremental Pool=Incr-Pool-prey
Run = Level=Incremental Pool=Incr-Pool-prey
Run = Level=Incremental Pool=Incr-Pool-prey
}
Schedule {
Name = "DailyCycleCatalog"
Run = Level=Full Pool=Pool-Catalog
Run = Level=Full Pool=Pool-Catalog
Run = Level=Full Pool=Pool-Catalog
Run = Level=Full Pool=Pool-Catalog
Run = Level=Full Pool=Pool-Catalog
}
at 0:01pm
Monday at 12:30am
Monday at 9:30pm
Tuesday at 12:30am
Tuesday at 9:30pm
Wednesday at 12:30am
Wednesday at 9:30pm
Thursday at 12:30am
Thursday at 9:30pm
Friday at 12:30am
Friday at 9:30pm
at 6:00am
Monday at 10:30pm
Tuesday at 10:30pm
Wednesday at 10:30pm
Thursday at 10:30pm
Friday at 10:30pm
Monday at 11:30pm
Tuesday at 11:30pm
Wednesday at 11:30pm
Thursday at 11:30pm
Friday at 11:30pm
# This is the backup of the catalog
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
42 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
FileSet {
Name = "Catalog"
Include {
Options {
signature = MD5
}
File = /var/lib/bacula/bacula.sql
}
}
# Client (File Services) to backup
Client {
Name = serveur-fd
Address = serveur
FDPort = 9102
Catalog = MyCatalog
Password = ""
# password for FileDaemon
File Retention = 30 days
# 30 days
Job Retention = 6 months
# six months
AutoPrune = yes
# Prune expired Jobs/Files
}
Client {
Name = prey-fd
Address = prey
FDPort = 9102
Catalog = MyCatalog
Password = ""
# password for FileDaemon
File Retention = 30 days
# 30 days
Job Retention = 6 months
# six months
AutoPrune = yes
# Prune expired Jobs/Files
}
Client {
Name = morgoth-fd
Address = morgoth
FDPort = 9102
Catalog = MyCatalog
Password = ""
# password for FileDaemon
File Retention = 30 days
# 30 days
Job Retention = 6 months
# six months
AutoPrune = yes
}
# Definiton of file storage device
Storage {
Name = File prey
# Do not use "localhost" here
Address = morgoth
# N.B. Use a fully qualified name here
SDPort = 9103
Password = ""
Device = Storage_prey
Media Type = File
}
Storage {
Name = File Catalog
# Do not use "localhost" here
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
43 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Address = morgoth
SDPort = 9103
Password = ""
Device = Storage_catalog
Media Type = File
# N.B. Use a fully qualified name here
}
Storage {
Name = File serveur
# Do not use "localhost" here
Address = morgoth
SDPort = 9103
Password = ""
Device = Storage_serveur
Media Type = File
}
Storage {
Name = DDS-3
# Do not use "localhost" here
Address = morgoth
SDPort = 9103
Password = ""
Device = DDS-3
Media Type = DDS-3
}
# N.B. Use a fully qualified name here
# N.B. Use a fully qualified name here
# Generic catalog service
Catalog {
Name = MyCatalog
dbname = bacula; DB Address = localhost; user = bacula; password = ""
}
# Reasonable message delivery -- send most everything to email address
# and to the console
Messages {
Name = Standard
mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s
\"Bacula: %t %e of %c %l\" %r"
operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s
\"Bacula: Intervention needed for %j\" %r"
mail = [email protected] = all, !skipped
operator = [email protected] = mount
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
}
# Message delivery for daemon messages (no job).
Messages {
Name = Daemon
mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s
\"Bacula daemon message\" %r"
mail = [email protected] = all, !skipped
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
}
# Pools definition
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
44 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Pool {
Name = Full-Pool-serveur
Pool Type = Backup
Recycle = yes
# automatically recycle Volumes
AutoPrune = yes
# Prune expired volumes
Volume Retention = 1 month
Accept Any Volume = yes # write on any volume in the pool
Maximum Volume Jobs = 5
Label Format = Full_Backup_serveur# Maximum Volumes = 6
Maximum Volume Bytes = 1000000000
}
Pool {
Name = Pool-Catalog
Pool Type = Backup
Recycle = yes
# automatically recycle Volumes
AutoPrune = yes
# Prune expired volumes
Volume Retention = 2 months
Accept Any Volume = yes # write on any volume in the pool
Maximum Volume Jobs = 5
Label Format = Full-Catalog}
Pool {
Name = Full-Pool-prey
Pool Type = Backup
Recycle = yes
# automatically recycle Volumes
AutoPrune = yes
# Prune expired volumes
Volume Retention = 1 month
Accept Any Volume = yes # write on any volume in the pool
Maximum Volume Jobs = 5
Label Format = Full_Backup_prey# Maximum Volumes = 6
Maximum Volume Bytes = 1000000000
}
Pool {
Name = Incr-Pool-serveur
Pool Type = Backup
Recycle = yes
# automatically recycle Volumes
AutoPrune = yes
# Prune expired volumes
Volume Retention = 2 days
Accept Any Volume = yes
Maximum Volume Jobs = 2
Label Format = Inc_Backup_serveur# Maximum Volumes = 5
Maximum Volume Bytes = 1000000000
}
Pool {
Name = Incr-Pool-prey
Pool Type = Backup
Recycle = yes
# automatically recycle Volumes
AutoPrune = yes
# Prune expired volumes
Volume Retention = 2 days
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
45 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Accept Any Volume = yes
Maximum Volume Jobs = 2
Label Format = Inc_Backup_prey# Maximum Volumes = 5
Maximum Volume Bytes = 1000000000
}
Pool {
Name = Pool-DDS-serveur
Pool Type = Backup
Recycle = no
# no recycle Volumes
AutoPrune = no
# no prune expired volumes
Volume Retention = 1 month
Accept Any Volume = yes
Label Format = Backup-DDS-serveur}
Pool {
Name = Pool-DDS-prey
Pool Type = Backup
Recycle = no
# no recycle Volumes
AutoPrune = no
# no prune expired volumes
Volume Retention = 1 month
Accept Any Volume = yes
Label Format = Backup-DDS-prey}
JobDefs {
Name = "Backup_prey_in_files"
Type = Backup
Level = Full
Client = prey-fd
FileSet = "Full Set prey"
Schedule = "DailyCyclePrey"
Storage = File prey
Messages = Standard
Pool = Full-Pool-prey,Incr-Pool-prey
Full Backup Pool = Full-Pool-prey
Incremental Backup Pool = Incr-Pool-prey
Priority = 10
}
Job {
Name = "Backup_prey_in_files"
JobDefs = "Backup_prey_in_files"
Write Bootstrap = "/var/lib/bacula/prey.bsr"
}
Job {
Name = "Restore_prey_with_files"
Type = Restore
Client= prey-fd
FileSet= "Full Set prey"
Storage = File prey
Pool = Full-Pool-prey
Messages = Standard
Where = /tmp/bacula-restores
}
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
46 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
JobDefs {
Name = "Backup_prey_with_DDS"
Type = Backup
Level = Full
Client = prey-fd
FileSet = "Full Set prey"
Storage = DDS-3
Messages = Standard
Pool = Pool-DDS-prey
Priority = 10
}
Job {
Name = "Backup_prey_with_DDS"
JobDefs = "Backup_prey_with_DDS"
Write Bootstrap = "/var/lib/bacula/prey-dds.bsr"
}
Job {
Name = "Restore_prey_with_DDS"
Type = Restore
Client= prey-fd
FileSet= "Full Set prey"
Storage = DDS-3
Pool = Pool-DDS-prey
Messages = Standard
Where = /tmp/bacula-restores
}
FileSet {
Name = "Full Set prey"
Include {
Options {
signature = MD5
}
File = /etc
File = /var
}
Exclude {
File = /proc
File = /tmp
File = /.journal
File = /.fsck
}
}
# Restricted console used by tray-monitor to get the status of the director
#
Console {
Name = morgoth-mon
Password = ""
CommandACL = status, .status
}
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
47 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Fichier de configuration FilerDaemon de Bacula : /etc/bacula/bacula-fd,conf
# Default Bacula File Daemon Configuration file
Director {
Name = morgoth-dir
Password = ""
}
#
# Restricted Director, used by tray-monitor to get the status of the file daemon
#
Director {
Name = morgoth-mon
Password = ""
Monitor = yes
}
#
# "Global" File daemon configuration specifications
#
FileDaemon {
# this is me
Name = morgoth-fd
FDport = 9102
# where we listen for the director
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 20
}
# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = morgoth-dir = all, !skipped
}
Fichier de configuration StorageDaemon de Bacula : /etc/bacula/bacula-sd,conf
# Default Bacula Storage Daemon Configuration file
Storage {
# definition of myself
Name = morgoth-sd
SDPort = 9103
# Director's port
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run/bacula"
Maximum Concurrent Jobs = 20
}
# List Directors who are permitted to contact Storage daemon
Director {
Name = morgoth-dir
Password = ""
}
# Restricted Director, used by tray-monitor to get the tatus of the storage
daemon
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
48 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Director {
Name = morgoth-mon
Password = ""
Monitor = yes
}
# Devices supported by this Storage daemon
# To connect, the Director's bacula-dir.conf must have the
# same Name and MediaType.
Device {
Name = Storage_serveur
Media Type = File
Archive Device = /mnt/lvm-bacula/serveur
LabelMedia = yes;
# lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes;
# when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
Maximum Job Spool Size = 50000
Maximum Spool Size = 5000
}
Device {
Name = Storage_prey
Media Type = File
Archive Device = /mnt/lvm-bacula/prey
LabelMedia = yes;
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}
Device {
Name = Storage_catalog
Media Type = File
Archive Device = /mnt/lvm-bacula/catalog
LabelMedia = yes;
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}
# A Linux or Solaris tape drive
Device {
Name = DDS-3
Media Type = DDS-3
Archive Device = /dev/nst0
AutomaticMount = yes;
# when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
## Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d"
## Changer Device = /dev/sg0
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
49 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
## AutoChanger = yes
## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
}
# Send all messages to the Director,
# mount messages also are sent to the email address
#
Messages {
Name = Standard
director = morgoth-dir = all
}
Fichier de configuration de la console de Bacula : /etc/bacula/bconsole,conf
#
# Bacula User Agent (or Console) Configuration File
#
Director {
Name = morgoth-dir
DIRport = 9101
address = morgoth
Password = ""
}
Script "rsync "de sauvegarde des données du serveur NetAlixen (Script Rsync)
#!/bin/sh
cd /backups/net-alixen
rsync
--numeric-ids -rlptgoDuv --password-file=/root/.rsync-net-alixen \
--delete \
--exclude=/proc \
--exclude=/lost+found \
--exclude=/home/ftp-sauvegarde \
--exclude=/home/mioga2org/www/download/snapshots/Mioga2-daily-svn-* \
[email protected]::backupant /backups/net-alixen \
> /var/log/backups/backup-antologic.log.`date +\%Y.\%m.\%d` 2>&1
gzip /var/log/backups/backup-antologic.log.`date +\%Y.\%m.\%d`
Script "perl "d'analyse du temps d'exécution de rsync et d'IPtraf (Script Iptraf)
#!/usr/bin/perl -w
my $date = `date +%d-%m-%Y`;
chomp $date;
my $file = "/var/log/backups/rsync-antologic-$date.log";
open(FD, ">>$file") || die "Impossible d'ouvrir (en écriture) le fichier\n";
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
50 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
print FD "Début de la sauvegarde : ".`date +\%d.\%m.\%Y`."";
print FD "".`date +\%H:\%M`."\n";
$date = `date +%d-%m-%Y`;
chomp $date;
system("/usr/sbin/iptraf -d eth0 -L /var/log/backups/iptraf-antologic-$date.log
-t 360 -B") == 0
or die "system iptraf failed\n";
system("/root/scripts_backup_rsync/backup-antologic.sh");
print FD "Fin de la sauvegarde : ".`date +\%d.\%m.\%Y`."";
print FD "".`date +\%H:\%M`."\n";
close(FD) || die "Impossible de fermer le fichier";
# on arrête iptraf lorsque rsync est terminé
my $pid = `ps ax|grep iptraf|head -1`;
chomp $pid;
$pid =~ s/^\s+(\d+).*$/$1/;
print "Processus à killer : $pid\n";
system("kill -USR2 $pid");
Script "bash "d'envois des données sur postes distants (Script send_backup)
#!/bin/sh
# Script d'envois des dossiers /etc et /var du serveur vers NetAlixen
rsync --numeric-ids -alprogtDuv \
--delete /etc [email protected]::module_ect/etc \
--password-file=/root/password-backupant \
> /var/log/send-rsync-serveur.`date +\%Y.\%m.\%d`.log
rsync --numeric-ids -rlptgoDuv --delete /var \
[email protected]::module_var/var \
--password-file=/root/password-backupant \
>> /var/log/send-rsync-serveur.`date +\%Y.\%m.\%d`.log 2>&1
gzip /var/log/send-rsync-serveur.`date +\%Y.\%m.\%d`.log
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
51 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Glossaire
Définition des termes employés dans ce mémoire.
Linux : Linux est un noyau de système d'exploitation de type UNIX, qui a pour logo Tux, un
manchot. C'est probablement l'exemple le plus connu de développement de logiciel libre. Le noyau
Linux a été créé par Linus Torvalds et un grand nombre de développeurs bénévoles. Il est publié
sous la licence des logiciels libres GNU GPL.
Logiciel libre / Open source : L'expression Open Source caractérise les logiciels dont le code
source est visible, modifiable et librement redistribuable sous certaines conditions, ces conditions
peuvent être plus ou moins strictes. La formulation de ces conditions constitue d'ailleurs le critère
principal qui différencie le logiciel open source du logiciel libre.
SSLL : Une Société de services en logiciels libres est une société de services en ingénierie
informatique spécialisée dans la réalisation de projets informatiques basés sur des logiciels libres.
En abrégé SSLL ou SS2L.
Extranet : Réseau privé, accessible aux partenaires de l'entreprise moyennant une identification
(Systèmes d'informations)
Pixel : Le pixel ou point est l'unité de base d'une image numérique. Son nom provient de
l'expression anglaise picture element, c'est-à-dire, « élément d'image »
Script : Un script est un (souvent petit) programme écrit dans un langage interprété. Les scripts sont
traduits en langage machine au fur et à mesure de leur exécution. Ils sont en général plus lents à
exécuter, mais aussi plus faciles à écrire. Les langages utilisés pour écrire un script sont (liste non
exhaustive) : bash, perl, php, python... ...
Licence logicielle : Contrat définissant les droits d'utilisation ou d'exploitation accordés à un tiers
(le licencié) par les ayants droit d'un logiciel. Ce contrat peut définir notamment les conditions de
fourniture (ex. : avec ou sans le code source), d'installation (ex. : nombre d'exemplaires),
d'utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution,
adaptation, rediffusion), et les conditions de garantie.
Switch : En informatique, un switch ou commutateur est un dispositif électronique servant de
commutateur réseau et permettant de créer un réseau informatique local de type ethernet. Ce
dispositif est dit intelligent par opposition au hub car, alors que ce dernier fait transiter les données
par toutes les machines, le switch permet de diriger les données uniquement vers la machine
destinataire.
Rsync : rsync est un programme informatique permettant de synchroniser des données d' un
répertoire à un autre, tout en minimisant le transfert des données.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
52 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
Dump : Un dump est une copie des données d'une base de données dans un simple fichier. Grâce à
lui, il est alors possible de restaurer une base de données,
Crontab : Crontab est le nom du programme Unix qui permet d'éditer la table de configuration du
programme cron. Cron est le nom d'un programme qui permet aux utilisateurs des systèmes Unix
d'exécuter automatiquement des commandes ou des scripts à une date et une heure spécifiées à
l'avance.
Octet : Un octet est une unité de mesure en informatique mesurant la quantité de données. Un octet
est lui-même composé de 8 bits, soit 8 chiffres binaires. Unités de mesure :Octet, Kilo-octet, Mégaoctet, Giga-octet, Tera-octet, Peta-octet...
Backup : Procédure de sauvegarde d'un ensemble de données informatiques sur un autre support
que celui où elles se trouvent déjà (d'un disque dur vers une disquette, etc...)
NFS : (Network File System) système permettant de donner accès aux fichiers d'un ordinateur
éloigné comme s'il s'agissait d'un disque local.
Samba : Samba est un logiciel libre sous licence GPL supportant le protocole SMB/CIFS. Ce
protocole est employé par Microsoft pour le partage de diverses ressources (fichiers, imprimantes,
etc.) entre ordinateurs équipés de Windows. Samba permet aux systèmes Unix d'accéder aux
ressources de ces systèmes et vice-versa.
Tar : tar (de l'anglais tape archive, littéralement « archive sur bande ») est l'outil d'archivage de
fichiers standard de UNIX. On appelle parfois le fichier d'archivage créé un tarball.
SSH : Secure SHell : Protocole sécurisé de communication entre machines sur un réseau.
RSH : RSH (Remote Shell) permet d'exécuter une simple commande sur un ordinateur distant sans
avoir à s'authentifier sur celui ci.
Perl : Langage de programmation très pratique pour la manipulation de textes et fichiers. Très
souvent utilisé par des serveurs pour envoyer aux clients des informations dynamiques (ces pages
sont identifiables par leur suffixe ".pl")
Daemon : Daemon vient de "Disk And Extension MONitor" !Il s'agit d'un programme qui tourne en
tâche de fond, sous les systèmes UNIX, en attendant un évènement pour lui.
Afio : Autre outil de sauvegarde identique à 'Tar'
Gzip / Bzip2 : Gzip, pour GNU zip, et Bzip version 2, sont des logiciels libres, utilitaires de
compression, qui ont été créés pour remplacer le programme compress d'Unix
dd : dd est un utilitaire UNIX permettant de convertir et de copier un fichier
LVM : Le Logical Volume Manager est un sous-système pour la gestion du stockage des données
sur les disques. En clair, il se glisse entre les périphériques et l'interface d'entrée/sortie du noyau.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
53 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.
Alixen
Erreur ! Source du renvoi introuvable.
LVM permet de considérer plusieurs disques physiques comme un seul groupe de volumes
constitués de volumes physiques (disques). Dans ce groupe de volumes, il est possible de créer un
ou plusieurs volumes logiques. Ceux-ci sont considérés par le système comme des partitions
classiques où il est possible de créer un système de fichiers ou une zone de swap. Il faut bien
comprendre que la barrière des unités de base (disque) disparaît. Il est ainsi possible de créer un
seul volume logique à partir de plusieurs disques de manière plus élégante qu'avec RAID car les
groupes et les volumes logiques peuvent être alloués à loisir.
RAID : En informatique, le terme de RAID (Redundant Array of Independent/Inexpensive Disks,
c'est-à-dire un groupe de disques redondants et indépendants/bon marché) désigne une architecture
matérielle (et parfois logicielle) permettant d'accélérer, de sécuriser et/ou de fiabiliser les accès aux
données stockées sur disques durs.
SCSI : (Small Computer Systems Interface) : Interface de système pour petits ordinateurs : Norme
pour la connexion de périphériques (disques durs ou systèmes de sauvegarde sur bande) et de leurs
contrôleurs à un microprocesseur. L'interface SCSI définit à la fois des normes matérielles et
logicielles pour la communication entre un ordinateur hôte et un périphérique. Les ordinateurs et
périphériques répondant aux spécifications SCSI offrent un haut degré de compatibilité. Interface
offrant la possibilité de connecter jusqu'à sept périphériques en chaîne.
IDE : (Integrated Drive Electronics), type de connexion utilisée par les disques durs, les lecteurs de
CD ou de DVD-ROM, etc...
Fstab : fstab ( file systems table) est un fichier spécifique aux systèmes UNIX et prenant partie
intégrante de la configuration de celui ci, Ce fichier liste tous les disques utilisés ainsi que les
partitions du système, Il définit aussi comment ils doivent être utilisés.
ReiserFS : ReiserFS est le nom d'un système de fichiers conçu et développé par Hans Reiser. Il est
principalement utilisé par GNU/Linux. Mais il est peut être utilisé par d'autres systèmes
d'exploitation. Il fut le premier système de fichiers journalisés à être intégré en standard dans le
noyau Linux (à la version 2.4.1).
Shell : Un interpréteur de commandes, souvent aussi désigné par l'anglicisme shell, est un logiciel
faisant partie des composants de base d'un système d'exploitation, dont le rôle est de traiter des
lignes de commande tapées au clavier. Ces commandes, une fois traitées, interprétées, auront pour
effet de réaliser telle ou telle tâche d'administration, ou bien de lancer l'exécution d'un autre
logiciel.
Logs : En informatique, le concept d'historique des événements ou de logging désigne
l'enregistrement séquentiel dans un fichier ou une base de données de tous les événements affectant
un processus particulier (application, activité d'un réseau informatique...). Le fichier log, ou plus
simplement, le log, désigne alors le fichier contenant ces enregistrements.
Erreur ! Source du
renvoi introuvable. Erreur ! Source du
renvoi introuvable.
04/09/2006
54 / 54
Ce document est la propriété d'ALIXEN et ne peut être reproduit sous quelques formes que ce soit sans son autorisation écrite.

Documents pareils