La sauvegarde du système d’information est fondamentale dans l’hypothèse où pour quelques raisons que ce soit, à la suite d’une perte des données, il doit être possible de restaurer celles-ci dans un état cohérent.
- Les unités de sauvegarde de la Délégation
- Les sauvegardes réalisées
- Configuration amanda
- Exemple : la configuration de andersen
- Restauration
- Le programme amrecover
- Une alternative le programme amrestore
- Une alternative quand on a plus rien
- Consulter les rapports de sauvegarde
- Rapport envoyé par email
- Rapport graphique
- Les lendemains de jours fériés
- Références
Les unités de sauvegarde de la Délégation
| Machine | Unité | Capacité | vendeur | modèle | révision | notes |
| marot | DDS3 | 12:24Go | ARCHIVE | Python 04106-XXX | 715G | unité HS |
| voltaire | DDS4 | 20:40Go | HP | C5683A | C111 | |
| Andersen | DDS4 | 20:40Go | HP | C5683A | C005 | interne |
| Kafka | DDS4 | 20:40Go | HP | C5683A | C111 | externe |
| Malraux | DDS ? | HP | C1537A | L005 | |
| Rousseau | DDS3 | 12:24Go | | | | |
| ancien Obelix | DLT | 20:40Go | QUANTUM | DLT4000 | C050 | |
| Obelix | DLT | 35:70Go | | | | |
| Chimedsrv | Travan | | | | | |
| Andersen | LTO | 200:400Go | HP | Ultrium 2-SCSI | S24D | externe transtec |
L’intégralité des sauvegardes des serveurs Unix et des serveurs des laboratoires se fait désormais sur l’unité LTO d’andersen.
Andersen est en fedora 4, il est nécessaire de corriger les fichiers devices du lecteur pour s’assurer des droits d’écriture du groupe disk auquel appartient l’usager amanda.
/etc/udev/rules.d/50-udev.rules
KERNEL=="st*", GROUP="disk", MODE="0660"
KERNEL=="nst*", GROUP="disk", MODE="0660"
aisni lors des reboots les droits seront fixés ainsi :
[root@andersen ~]# ls -al /dev/st1*
crw-rw-r-- 1 root disk 9, 1 déc 27 13:20 /dev/st1
crw-rw-r-- 1 root disk 9, 97 déc 27 13:20 /dev/st1a
crw-rw-r-- 1 root disk 9, 33 déc 27 13:20 /dev/st1l
crw-rw-r-- 1 root disk 9, 65 déc 27 13:20 /dev/st1m
[root@andersen ~]# ls -al /dev/nst1*
crw-rw-r-- 1 root disk 9, 129 déc 27 13:20 /dev/nst1
crw-rw-r-- 1 root disk 9, 225 déc 27 13:20 /dev/nst1a
crw-rw-r-- 1 root disk 9, 161 déc 27 13:20 /dev/nst1l
crw-rw-r-- 1 root disk 9, 193 déc 27 13:20 /dev/nst1m
Les sauvegardes réalisées
- Machines Internes
- Voltaire
- sand
- kafka
- camus
- ionesco (répertoire /etc )
- Machines externes :
- teledec.regard.cnrs.fr (Unix)
- rafid.regards.cnrs.fr (SMB)
- guanare.regards.cnrs.fr (SMB)
- restaurant (SMB)
Configuration amanda
la configuration de andersen
- La configuration utilisée pour les sauvegardes journalières est : LTO-Sauve.
- les fichiers de conf sont donc dans le rép : /etc/amanda/LTO-Sauve/
Les données à sauvegarder sont définies par le fichier disklist
que l’on peut modifier à tout moment pour ajouter ou supprimer des stations à sauvegarder ou ne plus sauvegarder
Le cycle des sauvegarde est défini par amanda.conf :
dumpcycle 1 weeks # the number of days in the normal dump cycle
runspercycle 5 days # the number of amdump runs in dumpcycle days
tapecycle 10 tapes # the number of tapes in rotation
- pour les cassettes : 10
- pour les sauvegardes : 1 semaine de 5 jours
Restauration
Le programme amrecover.
Une façon de restaurer des fichiers avec amanda est d’utiliser le programme amrecover sur le client.
en étant root lancer le programme amrecover qui utilise la base d’index :
Exemple : restaurer le fichier /web/www.reger.cnrs.fr/html/sommaire.php3 sur la partition /web du serveur sand.dr15.cnrs.fr
[root@andersen tmp]# amrecover LTO-Sauve
AMRECOVER Version 2.4.4p2. Contacting server on localhost ...
220 andersen AMANDA index server (2.4.4p2) ready.
200 Access OK
Setting restore date to today (2005-04-20)
200 Working date set to 2005-04-20.
Scanning /data/amanda...
200 Config set to Journalier.
501 Host andersen.dr15.cnrs.fr is not in your disklist.
Trying host andersen.dr15.cnrs.fr ...
501 Host andersen.dr15.cnrs.fr is not in your disklist.
Trying host andersen ...
501 Host andersen is not in your disklist.
Petite erreur que l’on fixe en positionnant le host (ici la machine sand) :
amrecover> sethost sand.dr15.cnrs.fr
200 Dump host set to sand.dr15.cnrs.fr.
amrecover>
On peut lister les disques sauvegardés :
amrecover> listdisk
200- List of disk for host sand.dr15.cnrs.fr
201- /web
201- /var/spool/mail
201- /data
200 List of disk for host sand.dr15.cnrs.fr
amrecover>
Selon le fichier à restaurer on se positionne sur un disque (ici /web) :
amrecover> setdisk /web
200 Disk set to /web.
amrecovamrecover> pwd
/web
amrecover>
il est possible de lister et de changer de répertoire de facon classique :
amrecover> ls
2005-04-19 .
2005-04-19 clas-chize.dr15.cnrs.fr/
2005-04-19 doc.dr15.cnrs.fr/
2005-04-19 labwall.dr15.cnrs.fr/
2005-04-19 logs/
2005-04-18 lost+found/
2005-04-18 pterosaure.dr15.cnrs.fr/
2005-04-18 spip_loader.php3
2005-04-18 test1.dr15.cnrs.fr/
2005-04-18 test2.dr15.cnrs.fr/
2005-04-18 test3.dr15.cnrs.fr/
2005-04-18 webalizer/
2005-04-18 www.ades.cnrs.fr.ANCIEN/
2005-04-19 www.ades.cnrs.fr/
2005-04-18 www.bibtame.cnrs.fr/
2005-04-19 www.biomemb.cnrs.fr/
2005-04-19 www.cecoji.cnrs.fr/
2005-04-19 www.clas-bordeaux.cnrs.fr/
2005-04-19 www.clas-poitiers.cnrs.fr/
2005-04-19 www.exobio.cnrs.fr/
2005-04-19 www.iker.cnrs.fr/
2005-04-19 www.ipgq.u-bordeaux1.fr/
2005-04-18 www.pacea.u-bordeaux1.fr/
2005-04-19 www.palar.cnrs.fr/
2005-04-19 www.regards.cnrs.fr/
2005-04-19 www.reger.cnrs.fr/
amrecover>
amrecover> cd www.reger.cnrs.fr
amrecover> cd html
/web/www.reger.cnrs.fr/html
On ajoute le fichier à restaurer :
amrecover> add sommaire.php3
Added /www.reger.cnrs.fr/html/sommaire.php3
amrecover>
et on procéde à la restauration :
amrecover> extract
Extracting files using tape drive /dev/nst1 on host localhost.
The following tapes are needed: Andersen-DAT-Ext-Journalier09
Restoring files into directory /tmp
Continue [?/Y/n]? Y
Extracting files using tape drive /dev/nst1 on host localhost.
Load tape Andersen-DAT-Ext-Journalier09 now
Continue [?/Y/n/s/t]? n
etcoetera...
Une alternative le programme amrestore.
Auparavant il est nécessaire de regarder l’état des sauvegarde pour cela on utilise le programme amadmin exemple :
[root@andersen tmp]# amadmin LTO-Sauve find teledec.regards.cnrs.fr Scanning /data/amanda...
Scanning /data/amanda...
date host disk lv tape or file file status
2005-04-06 teledec.regards.cnrs.fr / 1 Andersen-DAT-Ext-Journalier01 5 OK
2005-04-07 teledec.regards.cnrs.fr / 1 Andersen-DAT-Ext-Journalier02 3 OK
2005-04-08 teledec.regards.cnrs.fr / 1 Andersen-DAT-Ext-Journalier03 7 OK
2005-04-11 teledec.regards.cnrs.fr / 1 Andersen-DAT-Ext-Journalier04 4 OK
2005-04-12 teledec.regards.cnrs.fr / 0 Andersen-DAT-Ext-Journalier05 10 OK
2005-04-13 teledec.regards.cnrs.fr / 1 Andersen-DAT-Ext-Journalier06 5 OK
2005-04-14 teledec.regards.cnrs.fr / 1 Andersen-DAT-Ext-Journalier07 3 OK
2005-04-15 teledec.regards.cnrs.fr / 1 Andersen-DAT-Ext-Journalier08 4 OK
2005-04-18 teledec.regards.cnrs.fr / 1 Andersen-DAT-Ext-Journalier09 3 OK
2005-04-19 teledec.regards.cnrs.fr / 0 Andersen-DAT-Ext-Journalier10 10 OK
2005-04-06 teledec.regards.cnrs.fr /disque2 0 Andersen-DAT-Ext-Journalier01 9 OK
2005-04-07 teledec.regards.cnrs.fr /disque2 1 Andersen-DAT-Ext-Journalier02 6 OK
2005-04-08 teledec.regards.cnrs.fr /disque2 1 Andersen-DAT-Ext-Journalier03 3 OK
2005-04-11 teledec.regards.cnrs.fr /disque2 1 Andersen-DAT-Ext-Journalier04 7 OK
2005-04-12 teledec.regards.cnrs.fr /disque2 1 Andersen-DAT-Ext-Journalier05 8 OK
2005-04-13 teledec.regards.cnrs.fr /disque2 0 Andersen-DAT-Ext-Journalier06 10 OK
2005-04-14 teledec.regards.cnrs.fr /disque2 1 Andersen-DAT-Ext-Journalier07 6 OK
2005-04-15 teledec.regards.cnrs.fr /disque2 1 Andersen-DAT-Ext-Journalier08 7 OK
2005-04-18 teledec.regards.cnrs.fr /disque2 1 Andersen-DAT-Ext-Journalier09 7 OK
2005-04-19 teledec.regards.cnrs.fr /disque2 1 Andersen-DAT-Ext-Journalier10 8 OK
[root@andersen tmp]#
le scan du disque "holding" /data/amanda est juste pour voir si des images de sauvegardes sont restés sur le disque.
Si c’est le cas il indique les dates.
Puis vient les dates des sauvegardes, le niveau, la bande utilisée, et le résultat de la sauvegarde.
On place la bande qui nous interresse puis :
[root@andersen tmp]# amrestore -p /dev/nst1 sand.dr15.cnrs.fr | restore -ivf -
Verify tape and initialize maps
Input is from a local file/pipe
amrestore: 0: skipping start of tape: date 20050406 label Andersen-DAT-Ext-Journalier01
amrestore: 1: skipping localhost.__147.210.132.31_erafid.20050406.0
amrestore: 2: restoring sand.dr15.cnrs.fr._web.20050406.1
Input block size is 32
Dump date: Wed Apr 6 22:32:17 2005
Dumped from: Mon Apr 4 23:02:18 2005
Level 1 dump of /web on sand.dr15.cnrs.fr:/dev/sdb1
Label: /web
Extract directories from tape
Initialize symbol table.
restore >
on entre automagiquement dans le programme restore en interactif : avec les commandes habituelles :
Une alternative quand on a plus rien
Si la machine n’est plus utilisable (perte de la base d’index etc...)
On peut travailler la restauration à la mano.
La structure d’une bande est assez simple :
- cette entête contient la date de sauvegarde et le numéro de k7 :
AMANDA : TAPESTART DATE 20050406 TAPE Andersen-DAT-Ext-Journalier01
- ensuite vient chaque volume sauvegardé dont le début contient :
- la date de la sauvegarde
- le système sauvegardé
- le niveau de sauvegarde
- le programme de sauvegarde
- les commandes pour effectuer une restauration
exemple :
AMANDA: FILE 20050406 localhost //147.210.132.31/erafid lev 0 comp .gz program /usr/bin/smbclient
To restore, position tape at start of file and run:
dd if=<tape> bs=32k skip=1 | /usr/bin/gzip -dc | usr/bin/smbclient -f...
Consulter les rapports de sauvegarde :
Rapport envoyé par email
* Le nom de la dernière bande utilisée et la prochaine à à utiliser.
These dumps were to tape Andersen-DAT-Ext-Journalier10.
The next tape Amanda expects to use is: Andersen-DAT-Ext-Journalier01.
des statistiques diverses et variées : durée de la sauvegarde : 16 minutes, une taille des données sauvegardées de 5Go etc...
STATISTICS:
Total Full Daily
-------- -------- --------
Estimate Time (hrs:min) 0:04
Run Time (hrs:min) 1:47
Dump Time (hrs:min) 1:42 1:33 0:09
Output Size (meg) 5043.7 4523.9 519.8
Original Size (meg) 5255.7 4523.9 731.8
Avg Compressed Size (%) 44.7 -- 44.7 (level:#disks ...)
Filesystems Dumped 10 1 9 (1:8 2:1)
Avg Dump Rate (k/s) 842.8 827.0 1010.8
Tape Time (hrs:min) 1:36 1:33 0:02
Tape Size (meg) 5043.7 4523.9 519.8
Tape Used (%) 29.6 26.6 3.1 (level:#disks ...)
Filesystems Taped 10 1 9 (1:8 2:1)
Avg Tp Write Rate (k/s) 900.3 827.0 3951.8
USAGE BY TAPE:
Label Time Size % Nb
Andersen-DAT-Ext-Journalier10 1:36 5043.7 29.6 10
enfin le rapport partition par partition : niveau de sauvegarde, taille, etc...
DUMP SUMMARY:
DUMPER STATS TAPER STATS
HOSTNAME DISK L ORIG-KB OUT-KB COMP% MMM:SS KB/s MMM:SS KB/s
-------------------------- --------------------------------- ------------
localhost -9/DATAXLAB 1 5836 926 15.9 0:14 65.0 0:01 786.1
localhost -.31/erafid 1 1147 518 45.2 0:02 280.7 0:04 142.9
localhost -.56/mysql4 1 0 2 -- 0:01 0.9 0:02 1.1
localhost -132.56/www 1 0 13 -- 0:32 0.4 0:01 8.8
localhost -1/FireBird 1 385902 174317 45.2 5:26 534.0 1:112465.0
sand.dr15.cn /data 2 113530 113530 -- 0:225081.8 0:148008.7
sand.dr15.cn -spool/mail 1 33200 33200 -- 0:191712.4 0:083945.6
sand.dr15.cn /web 1 151470 151470 -- 0:275713.6 0:198030.4
teledec.rega / 0 46324804632480 -- 93:22 827.0 93:22 827.0
teledec.rega /disque2 1 58270 58270 -- 1:23 700.0 0:144054.7
(brought to you by Amanda version 2.4.4p2)
Il est possible d’établir un rapport à la demande avec la commande amstatus
Rapport graphique
Il est possible d’établir un graphique de compte rendu de la sauvegarde avec la commande amplot qui utilise gnuplot. Exemple d’un rapport :

Les lendemains de jours de fête
Il peut arriver que la cassette insérée ne soit pas correcte, ou simplement à cause des congés, jours fériés, et coetera... La sauvegarde sur la bande n’ ait pas été effectuée.
Dans ce cas le jour de la sauvegarde, amanda procéde tout de même dans la mesure du possible à la copie des données sur le disque tampon (Holding).
Dans cette situation il est possible (et nécessaire) d’écrire la K7 avec les données stockées sur le disque tampon.
Pour cela introduire la bonne K7 dans la séquence, et utiliser le programme amflush.
Dorénavant il est possible de parametrer le flush automatique en ajoutant autoflush yes au fichier amanda.conf
Références :
http://www.amanda.org
Auteur : Jean-Noel.Chardron@dr15.cnrs.fr