3390
Commentaire:
|
← Version 18 à la date du 2009-05-06 11:32:45 ⇥
3733
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