Ceci est une ancienne révision du document !
Table des matières
Restauration d'une machine depuis un backup
- 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 :
- d'établir la connectivité ssh
- de voir comment téléchager les fichiers de la machine
- de lister les taches à faire pour restaurer l'archive
Connectivité SSH
Le pool de backup est sur la VM icinga2 (nommée ainsi car elle sert également de relais d'exécution Icinga pour tester les services avec une regard extérieur), 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.
Télécharger un tarball de la VM
Pour lister les backups d'une VM :
BORG_RSH="ssh -p 2242 -A" borg list backup@backup.chapril.org:/srv/backups/$(hostname --fqdn)
en adaptant le hostname, par exemple :
BORG_RSH="ssh -p 2242 -A" borg list backup@backup.chapril.org:/srv/backups/admin.cluster.chapril.org
En supposant que 2018-09-02
soit le nom d'un backup, pour voir les infos d'un backup particulier :
BORG_RSH="ssh -p 2242 -A" borg info backup@backup.chapril.org:/srv/backups/$(hostname --fqdn)::2018-09-02
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'
Restauration de l'archive
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.
cron
est une bonne pratique. Il ne suffit pas de regarder /etc/cron.d
, ça peut être bien plus sioux.