Projet

Général

Profil

Demande #2408

Tester la reprise sur backup

Ajouté par Vincent-Xavier JUMEL il y a presque 7 ans. Mis à jour il y a presque 3 ans.

Statut:
Fermé
Priorité:
Normale
Assigné à:
Catégorie:
Sauvegardes
Début:
04/06/2017
Echéance:
% réalisé:

100%

Temps estimé:

Historique

#1

Mis à jour par Quentin Gibeaux il y a plus de 5 ans

https://admin.chapril.org/doku.php?id=admin:procedures:restaurer_machine&s[]=backup

J'ai validé sur pad.april.org la restauration d'un dossier de postgresql.
Pas testé encore la restauration complète du backup from scratch

#2

Mis à jour par Christian P. Momon il y a plus de 4 ans

  • Projet changé de Chapril à Infra Chapril
#3

Mis à jour par Christian P. Momon il y a environ 4 ans

  • Version cible mis à Backlog
#4

Mis à jour par Christian P. Momon il y a plus de 3 ans

  • Catégorie mis à Sauvegardes
#5

Mis à jour par Romain H. il y a presque 3 ans

  • Statut changé de Nouveau à En cours de traitement
  • Assigné à mis à Romain H.
#6

Mis à jour par Romain H. il y a presque 3 ans

L'essai que j'ai fait sur pad est concluant.
Notes prises pendant le test à vérifier :

  1. Cloner la VM modèle
  2. Sur la VM crée, configurer la même adresse mac que la machine à restaurer. Dans le cas d'un test de restauration, suivre la procédure de création de VM pour faire la config réseau.
  3. Démarrer la VM et mettre à jour
  4. Modifier la configuration de la VM pour qu'elle démarre sur un livecd Debian
    Il faut arrêter la VM et pas seulement redémarrer pour que cette modif soit prise en compte
  5. Une fois sur le livecd,
    Installer les outils nécéssaires et configurer un serveur SSH :
    # apt update
    # apt install lvm2 openssh-server
    

    Monter la partition root (utiliser pvscan/vgscan pour trouver les path à utiliser) :
    # vgchange -a y
    # mount /dev/modele-vg/root /mnt/
    

    Récupérer les clés SSH depuis la partition root et démarrer sshd :
    # mkdir /root/.ssh
    # cp /mnt/etc/ssh_authorized_keys/root /root/.ssh/authorized_keys
    # systemctl start sshd  
    
  6. Se connecter en SSH
  7. Générer une clé SSH pour l'accès aux sauvegardes :
    # ssh-keygen -t ed25519
    
  8. Sur felicette autoriser cette clé à accéder aux sauvegardes de la VM à restaurer
    # vi /etc/ssh/authorized_keys/backup
    
  9. Toujours sur felicette, identifier le backup qui sera utilisé
    # export BORG_REPO=/srv/backups/<SERVICE-NAME>.cluster.chapril.org/
    # borg list
    
  10. De retour sur le SSH du livecd, tester si la connexion vers le serveur fonctionne bien:
    # ssh -p 2242 backup@backup.chapril.org true
    
  11. Récupérer le fichier /etc/fstab pour identifier comment le serveur était partitionné. Se poser la question de savoir s'il faut repartionner de façon identique.
    BORG_RSH="ssh -p 2242 -A" borg extract backup@backup.chapril.org:/srv/backups/<SERVICE-NAME>.cluster.chapril.org::2021-XX-XXTXX:XX:XX etc/fstab
    
  12. Procéder au partitionnement et monter les partitions dans en suivant la bonne arboresence, dans /mnt par exemple
  13. Procéder à la récupération des fichiers, il faut se cd dans le dossier puis exécuter la commande, par exemple :
    BORG_RSH="ssh -p 2242 -A" borg extract backup@backup.chapril.org:/srv/backups/<SERVICE-NAME>.cluster.chapril.org::2021-XX-XXTXX:XX:XX
    
  14. S'il sagit d'un test de restauration, s'assurer qu'il ne reste pas de traces de l'ancienne IP dans la configuration. Par exemple dans /etc/firehol/firehol.conf
  15. Redémarrer la VM sur son disque
  16. S'il y a une base de données, il faudra la restaurer, par exemple pour pad :
    Recréer le cluster (fichiers vides à la restauration)
    # pg_lsclusters
    # pg_dropcluster --stop 11 main
    # pg_createcluster --start 11 main
    # systemctl restart postgresql@11-main.service
    

    Restaurer les fichiers SQL
    # mv /var/backups/pgsql/*.sql.bz2 /usr/lib/postgresql/
    # su - postgres
    $ bzip2 -c -d postgres.sql.bz2 | psql postgres
    $ bzip2 -c -d template1.sql.bz2 | psql template1
    $ createdb etherpad
    $ createuser etherpad
    $ bzip2 -c -d etherpad.sql.bz2 | psql etherpad
    $ rm etherpad.sql.bz2 postgres.sql.bz2 template1.sql.bz2
    
  17. Pour un test de restauration, il est possible d'utiliser ssh pour faire un tunnel et tester le service. Par exemple pour pad, l'application est alors accessible sur http://127.0.0.1:9001/ :
    $ ssh -L 9001:127.0.0.1:9001 root@test-backup.cluster.chapril.org
    
#7

Mis à jour par Romain H. il y a presque 3 ans

  • Statut changé de En cours de traitement à Résolu
  • % réalisé changé de 0 à 100

J'ai ajouté la doc en bas de la page https://admin.chapril.org/doku.php?id=admin:procedures:restaurer_machine et décommissionné la VM test-backup.

#8

Mis à jour par Quentin Gibeaux il y a presque 3 ans

  • Statut changé de Résolu à Fermé
#9

Mis à jour par Christian P. Momon il y a presque 3 ans

  • Statut changé de Fermé à Résolu
#10

Mis à jour par Romain H. il y a presque 3 ans

  • Statut changé de Résolu à Fermé
#11

Mis à jour par Christian P. Momon il y a presque 3 ans

  • Version cible changé de Backlog à Sprint 2021 mai

Formats disponibles : Atom PDF