Modifications entre les versions 10 et 18 (s'étendant sur 8 versions)
Version 10 à la date du 2006-12-19 11:01:51
Taille: 3390
Éditeur: ZoserBiziki
Commentaire:
Version 18 à la date du 2009-05-06 11:32:45
Taille: 3733
Commentaire: forcedeth
Texte supprimé. Texte ajouté.
Ligne 5: Ligne 5:
 L'installation backuppc de dakar, par rapport à une configuration BackupPC standard == Matériel ==
Ligne 7: Ligne 7:
== Ne pas oublier de changer les disques chaque vendredi ==  * CPU : AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
 * RAM : 4G
 * la sauvegarde se fait sur une paire de disque internes IDE de 700Go, configurée en lvm+strip, chacun sur un des deux canaux IDE
Ligne 9: Ligne 11:
{{{
$ cat /usr/local/bin/alerte-echange-disques
#!/bin/bash
 * (<!> ajouter un lien vers la conf' backuppc ici)
Ligne 13: Ligne 13:
ID_DISK=/var/lib/backuppc/ID
ID_HOST=/etc/backuppc/ID
== Backup des backups ==
 
Pour avoir une copie externe des données du serveur, en cas de crash des disques de sauvegardes. Le problème est qu'il est impossible de faire une copie des fichiers via rsync, tar ou autre, à cause de la structure du pool de fichiers backuppc, qui fait un usage intensif des liens physiques : la RAM consommée par les outils classiques est énorme.
Ligne 17: Ligne 18:
# la regle est de changer le vendredi. Mais ne pas trop casser les
# pieds si oublie, et que le dernier changement est jeudi (cas qui ne
# doit jamais arriver, bien sur !!! :-D)
La solution choisie est une copie via ''partimage'' d'un ''snapshot LVM'' de la partition de backup vers plusieurs disques USB externes, branchés chacun sur un canal USB différents, et configurés en LVM+strip. Cela donne une vitesse de sauvegarde de l'ordre de 1,3 Go/min avec du matériel acheté à l'épicerie du coin (cartes PCI USB à 4000 FCFA / 6 euros, et boitiers USB/IDE à 12000 CFA / 20 euros)
Ligne 21: Ligne 20:
# si avant jeudi de la meme semaine : faire un rappel qd meme pour
# reprendre le cycle normal
Les disques sont branchés chaque vendredi, la copie se fait le dimanche, et les disques sont stockés chaque lundi dans le bureau de l'administrateur, dans l'autre bâtiment ("l'autre" par rapport au local technique)
Ligne 24: Ligne 22:
# quel jour de la semaine ?
JOUR=$(date +%w)
 * script backupbackup, lancé le dimanche : [[attachment:backupbackup]]
 * script "mail pour ne pas oublier de brancher (ou débrancher et ranger) les disques USB" : [[attachment:suivi-disques]]
Ligne 27: Ligne 25:
# age max (nbre de jour) du dernier chagnement tolerable pour chaque jour de la semaine
# 0 = dimanche
# 6 = samedi
declare -a DELAIS_MAX=(2 3 4 5 6 2 3)

JOUR_MAX=${DELAIS_MAX[$JOUR]}
AGE_MAX=$(( $JOUR_MAX * 24 * 3600 - 3600 ))

# est-ce que les fichiers existent bien
if [ ! -e $ID_DISK ] ; then
    echo $RANDOM >$ID_DISK
fi

if [ ! -e $ID_HOST ] ; then
    cp $ID_DISK $ID_HOST
fi

# est-ce que les ID sont identiques
# oui : verifier la date de derniere modification
# non : changement de disque, mettre a jour l'id

if [ $(cat $ID_DISK) -eq $(cat $ID_HOST) ] ; then
    age=$(( $(date +%s) - $(stat -c %Y $ID_HOST) ))
    if [ $age -gt $AGE_MAX ] ; then
 echo ne pas oublier de changer les disques de backup | mail -s "disques de backup" root
    fi
else
    cp $ID_DISK $ID_HOST
fi
}}}

{{{
# cat /etc/cron.d/alerte-echange-disque
00 9,12,14,15,16,17,18 * * 1-5 root /usr/local/bin/alerte-echange-disques
}}}

= Ajouter une nouvelle machine à la liste des machines =
= Ajouter une nouvelle machine à la liste des machines à sauvegarder =
Ligne 66: Ligne 28:
 * Créer le répertoire, avec les bonnes permissions : {{{install -d -g backuppc -o backuppc /etc/backuppc/conf-pc/<lenomdelamachine>}}} (note : il faut que le répertoire soit '''exactement''' le nom dns)  * Créer le répertoire, avec les bonnes permissions : {{{install -d -g backuppc -o backuppc /etc/backuppc/conf-pc/<lenomdelamachine>}}} (note : il faut que le répertoire ait '''exactement''' le nom dns)
Ligne 68: Ligne 30:
 * resynchroniser la configuration avec les disques de données : {{{/etc/init.d/backuppc-conf start}}}
Ligne 78: Ligne 39:
= Restaurer une machine =
= workaround pour forcedeth =
May 5 22:26:25 backup2 kernel: [502329.184368] eth0: too many iterations (6) in nv_nic_irq.
ajouter le fichier /etc/modprobe.d/options
{{{
options forcedeth max_interrupt_work=15
}}}

= cas des machines openvz sur vz-dakar.sn.auf.org =

...

= cas des machines openvz sur vz-bao.sn.auf =

...

= Restaurer totalement une machine =
Ligne 82: Ligne 59:
 * booter sur un CD live (ubuntu, par exemple)
 * récuperer la clef publique ssh sur http://backup.sn.auf/id_dsa.pub
 * installer/activer rsync et ssh
 * partitionner le disque dur cible
 * monter les partitions dans la racine /target
 * lancer la restauration depuis l'interface de backuppc, vers /target
 * avant de rebooter : vérifier /target/etc/fstab, installer grub, etc...
 * rebooter hors réseau, tout vérifier avant de brancher
Ligne 84: Ligne 70:
 * aller dans l'interface de gestion de backuppc
 * sélectionner parmi la liste des machines la machine sur laquelle se trouve ledit répertoire
 * naviguer parmi l'arborescence des sauvegardes, et sélectionner la sauvegarde la plus récente
 * parcourir la liste des fichiers/répertoires et sélectionner ledit répertoire et cliquer sur le bouton Restaurer (en bas de la page)
 * aller dans l'interface de gestion de backuppc, c'est marqué comment faire

Le système de backup est basé sur backuppc, et est hebergé sur backup.sn.auf

Configuration générale

Matériel

  • CPU : AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
  • RAM : 4G
  • la sauvegarde se fait sur une paire de disque internes IDE de 700Go, configurée en lvm+strip, chacun sur un des deux canaux IDE
  • (<!> ajouter un lien vers la conf' backuppc ici)

Backup des backups

Pour avoir une copie externe des données du serveur, en cas de crash des disques de sauvegardes. Le problème est qu'il est impossible de faire une copie des fichiers via rsync, tar ou autre, à cause de la structure du pool de fichiers backuppc, qui fait un usage intensif des liens physiques : la RAM consommée par les outils classiques est énorme.

La solution choisie est une copie via partimage d'un snapshot LVM de la partition de backup vers plusieurs disques USB externes, branchés chacun sur un canal USB différents, et configurés en LVM+strip. Cela donne une vitesse de sauvegarde de l'ordre de 1,3 Go/min avec du matériel acheté à l'épicerie du coin (cartes PCI USB à 4000 FCFA / 6 euros, et boitiers USB/IDE à 12000 CFA / 20 euros)

Les disques sont branchés chaque vendredi, la copie se fait le dimanche, et les disques sont stockés chaque lundi dans le bureau de l'administrateur, dans l'autre bâtiment ("l'autre" par rapport au local technique)

  • script backupbackup, lancé le dimanche : backupbackup

  • script "mail pour ne pas oublier de brancher (ou débrancher et ranger) les disques USB" : suivi-disques

Ajouter une nouvelle machine à la liste des machines à sauvegarder

  • ajouter une entrée pour la machine dans le fichier /etc/backuppc/hosts, en respectant le format de ce fichier (voir les entrées déjà existantes pour exemple). Pour une machine (portable, par exemple) utilisée par une seule personne, ajouter éventuellement cette personne comme administrateur de backup. Dans ce cas, ajouter également un compte correspondant dans /etc/backuppc/htpasswd et /etc/aliases

  • Créer le répertoire, avec les bonnes permissions : install -d -g backuppc -o backuppc  /etc/backuppc/conf-pc/<lenomdelamachine> (note : il faut que le répertoire ait exactement le nom dns)

  • pour un cas standard, prendre le fichier de configuration générique : ln -s /etc/backuppc/config-rsync.pl /etc/backuppc/<lenomdelamachine>/config.pl

  • copier la clef ssh du serveur de backup, et vérifier que le "known_host" est bien à jour :

sudo su - backuppc
ssh-agent bash
ssh-add
ssh-copy-id root@<lenomdelamachine>
  • relancer backuppc : /etc/init.d/backuppc reload 

workaround pour forcedeth

May 5 22:26:25 backup2 kernel: [502329.184368] eth0: too many iterations (6) in nv_nic_irq. ajouter le fichier /etc/modprobe.d/options

options forcedeth max_interrupt_work=15

cas des machines openvz sur vz-dakar.sn.auf.org

...

cas des machines openvz sur vz-bao.sn.auf

...

Restaurer totalement une machine

(suite à un crash de disque, par exemple)

  • booter sur un CD live (ubuntu, par exemple)
  • récuperer la clef publique ssh sur http://backup.sn.auf/id_dsa.pub

  • installer/activer rsync et ssh
  • partitionner le disque dur cible
  • monter les partitions dans la racine /target
  • lancer la restauration depuis l'interface de backuppc, vers /target
  • avant de rebooter : vérifier /target/etc/fstab, installer grub, etc...
  • rebooter hors réseau, tout vérifier avant de brancher

Restaurer un répertoire

  • aller dans l'interface de gestion de backuppc, c'est marqué comment faire

ZAO/Dakar/Configuration/Backup (dernière édition le 2009-05-06 11:32:45 par NdimbyAndriantsoavina)