Nous indiquons ici quelques pistes que nous avons utilisé ou envisagé.
Il est tout à fait possible d'expédier les fichiers sur une
machine linux ou OpenBSD et les faire sauvegarder par le système de
sauvegarde fonctionnant dans le monde linux ou windows.
Nous sommes partie sur l'idée que réinstaller le système
OpenBSD est relativement rapide et simple, sachant que nos serveurs sont
presque toujours mono application. Il restait donc à trouver une solution
pour sauvegarder les données et les fichiers de configuration.
- Pour les données la solution est de les compresser d'une façon
ou d'une autre et de les envoyer vers une autre machine (qui peut être
sous linux ou windows) ou vers un système de sauvegarde. Un plus (surtout
lorsque cela devient important) étant de faire de la sauvegarde incrémentale.
- Une condition obligatoire étant que la solution doit pouvoir être
fiable et simple à utiliser en cas de restauration.
- Pour les fichiers de configuration (par exemple les fichiers pf.conf, sshd_config,
rc.conf....) on voulait pouvoir les sauvegarder et les rappeler rapidement
en cas de restauration, mais aussi pouvoir les avoir sous la main rapidement
pour l'installation d'une nouvelle machine. Nous avons alors étudié
cvs comme méthode de sauvegarde.
Backup Exec:
Possédant déjà cet outil Veritas pour nos serveurs Windows,
nous avons tenté de l'utiliser pour notre nouvel OS. Il faut installer
l'émulation Linux, il n'existe
pas d'agent BE pour OpenBSD.
Utiliser tar pour sauvegarder
En fait on tar les fichiers que l'on souhaite sauvegarder et on les expédie
sur une autre machine. On peut sauvegarder les fichiers que l'on veut de cette
façon. Une fois les fichiers mis sous forme de point tar, on les expédie
en utilisant scp sur une autre machine. La contrainte
étant que cela doit se faire automatiquement.
L'avantage de cette méthode est de pouvoir remettre en place rapidement
les fichiers sauvegardés.
Les inconvénients de cette méthode sont nombreux.
- On ne peut pas faire de sauvegardes incrémentales.
- Il y a le risque de perdre les liens symboliques.
Utiliser make comme procédure de sauvegarde
Voir la documentation de
Robert Silve pour cela (en français)
Utiliser un serveur CVS pour sauvegarder vos fichiers de conf
Utiliser un serveur Rsync
Pour que cela fonctionne vous devez installer rsync que vous pouvez trouver
dans /usr/ports/net/rsync, avec un make && make install.
Puis échanger la clé publique de la machine distante avec
la machine_backup, pour cela faite un cat id_rsa.pub >> authorized_keys
du compte qui sera utilisé pour cette opération.
Voici une idée de petit script des plus simple pour cela.
date=$(date)
set -- $date
echo "***********************************************************************"
>
> /var/named/rsync.log
echo "Log rsync du $3$2$6" >> /var/named/rsync.log
/usr/local/bin/rsync -abrv -e ssh /var/named/ compte-backup@machine_backup:/var/sauveg
arde/mars/named >> /var/named/rsync.log
compte_backup doit être un compte sur la machine_backup. Il doit disposer
d'un shell pour cette opération ce qui peut rendre cela pas trop sécurisé.
La solution peut être de chrooter ssh : http://www.abreau.net/howto/openssh/openssh_chroot_howto.html
Utiliser les commandes dump - restore
La commande dump permet de gérer les sauvegardes. Elle de loin plus
intéressante que la commande tar, puisque vous pouvez avec
faire de la sauvegarde incrémentale.
La syntaxe est la suivante :
dump -0sfu 3600 /dev/rmt0 /dev/wd0a
(dump options Destination Source)
Vous allez sauvegarder la partition wd0a sur le système de sauvegarde
qui par défaut est en /dev/rmt0.
0-9 indique le niveau de sauvegarde. 0 pour une sauvegarde totale, les niveaux
de 1 à 9 sauvegardent les fichiers qui ont été modifiés
depuis la n iéme sauvegarde
s taille de la bande
a pour autosize: Ecrit jusqu'à atteindre la fin de "bande".
f fichier de sauvegarde. on peut indiquer une machine machine:fichier
u écriture de la date et du niveau de sauvegarde dans le fichier
/etc/dumpdates
Si on veut faire une sauvegarde totale du répertoire /etc dans un
fichier /tmp/sauve sur la machine locale, on peut passer la commande suivante
:
dump -0u -f /tmp/sauve /etc
root@buzet:/home:#> dump -0u -f /tmp/buzet.25jun /home/sympa/
DUMP: Ignoring u flag for subdir dump
DUMP: Dumping sub files/directories from /
DUMP: Dumping file/directory /home/sympa/
DUMP: Date of this level 0 dump: Tue Jun 25 16:22:49 2002
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/rsd0a (/) to /tmp/buzet.25jun
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 71569 tape blocks on 1.84 tape(s).
DUMP: Volume 1 started at: Tue Jun 25 16:22:56 2002
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: Closing /tmp/buzet.25jun
DUMP: Volume 1 completed at: Tue Jun 25 16:23:20 2002
DUMP: Volume 1 took 0:00:24
DUMP: Volume 1 transfer rate: 1597 KB/s
DUMP: Change Volumes: Mount volume #2
DUMP: Is the new volume mounted and ready to go?: ("yes" or "no") yes
DUMP: Volume 2 started at: Tue Jun 25 16:23:44 2002
DUMP: Volume 2 begins with blocks from inode 1206516
DUMP: 67970 tape blocks on 2 volumes
DUMP: Volume 2 completed at: Tue Jun 25 16:24:07 2002
DUMP: Volume 2 took 0:00:23
DUMP: Volume 2 transfer rate: 1288 KB/s
DUMP: Date of this level 0 dump: Tue Jun 25 16:22:49 2002
DUMP: Date this dump completed: Tue Jun 25 16:24:07 2002
DUMP: Average transfer rate: 1442 KB/s
DUMP: Closing /tmp/buzet.25jun
DUMP: DUMP IS DONE
-rw-r--r-- 1 root wheel 39260160 Jun 25 16:24 buzet.25jun
root@buzet:/home/sympa:#> dump -2u -a -f /tmp/buzet.25jun2002V3 /home/sympa/
DUMP: Ignoring u flag for subdir dump
DUMP: Subdir dump is done at level 0
DUMP: Dumping sub files/directories from /
DUMP: Dumping file/directory /home/sympa/
DUMP: Date of this level 0 dump: Tue Jun 25 16:45:35 2002
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/rsd0a (/) to /tmp/buzet.25jun2002V3
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 71325 tape blocks.
DUMP: Volume 1 started at: Tue Jun 25 16:45:47 2002
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: 67963 tape blocks on 1 volume
DUMP: Volume 1 completed at: Tue Jun 25 16:46:21 2002
DUMP: Volume 1 took 0:00:34
DUMP: Volume 1 transfer rate: 1998 KB/s
DUMP: Date of this level 0 dump: Tue Jun 25 16:45:35 2002
DUMP: Date this dump completed: Tue Jun 25 16:46:21 2002
DUMP: Average transfer rate: 1998 KB/s
DUMP: Closing /tmp/buzet.25jun2002V3
DUMP: DUMP IS DONE
Copieur à tester
http://www.feyrer.de/g4u/