Sauvegardes et Restauration
L'objectif de ce TP est à la fois de manipuler les outils de sauvegarde et restauration de données standards sous Unix mais aussi de vous faire prendre conscience de l'importance de la documentation de ce que vous faites.
Mise en place
Notez la date et l'heure courante.
Tout casser !
Après vous être assuré que vous avez bien conservé les notes et
procédures vous permettant de refaire le travail de tous les TPs
précédents supprimez votre environnement de TP complètement (vos 3
machines moniteur
, poste1
et poste2
).
Tout repréparer !
Avec l'outil de votre choix (vagrant
ou vmiut=/=virtualbox
), créez
maintenant une infrastructure avec les 4 machines suivantes :
moniteur
accessible via une adresse IP dont le dernier octet est10
poste1
accessible via une adresse IP dont le dernier octet est21
poste2
accessible via une adresse IP dont le dernier octet est22
backup
accessible via une adresse IP dont le dernier octet est30
et qui doit avoir 2 disques- un pour le système
- un autre accessible via le dossier
/srv
et qui doit avoir une taille au moins 2 fois plus grosse que la taille du disque principal des autres postes.
Si vous utilisez Vagrant une box Vagrant contenant une machine avec un disque principale de 20 Go et un disque secondaire de 50 Go est disponible dans
/home/public/vm/r5b08-tp04.box
. Pour pouvoir l'ajouter à la liste des box Vagrant disponibles vous devez utiliser la commande suivante :vagrant box add --name r5b08/tp04 /home/public/vm/r5b08-tp04.box
La box sera alors utilisable dans votre
Vagrantfile
sous le nomr5b08/tp04
.Si vous utilisez
vmiut
(donc VirtualBox) vous pourrez créer et attacher un tel disque après avoir créer votre machine soit via l'interface graphique devirtualbox
soit via la commandevboxmanage
. Dans ce cas assurez-vous juste de placer ce disque dans le dossier de votre machine virtuelle (quelque part sous/usr/local/virtual_machine/infoetu/LOGIN
).
Dans tous les cas vos 4 machines doivent :
- être accessibles via ssh en tant que
root
depuis votre machine physique avec un appel à ssh suivi uniquement de leur nom (par exemplessh moniteur
doit vous connecter directement sur le moniteur en tant queroot
) - être reconnues par leur nom depuis chacun des autres postes
virtuels (par exemple depuis
backup
un appel àping moniteur
doit répondre correctement).
Par ailleurs
- assurez-vous que les paquets suivants soient bien installés sur
tous les postes :
dump
qui permet d'accéder aux commandesdump
etrestore
rsync
bzip2
- assurez que depuis
backup
vous soyez capable de vous connecter en tant queroot
viassh
sur les 3 autres postes
Notez l'heure courante et déterminer le temps que vous avez pris pour mettre en place cet infrastructure.
Sauvegarde incrémentale avec dump
et restore
Lisez les pages dump(8)
et restore(8)
.
Sauvegarde complète
Depuis backup
, à l'aide de ssh
, dump
et bzip2
faites une
sauvegarde complète (niveau 0) de la racine du disque (/
) de
moniteur
dans le fichier /srv/dump/moniteur.0.bz2
Remise en place de SNMP
Remettez en place Net-SNMP sur votre infrastructure dans l'état atteint en fin de TP 03. Pour mémoire :
- sur
moniteur
les outils clientssnmp
et les MIBS doivent être installés et accessibles ; - sur
poste1
etposte2
l'agentsnmpd
doit être installé et correctement configuré.
Pour vérifier que votre installation fonctionne correctement, depuis
moniteur
vérifiez que la commande suivante vous affiche bien le nom
du poste1 : snmpget -v 2c -c lecture poste1 sysName.0
Première sauvegarde incrémentale
Depuis backup
, à l'aide de ssh
, dump
et bzip2
faites une
sauvegarde incrémentale de niveau 1 de la racine du disque de
moniteur
dans le fichier /srv/dump/moniteur.1.bz2
.
Comparez la taille des fichiers que vous avez créé dans /srv/dump
.
Simuler une perte de données
Pour simuler une perte de données sur moniteur
supprimez y le
contenu complet de /usr/share/snmp
.
Vérifiez que la commande snmpget
précédente ne fonctionne plus.
Restauration
Depuis backup
, à l'aide de ssh
, bzip2
et restore
faites une
restauration des fichiers perdus sur moniteur
.
Vérifiez sur moniteur
que tout est rentré dans l'ordre et que la
commande snmpget
refonctionne correctement.
Restauration complète avec dump
et restore
Installation d'un service
En suivant les procédures qui vous sont attribuées dans le fichier
/home/infoens/bruno.beaufils/r5b08/tp-04/tp-04-attribution
installez
les services dont l'installation est décrite.
Seconde sauvegarde incrémentale
Depuis backup
, à l'aide de ssh
, dump
et bzip2
faites une
sauvegarde incrémentale de niveau 2 de la racine du disque de
moniteur
dans le fichier /srv/dump/moniteur.1.bz2
.
Comparez la taille des fichiers que vous avez crée dans /srv/dump
.
Restauration complète
Ajoutez temporairement un second disque sur moniteur
de la même
taille que le disque principal et rendez son contenu accessible via le
dossier /mnt
.
Depuis backup
, à l'aide de ssh
, bzip2
et restore
faites une
restauration totale sur moniteur
dans /mnt
. Cette restauration
doit inclure le système, votre configuration de snmp et du service que
vous avez installé (Cacti ou Icinga).
Comment avez-vous fait ?
Vérifiez que la restauration est bien complète en utilisant chroot
pour utiliser le contenu de /mnt
comme racine pour vos commandes et
en testant la commande snmpget
.
Restauration sur une machine neuve
Vous avez réussi à restaurer intégralement l'état de votre moniteur sur un disque. Vous devriez donc être capable de reconstruire complètement une nouvelle machine en cas de perte complète de la machine. Nous allons simuler cette perte.
Après avoir détruit votre machine moniteur
reconstruisez en une
nouvelle vierge.
Depuis backup
, à l'aide de ssh
, bzip2
et restore
faites une
restauration des fichiers des sauvegardes de niveau 1 puis 2 sur
moniteur
.
Est-ce que la machine moniteur
est dans le même état qu'avant sa
destruction ?
Sauvegarde/Restauration de fichiers avec rsync
Lisez la page rsync(1)
.
Sauvegarde de configuration
Assurez-vous que vous avez bien un serveur apache2
et un agent
snmpd
fonctionnels sur poste1
.
Depuis poste1
, à l'aide de rsync
faites une copie de l'intégralité
des fichiers de /etc/
sur backup
dans le dossier
/srv/rsync/poste1.1/
Notez l'espace disque utilisé par /srv/rsync
sur backup
.
Modification de configuration
Sur poste1
modifiez la configuration de l'agent snmp de façon à ce
qu'il utilise le mot modifié
pour une communauté autorisée à
utiliser les requêtes GET
et GETNEXT
.
Normalement vous n'avez modifié que le fichier /etc/snmp/snmpd.conf
.
Vérifiez sur moniteur
que la commande snmpget
fonctionne
bien avec la nouvelle communauté.
Restauration de la configuration initiale
De façon à annuler votre dernière modification et en utilisant la
copie des fichiers que vous avez placé sur backup
dans
/srv/rsync/poste1.1
récupérez le fichier de configuration de l'agent
snmp
de poste1
pour retrouver sa configuration avant votre
dernière modification.
Comment avez-vous fait ?
Suppression d'un service sur poste1
Supprimez complètement le service apache2
et sa configuration de
poste1
.
Sauvegarde du nouvel état
Après avoir bien étudié les options --delete
et --link-dest
de
rsync
, refaites une copie de l'intégralité des fichiers de /etc/
sur backup
dans le dossier /srv/rsync/poste1.2/
en vous assurant
que :
- les fichiers supprimés (la configuration d'apache2) ne soient pas copiés ;
- que les autres fichiers ne soient copiés que s'ils ne sont pas déjà
présents dans
/srv/rsync/poste1.1
; - que les fichiers déjà présents dans
/srv/rsync/poste1.1
soient placés dans/src/rsync/poste1.2
comme liens physiques.
Comparez l'espace disque utilisé par /srv/rsync
sur backup
et
celui que vous aviez noté précédemment.