admin:procedures:restaurer_machine
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
admin:procedures:restaurer_machine [2018/10/04 07:25] – créée fpoulain | admin:procedures:restaurer_machine [2023/07/17 21:30] (Version actuelle) – correction du switch pour obtenir les infos pilou | ||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
On propose depuis n' | On propose depuis n' | ||
- | 1) d' | + | |
- | 2) de téléchager | + | - d' |
- | 3) de lister les taches à faire poour restaurer le tarball. | + | |
+ | | ||
+ | |||
+ | ===== Connectivité SSH ===== | ||
+ | |||
+ | Le pool de backup est sur la [[admin: | ||
+ | |||
+ | Vous devez être capable d' | ||
+ | <code bash> | ||
+ | # 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 [[admin: | ||
+ | |||
+ | ===== Infos sur le dépôt ===== | ||
+ | |||
+ | Pour lister les backups (archives) d'une VM, exécuter depuis cette VM : | ||
+ | |||
+ | <code bash> | ||
+ | borgmatic -l | ||
+ | </ | ||
+ | |||
+ | Pour avoir la synthèse du dépôt d' | ||
+ | <code bash> | ||
+ | borgmatic -i | ||
+ | </ | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | ===== Télécharger un tarball | ||
+ | |||
+ | En supposant que '' | ||
+ | <code bash> | ||
+ | BORG_RSH=" | ||
+ | </ | ||
+ | |||
+ | Pour extraire /etc/issue de l' | ||
+ | <code bash> | ||
+ | BORG_RSH=" | ||
+ | </ | ||
+ | |||
+ | Pour extraire l' | ||
+ | <code bash> | ||
+ | BORG_RSH=" | ||
+ | </ | ||
+ | |||
+ | Options utiles de borg extract : | ||
+ | <code bash> | ||
+ | --list | ||
+ | -n, --dry-run | ||
+ | -e PATTERN, --exclude PATTERN | ||
+ | |||
+ | # Extract entire archive | ||
+ | $ borg extract / | ||
+ | |||
+ | # Extract entire archive and list files while processing | ||
+ | $ borg extract -v --list / | ||
+ | |||
+ | # Extract the " | ||
+ | $ borg extract / | ||
+ | |||
+ | # Extract the " | ||
+ | $ borg extract / | ||
+ | </ | ||
+ | |||
+ | ===== Monter le dépôt de la VM ===== | ||
+ | |||
+ | Avant de restaurer il est parfois utile d' | ||
+ | |||
+ | < | ||
+ | BORG_RSH=" | ||
+ | </ | ||
+ | ===== Restauration de l' | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | Il faut avoir un fs près à recevoir les fichiers. Pour reconstruire le lvm à l' | ||
+ | < | ||
+ | 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' | ||
+ | |||
+ | On se met à l' | ||
+ | <code bash> | ||
+ | BORG_RSH=" | ||
+ | </ | ||
+ | |||
+ | Ensuite il reste à | ||
+ | |||
+ | * installer un bootloader | ||
+ | * restaurer les dumps engendrés par / | ||
+ | * 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. | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | ===== Exemple de procédure ===== | ||
+ | |||
+ | Ceci est un exemple de procédure appliquée pour faire un test de restauration de la VM //pad// dans le cadre du ticket de test de reprise [[https:// | ||
+ | Il est basé sur les éléments ci-dessus mais j'ai utilisé un LiveCD plutôt que de monter les qcow sur l' | ||
+ | |||
+ | - Cloner la VM // | ||
+ | - Sur la VM crée, configurer la même adresse mac que la machine à restaurer. Dans le cas d'un test de restauration, | ||
+ | - Démarrer la VM et mettre à jour | ||
+ | - Modifier la configuration de la VM pour qu' | ||
+ | - Une fois sur le livecd, installer les outils nécessaires et configurer un serveur SSH : <code bash> | ||
+ | apt update | ||
+ | apt install lvm2 openssh-server | ||
+ | </ | ||
+ | - Monter la partition root (utiliser pvscan/ | ||
+ | vgchange -a y | ||
+ | mount / | ||
+ | </ | ||
+ | - Récupérer les clés SSH depuis la partition root et démarrer sshd : <code bash> | ||
+ | mkdir / | ||
+ | cp / | ||
+ | systemctl start sshd | ||
+ | </ | ||
+ | - Se connecter en SSH | ||
+ | - Générer une clé SSH pour l' | ||
+ | ssh-keygen -t ed25519 | ||
+ | </ | ||
+ | - Sur felicette autoriser cette clé à accéder aux sauvegardes de la VM à restaurer : <code bash> | ||
+ | vi / | ||
+ | </ | ||
+ | - Toujours sur felicette, identifier le backup qui sera utilisé : <code bash> | ||
+ | export BORG_REPO=/ | ||
+ | borg list | ||
+ | </ | ||
+ | - De retour sur le SSH du livecd, tester si la connexion vers le serveur fonctionne bien : <code bash> | ||
+ | ssh -p 2242 backup@backup.chapril.org true | ||
+ | </ | ||
+ | - Récupérer le fichier _/ | ||
+ | BORG_RSH=" | ||
+ | </ | ||
+ | - Procéder au partitionnement et monter les partitions dans en suivant la bonne arborescence, | ||
+ | - Procéder à la récupération des fichiers, il faut se cd dans le dossier puis exécuter la commande, par exemple : <code bash> | ||
+ | BORG_RSH=" | ||
+ | </ | ||
+ | - S'il sagit d'un test de restauration, | ||
+ | - Redémarrer la VM sur son disque | ||
+ | - S'il y a une base de données, il faudra la restaurer, par exemple pour pad : <code bash> | ||
+ | # 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 / | ||
+ | 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 | ||
+ | </ | ||
+ | - Pour un test de restauration, | ||
+ | ssh -L 9001: | ||
+ | </ |
admin/procedures/restaurer_machine.1538637918.txt.gz · Dernière modification : 2018/10/04 07:25 de fpoulain