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.