Académique Documents
Professionnel Documents
Culture Documents
1. Notre objectif.
Pour atteindre cet objectif, nous allons utiliser «BackupPC ». Il s'agit d'un logiciel libre développé
depuis 2001 par Craig Barratt en licence GPL et actuellement en version 3.3.0.
Une interface « web » permettant une administration pratique et distante de la solution, sans
sacrifier particulièrement la quantité d'options et de configurations disponibles.
◦ Les possibilités sont larges depuis la vérification du statut du serveur, à l'ajout d'hôtes à
sauvegarder, la visualisation des journaux, la restauration et la navigation dans les
données sauvegardées...
◦ La solution n'intègre pas de serveur Web mais fonctionne parfaitement avec Apache
( configuré automatiquement à l'installation du paquet sous Debian/Ubuntu)
• Des optimisations de l'espace disque pris par les sauvegardes : compression des fichiers,
liens matériels pour les fichiers identiques d'une même machine ou de plusieurs machines.
• Aucun logiciel client n'est nécessaire, BackupPC utilise des protocoles natifs au système
d'exploitation client ( SSH, TAR, RSYNC, SMB – Samba est installé avec BackupPC pour
permettre la sauvegarde des partages réseaux Windows -, FTP...)
La sauvegarde complète consiste à réaliser l’intégralité de la sauvegarde prévue. Tout les dossiers,
fichiers couverts par la sauvegarde vont être sauvegardés. Ce type de sauvegarde ne prends pas en
compte les sauvegardes précédemment réalisées et est très consommateur en espace disque ( taille
de l'intégralité des répertoires et fichiers – gain de compression ~40 % ) De plus, le volume de
données sauvegardées étant important, une sauvegarde complète peut être longue et générer des
accès disque importants ( d’où la pratique de la réaliser durant la nuit...). Il est possible de définir
dans BackupPC l'intervalle de ces sauvegardes complètes (souvent hebdomadaire, mais cela diffère
selon les politiques de sauvegardes) et leur nombre maximal sur le disque.
La sauvegarde incrémentale.
La comparaison, selon le protocole utilisé peut se baser uniquement sur la dernière date de
modification ( Samba, FTP) ou encore avec rsync sur le changement des attributs d'un fichier
( userid, groupid, dernière modification, taille...).
La sauvegarde partielle.
En cas de défaut de sauvegarde ( perte de connexion, erreurs...) les fichiers sauvegardés sont
conservés et peuvent être consultés / restaurés comme toute sauvegarde et constituent donc une
sauvegarde « partielle ». Ils peuvent servir de base pour reprendre la sauvegarde complète avec
rsync.
Si les données stockées d'un utilisateur pour ses loisirs personnels ne sont pas d'une grande
incidence sur sa vie en cas de perte, celles d'une entreprise peuvent être autrement plus stratégiques,
voire se chiffrer en millions d'euros en cas de perte de données.
Une solution de sauvegarde sur disque comme BackupPC est donc un premier pilier pour effectuer
la sauvegarde, à renforcer par l'utilisation de techniques de RAID pour palier à l’éventuelle
défaillance d'un disque. Sauvegarder les sauvegardes elle même par le réseau ou sur supports
externes ( bandes magnétiques, DVD) s'avère judicieux pour sécuriser d'autant plus les données en
cas d'incident majeur sur le site. Votre serveur de sauvegarde tout neuf avec RAID5 peut paraître à
l'épreuve de toute défaillance, mais aussi « minime » que soit le risque, un incendie fera disparaître
toutes les données stockées sur le site... en fumée.
Puis apt-get install backuppc qui installera backuppc, mais aussi apache2 ( si non déjà installé), et
samba, ainsi que l’intégralité des dépendances.
Apt propose l'autoconfiguration d'apache2 pour backuppc, ce que nous allons valider.
L'installation de backuppc ajoute un utilisateur au système : backuppc, utilisateur par défaut pour
l'interface web.
Notez bien le mot de passe proposé ici, ou la commande de changement de mot de passe :
htpasswd /etc/backuppc/htpasswd backuppc
Profitons en pour modifier tout de suite le mot de passe généré aléatoirement pour le compte
BackupPC.
Avant d'accéder à l'interface, nous allons prendre connaissance ( cette manipulation est possible via
l'interface graphique ) du fichier de configuration textuel, dispensable mais intéressant pour la
somme de commentaires sur tout les paramètres que nous retrouverons dans l'interface.
Direction Firefox ou un autre navigateur web à foire pointer sur http://ipduserveur/backuppc, qui
nous demande identifiant et mot de passe.
6. Configuration de BackupPC
Avant de mettre en place nos sauvegardes, nous allons vérifier la configuration générale de notre
outil de sauvegarde. Pour ce faire, nous allons nous rendre dans le menu serveur sur la gauche
puis / modifier la configuration.
Le premier onglet affiche la liste des machines à sauvegarder. Nous pouvons constater que seule
une machine est (pré)configurée, c'est le localhost ou l'hôte locale, la machine sur laquelle est
installée notre solution de sauvegarde.
Vous remarquerez que devant la densité de l'interface, presque toutes les options sont cliquables
pour arriver sur le manuel ou l'aide de backuppc.
Xfer est la partie ou se trouve la configuration par défaut de la méthode de transfert : quel protocole,
quel dossier à inclure / exclure, l'utilisateur à employer.
C'est la configuration qui sera appliquée lors de l'ajout d'un nouvel « hôte » ou nouvelle machine à
sauvegarder.
Nous reviendrons sur ce menu plus tard, lors de la configuration des sauvegardes de nos machines.
La partie CGI concerne la configuration avancée de l'interface graphique. Nous n'y toucherons pas,
sauf pour changer le langage si nécessaire.
Le menu « paramètre de sauvegarde » propose des options avancées pour la sauvegarde. Parmi
elles :
• PingMaxMsec est la valeur maximale du « round trop time » entre le serveur et la machine à
sauvegarder. Cette valeur sert à détecter la proximité de la machine pour établir la
sauvegarde dans des conditions optimales. ( et ainsi éviter de lancer une sauvegarde très
lente sur une machine en mobilité connectée via un réseau WAN)
• Compress level distingue la compression effectuée sur les fichiers sauvegardés.
◦ La valeur peut aller de 0 à 9.
◦ 0 signifie : pas de compression.
◦ 1 signifie que la compression minimale est activée, mais utilise un minimum de
ressources CPU.
◦ 9 signifie que la compression est maximale mais la charge sur le cpu va être très
importante.
◦ La valeur recommandée pour une compression correcte sans dévorer les ressources
processeur, particulièrement pour réaliser plusieurs sauvegardes simultanées sur un
système non dédié à la sauvegarde est 3.
• Full Period détermine le nombre de jour entre chaque sauvegarde complète. Avec un
paramètre Full Period à 6,97 le sauvegardes auront donc lieu tout les 7 jours, car 7>6,97 !
• FullKeepCntMin est le nombre minimum de sauvegardes dont nous disposons sur le disque.
• FullAgeMax est l'âge maximal ( 90 jours par défaut ) de la dernière sauvegarde. Une
sauvegarde de 91 jours sera donc supprimée, sauf si elle est la seule sauvegarde. Dans ce
cas, le FullKeepCntMin empêchera la suppression de la sauvegarde.
• IncrFill : cocher la case permet de voir les sauvegardes incrémentales comme des
sauvegardes complètes, pour peu que l'on utilise légèrement plus d'espace disque.
• Le blackout est donc actif de 7h du matin à 19h30 du lundi au vendredi. Vous remarquerez
que cela correspond aux horaires de travail. Les sauvegardes sont des phénomènes
nocturnes !
Pour l'exemple, nous allons créer un partage nommé Testsauvegarde pour partager en réseau le
répertoire Testsauvegarde du bureau de l'utilisateur Olivier qui contient un fichier d'une
présentation Powerpoint. ( Vous suivez?)
Puis nous allons configurer le partage. Les partages existants sont normaux, ils s'agit des partages
administratifs ( possiblement désactivés selon les machines ).
Clic droit + nouveau partage dans la fenêtre de droite pour arriver ici :
Nous allons définir les autorisations du partage pour autoriser un contrôle total aux administrateurs,
et la lecture seulement aux utilisateurs.
Un rapide tour du coté des paramètres IP de la machine pour noter l'adresse IP qui sera utile plus
tard.
Parfait !
Maintenant, on peut planifier la sauvegarde, retour à l'interface de BackupPC, pour aller « modifier
les machines » à sauvegarder.
Voici notre point de départ : seule notre machine localhost est présente ( et sa configuration pour
Nous allons ajouter une machine à sauvegarder : notre poste de travail Windows.
Ici, nous allons donc préparer la sauvegarde de la machine à l'adresse IP 192.168.1.71 , par
l'utilisateur backuppc. Puis sauvegarder (sinon les modifications seront perdues) :
Une fois entré dans le menu de sauvegarde de 192.168.1.71, dirigeons nous vers « modifier la
configuration ( qui est celle par défaut pour l'instant)
C'est la méthode SMB qui va être retenue, en effet, nous allons utiliser Samba pour se connecter à
un partage Windows et récupérer les fichiers à sauvegarder.
• Le nom du partage à sauvegarder sur cette machine est bien notre partage Testsauvegarde.
• Pour y accéder, il nous faut utiliser le compte des administrateurs, ici Olivier fait partie des
administrateurs.
Sauvegarde terminée !
Pour accéder aux fichiers sauvegardés nous allons dans « explorer les sauvegardes ».
Et l'on retrouve bien le contenu du répertoire testsauvegarde.
Restaurer un fichier/Dossier.
• Restaurer directement le fichier sur la machine ( ce qui écrasera le fichier existant... à moins
d'envoyer la restauration vers un autre partage.
• Télécharger une archive ZIP pour la transmettre à l'utilisateur.
• Télécharger une archive Tar. ( pas de compression)
•
Bien entendu, maintenant nous pouvons affiner notre sauvegarde. Sauvegarder tout c : n'est pas plus
compliqué que de sauvegarder la partage avec le nom c$, si les partages administratifs sont activés.
De plus, pour cette machine spécifiquement, nous pouvons aller spécifier des paramètres horaires
particulier, un nombre de sauvegardes complètes/incrémentales particulières, et ainsi de suite, vous
avez compris le principe !
Direction Redmine pour quelques petits défis, en demande dans la partie projet SIO1 !
La suite à venir : la sauvegarde de serveurs Linux ( pas beaucoup plus complexe, mais faisant
appel à SSH...)