Pour le moment, les sauvegardes à bande représentent le
moyen le plus économique d'archiver de grosses quantités
de données.
Plusieurs standards d'interface se côtoient : le SCSI, l'IDE
et le contrôleur de disquette.
Personnellement je préfère la première solution,
l'interface SCSI. Il est vrai que cela nécessite parfois l'achat
d'un contrôleur, mais pour une sauvegarde, une vieille carte SCSI
sur bus ISA suffit amplement.
L'IDE est surtout moins universel que le standard SCSI. Le contrôleur
disquette est limité question débit et commence un peu à
"vieillir".
Pour simplifier la sauvegarde/restauration de données,
plusieurs programmes sont utilisables sous Linux / E-Smith. En voici 3
: Flexbackup, Taper et Kbackup, cette liste bien sûr n'est pas exhaustive.
Voici donc la description de la mise en pratique sur du standard SCSI2
avec Flexbackup, qui constitue un "front end" écrit en Perl aux
divers programmes de gestion des sauvegardes à bande sous Linux.
Pour plus de renseignements reportez vous à la documentation incluse
dans le rpm.
Sauvegarde SCSI-2 HP SureStore Tape 6000i-C1533A d'occasion : il s'agit
d'une sauvegarde à bande *DDS2 de 4 Go (8 Go en moyenne par une
compression hardware des données). Les cartouches DAT représentent
une solution pérenne dans le temps, elles sont très répandues
et peu onéreuses à l'achat. Par contre ce type de lecteur
dispose d'une mécanique assez sophistiquée, il est
par conséquent plutôt cher en neuf, vous pouvez trouver de
bonnes affaires en occasion.
La carte contrôleur SCSI 2 est une Adaptec AHA1520A sur bus ISA.
Paramètrage des cavaliers de cette carte de façon à
ne pas créer de conflits. (i/o et irq)
Test du fonctionnement de la carte et détection de la sauvegarde
à bande, si tout va bien les modules doivent répondre quelque
chose comme cela :
modprobe aha152x
aha152x: BIOS test: passed, auto configuration: ok, detected 1
controller(s)
aha152x0: vital data: PORTBASE=0x340, IRQ=10, SCSI ID=7, reconnect=disabled,
parity=enabled, synchronous=disabled, delay=100, extended translation=disabled
aha152x: trying software interrupt, ok.
scsi0 : Adaptec 152x SCSI driver; $Revision: 1.7 $
scsi : 1 host.
Vendor: HP Model:
C1533A
Rev: 9608
Type: Sequential-Access
ANSI SCSI revision: 02 |
modprobe st
st: bufsize 32768, wrt 30720, max buffers 5, s/g segs 16.
Detected scsi tape st0 at scsi0, channel 0, id 3, lun 0 |
Pour automatiser le chargement de ces 2 modules insérer par exmple
ces commandes dans /etc/rc.d/rc.local
La partie "soft" avec Flexbackup |
Installez ces RPM par la commande habituelle : rpm -ivh
nom.rpm
afio-2.4.5-2.i386.rpm
buffer-1.19-1.i386.rpm
dump-0.4b20-1.i386.rpm
rsh-0.10-25.i386.rpm
flexbackup-0.9.8-1.noarch.rpm
Vous n'êtes pas obligé d'installer remote shell, nécessaire
pour sauvegarder les disques de machines distantes. Il suffira de rajouter
nodep à la commande rpm. (rpm -ivh --nodeps flexbackup-0.9.8-1.noarch.rpm)
Ne pas oublier que les diverses documentations seront consultables
à /usr/doc/nom du rpm.
Paramètrage
Tout ce passe dans /etc/flexbackup.conf
Effectuer une sauvegarde de test
Remarques : Toutes les commandes mt se référent au périphérique
à bande (/dev/nxxxx), pensez à utiliser le bon nom en fonction
de votre matériel.
Tout d'abord si vous disposez de bandes usagées, il est préférable
de les effacer au préalable par les commandes :
mt -f /dev/nst0 rewind (pour rembobiner)
mt -f /dev/nst0 erase
Cette opération est très longue, parfois plusieurs heures
(2h10mn pour le SureStore Tape 6000i et une bande de 120 mètres)
Sinon pour une bande neuve ou fraichement effacée, la première
opération à réaliser sera d'effectuer :
flexbackup -newtape
Cette commande aura pour effet de créer l'index nécessaire
pour la gestion des différentes sauvegardes sur cette bande. Aucune
erreur ne doit être reportée.
Tester le bon fonctionnement du système de sauvegarde avec les
commandes suivantes et une bande fraichement indexée :
-
flexbackup -fs /home/e-smith/files/users/new_user pour
sauvegarder le répertoire de l'utilisateur new_user par exemple.
-
mt -f /dev/nst0 fsf 1 pour positionner la bande sur
la première sauvegarde (à la fin de l'index).
-
placez vous dans un répertoire de test (à effacer par la
suite) exécutez : flexbackup -extract
-
vérifiez la concordance des 2 répertoires avec la commande
:
diff -r /quelquechose/test /home/e-smith/files/users/new_user
Tout doit fonctionner parfaitement, n'oubliez pas que les sauvegardes à
bande sont très lentes ... donc patience.
Lors de certaines opérations, notamment lorsque vous effacez
une bande, le serveur peut devenir complètement indisponible.
Effacer une bande
Notez le "tape index" que revoie la commande flexbackup -toc
et faites ensuite :
flexbackup -toc <tape index> -delete
Vous voilà reparti avec une bande vide possédant un index.
Sauvegarder le contenu du serveur, c'est à dire les diverses
données utilisateur seulement.
flexbackup -fs /home/e-smith/files
Vous sauvegardez ainsi :
-
la totalité des fichiers utilisateurs (/home/e-smith/files/users)
-
les i-bays (/home/e-smith/files/ibays) susceptibles de contenir un répertoire
partagé samba et divers sites web.
-
primary (/home/e-smith/files/primary)
Le type de l'archive sera plutôt afio.
Il faut penser également à sauvegarder à part,
sur un autre support, tous les rpm installés qui ne font pas partie
de la distribution originale, les customisations, flexbackup.conf, éventuellement
/etc/auto.misc et surtout le fichier /etc/passwd
Exemple de sortie console sous afio
Plusieurs sauvegardes par bande
Chaque fois que vous effectuez une commande flexbackup -fs
/chemin du répertoire à sauvegarder les "backups"
sont stockés à la suite.
Pour restaurer il faudra effectuer :
mt -f /dev/nst0 rewind (pour rembobiner)
mt -f /dev/nst0 fsf n (pour positionner avant restauration
avec n = 1 pour la première sauvegarde, n = 2 pour la deuxième,
etc ...)
flexbackup -extract (restaure la sauvegarde n dans
le répertoire par défaut)
Une seule sauvegarde par bande
flexbackup -fs /chemin du répertoire à sauvegarder
-erase (chaque nouvelle sauvegarde écrase la précédente)
Pour restaurer il faudra effectuer :
mt -f /dev/nst0 rewind (pour rembobiner si besoin
est)
mt -f /dev/nst0 fsf 1 (pour positionner la bande
sur la première sauvegarde)
flexbackup -extract (restaure la sauvegarde dans
le répertoire par défaut)
Restauration les données utilisateurs lors d'un scratch total
du serveur :
Il faut ré-installer le serveur, à l'identique. C'est
à dire non seulement installer la distribution E-Smith mais aussi
les add-on et les "customisations" s'il y a lieu, les paramètres
SMB, les groupes et les comptes utilisateurs, les ibays ... tout cela en
respectant un certain ordre. La chronologie est primordiale pour les créations
de comptes utilisateurs, des groupes et des ibays. Le contenu du fichier
/etc/passwd
d'avant le scratch est d'une aide inestimable, puisqu'il retrace chronologiquement
les créations de tout ces comptes (par les numéros). Sans
cela, vous risquez d'avoir de désagréables surprises !!!
Quand le serveur est à nouveau opérationnel et que, Flexbackup
est installé et paramètré, placez vous dans l'arborescence
(/home/e-smith/files) puis lancez la restauration.
Soyez patient, c'est exactement aussi long que pour la sauvegarde.
Pour sauvegarder la totalité du serveur :
Dans ce domaine il vaut mieux utiliser "dump" que "afio", pour cela
tapez la commande :
flexbackup -fs all -type dump
avec $filesystems[0] = '/ /boot'; dans le fichier
flexbackup.conf
Il serait souhaitable d'avoir noté quelque part les diverses
partitions du ou des disques, pour pouvoir effectivement les restaurer
plus tard.
Faites cat /proc/partitions pour visualiser ces informations.
Restauration de la totalité du serveur ... non testé.
Idée : créer une disquette amorçable spéciale
genre "mini distro" avec Flexbackup + modules nécessaires, recréer
les diverses partitions, restaurer ... voir documentation d'afio à
ce sujet ...
-
Suivant l'archiveur employé afio, cpio, dump ... le taux de transfert
varie.
-
L'auteur de Flexbackup recommande l'utilisation d'afio (voir documentations
de Flexbackup)
-
Avec mon matériel, j'ai rencontré des problèmes de
restauration en utilisant cpio ("blocs de junk" puis arrêt en cours
de restauration).
-
J'ai testé seulement afio, cpio et dump.
-
J'ai réellement : ré-installé à la distribution
E-Smith sur mon serveur perso (6 utilisateurs, 3 ibays 1.8Go de données),
lancé la sauvegarde dans /home/e-smith/files et j'ai retrouvé
celui-ci à l'identique (j'avais 2 jeux de sauvegardes, la sauvegarde
cpio a foiré, celle avec afio a fonctionné)
-
Suivant la fréquence des sauvegardes, prévoyez de temps à
autre de nettoyer le lecteur avec une cartouche spécialement prévue
à cet effet.
* DDS = Digital Data Storage, directement dérivé du format
audio-numérique DAT 4mm. Il existe plusieurs densités de
bandes avec une compatibilité descendante entre DDS3, DDS2 et
DDS1 ou DDS. |