Outils pour utilisateurs

Outils du site


admin:procedures:restaurer_machine

Ceci est une ancienne révision du document !


Restauration d'une machine depuis un backup

On est ici dans une documentation a l'aveugle d'un truc un peu touchy, donc il est possible que des erreurs subsistent.
  • La logique de sauvegarde est en mode push. Par réciprocité on va envisager la restauration en mode pull.
  • Il n'y a pas qu'une manière de faire.

On propose depuis n'importe qu'elle machine du cluster :

  1. d'établir la connectivité ssh
  2. de voir comment téléchager les fichiers de la machine
  3. de lister les taches à faire pour restaurer l'archive

Connectivité SSH

Le pool de backup est sur la VM felicette, qui est un KVM porté par galanga.april.org. Elle est accessible à l'adresse backup.chapril.org.

Vous devez être capable d'exécuter avec succès

# ssh -p 2242 -A backup@backup.chapril.org true

Si ce n'est pas le cas, vous pouvez suivre la section « Accès SSH » de la page acces_ssh, en prenant soin de ne pas vous restreindre à une commande forcée qui risque de vous handicaper.

Infos sur le dépôt

Pour lister les backups (archives) d'une VM :

borgmatic -l

Pour avoir la synthèse du dépot d'archive :

borgmatic -l
C'est est tout pour le moment. La version Buster de borgmatic est vieille et donc ne prend malheureusement pas bien encharge la restauration. On passe à borg.

Télécharger un tarball de la VM

En supposant que 2021-01-02T01:43:34 soit le nom d'une archive, pour voir les infos d'une archive en particulier :

BORG_RSH="ssh -p 2242 -A" borg info backup@backup.chapril.org:/srv/backups/$(hostname --fqdn)::2021-01-02T01:43:34

Pour extraire /etc/issue de l'archive précédente dans le dossier courant, on liste le fichier de façon relative, comme un tar :

BORG_RSH="ssh -p 2242 -A" borg extract backup@backup.chapril.org:/srv/backups/$(hostname --fqdn)::2018-09-02 etc/issue

Pour extraire l'archive entière dans le dossier courant, il faudrait faire :

BORG_RSH="ssh -p 2242 -A" borg extract backup@backup.chapril.org:/srv/backups/$(hostname --fqdn)::2018-09-02

Options utiles de borg extract :

          --list                           output verbose list of items (files, dirs, ...)
          -n, --dry-run                    do not actually change any files
          -e PATTERN, --exclude PATTERN    exclude paths matching PATTERN
 
          # Extract entire archive
          $ borg extract /path/to/repo::my-files
 
          # Extract entire archive and list files while processing
          $ borg extract -v --list /path/to/repo::my-files
 
          # Extract the "src" directory
          $ borg extract /path/to/repo::my-files home/USERNAME/src
 
          # Extract the "src" directory but exclude object files
          $ borg extract /path/to/repo::my-files home/USERNAME/src --exclude '*.o'

Monter le dépôt de la VM

Avant de restaurer il est parfois utile d'inspecter en détails une archive ou un dépot entier à l'aide d'un point de montage. On peut le monter localement :

BORG_RSH="ssh -p 2242 -A" borg mount backup@backup.chapril.org:/srv/backups/$(hostname --fqdn) /mnt

Restauration de l'archive

Ajouter un hook dans le paquet backup-chapril qui dump la sortie de lsblk serait un plus.

Il faut avoir un fs près à recevoir les fichiers. Pour reconstruire le lvm à l'identique, le dossier /etc/lvm/backup/ est probablement utile, le /etc/fstab aussi. Si vous avez un volume vierge sous la patte vous pouvez restaurer la structure LVM à l'aire de

vgcfgrestore -f le_fichier_backup VolumeGroupName

À défaut de tout autre chose, on peut imaginer cloner la « VM modèle », adapter les tailles de LVM et surtout des LVs, et monter les FS de l'image QCOW via les libguestfs-tools depuis n'importe quelle hôte.

On se met à l'emplacement de la future racine :

BORG_RSH="ssh -p 2242 -A" borg extract backup@backup.chapril.org:/srv/backups/$(hostname --fqdn)::2018-09-02

Ensuite il reste à

  • installer un bootloader
  • restaurer les dumps engendrés par /etc/borg/scripts/*hooks (restauration SQL et dpkg –set-selections)
  • vérifier la configuration réseau / bail dhcp, surtout si la mac a changé
  • penser à tout ce qu'on a oublié

Et ça devrait rouler.

L'expérience montre que couper le cron est une bonne pratique. Il ne suffit pas de regarder /etc/cron.d : la configuration totale de cron peut être bien plus sioux.
admin/procedures/restaurer_machine.1609608890.txt.gz · Dernière modification : 2021/01/02 17:34 de fpoulain