Modifications entre les versions 6 et 18 (s'étendant sur 12 versions)
Version 6 à la date du 2006-11-27 17:09:15
Taille: 2398
Éditeur: JérômeSantini
Commentaire:
Version 18 à la date du 2009-05-06 11:32:45
Taille: 3733
Commentaire: forcedeth
Texte supprimé. Texte ajouté.
Ligne 3: Ligne 3:
= Configuration générale =  = Configuration générale =
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
SIX_JOURS=$(( 6 * 24 * 3600 - 3600 ))
== 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 17:
# est-ce que les fichiers existent bien
if [ ! -e $ID_DISK ] ; then
    echo $RANDOM >$ID_DISK
fi
Ligne 22: Ligne 18:
if [ ! -e $ID_HOST ] ; then
    cp $ID_DISK $ID_HOST
fi
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 26: Ligne 20:
# est-ce que les ID sont identiques
# oui : verifier la date de derniere modification
# non : changement de disque, mettre a jour l'id
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 30: Ligne 22:
if [ $(cat $ID_DISK) -eq $(cat $ID_HOST) ] ; then
    age=$(( $(date +%s) - $(stat -c %Y $ID_HOST) ))
    if [ $age -gt $SIX_JOURS ] ; 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
}}}
 * 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 40: Ligne 25:
= Ajouter une nouvelle machine à la liste des machines = = Ajouter une nouvelle machine à la liste des machines à sauvegarder =
Ligne 43: 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 45: Ligne 30:
 * resynchroniser la configuration avec les disques de données : {{{/etc/init.d/backuppc-conf start}}}
Ligne 55: 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 59: 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 60: Ligne 69:

(suite à une erreur de manipulation, par exemple)
   * 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)