Outils pour utilisateurs

Outils du site


admin:procedures:restaurer_machine

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:procedures:restaurer_machine [2021/01/02 17:34] – [Télécharger un tarball de la VM] fpoulainadmin:procedures:restaurer_machine [2023/07/17 21:30] (Version actuelle) – correction du switch pour obtenir les infos pilou
Ligne 25: Ligne 25:
 ===== Infos sur le dépôt ===== ===== Infos sur le dépôt =====
  
-Pour lister les backups (archives) d'une VM :+Pour lister les backups (archives) d'une VM, exécuter depuis cette VM :
  
 <code bash> <code bash>
Ligne 31: Ligne 31:
 </code> </code>
  
-Pour avoir la synthèse du dépot d'archive :+Pour avoir la synthèse du dépôt d'archive :
 <code bash> <code bash>
-borgmatic -l+borgmatic -i
 </code> </code>
  
-<note tip>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.</note>+<note tip>C'est est tout pour le moment. La version Buster de borgmatic est vieille et donc ne prend malheureusement pas bien en charge la restauration. On passe à borg.</note>
  
 ===== Télécharger un tarball de la VM ===== ===== Télécharger un tarball de la VM =====
Ligne 107: Ligne 107:
  
 <note tip>[[https://admin.april.org/doku.php?id=sysadm:reconstruction_d_une_vm | 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.</note> <note tip>[[https://admin.april.org/doku.php?id=sysadm:reconstruction_d_une_vm | 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.</note>
 +
 +===== 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://agir.april.org/issues/2408|#2408]].
 +Il est basé sur les éléments ci-dessus mais j'ai utilisé un LiveCD plutôt que de monter les qcow sur l'hôte.
 +
 +  - Cloner la VM //modèle//
 +  - 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.
 +  - Démarrer la VM et mettre à jour
 +  - 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
 +  - Une fois sur le livecd, installer les outils nécessaires et configurer un serveur SSH : <code bash>
 +apt update
 +apt install lvm2 openssh-server
 +</code>
 +   - Monter la partition root (utiliser pvscan/vgscan pour trouver les path à utiliser) : <code bash>
 +vgchange -a y
 +mount /dev/modele-vg/root /mnt/
 +</code>
 +   - Récupérer les clés SSH depuis la partition root et démarrer sshd : <code bash>
 +mkdir /root/.ssh
 +cp /mnt/etc/ssh_authorized_keys/root /root/.ssh/authorized_keys
 +systemctl start sshd  
 +</code> 
 +  - Se connecter en SSH
 +  - Générer une clé SSH pour l'accès aux sauvegardes : <code bash>
 +ssh-keygen -t ed25519
 +</code>
 +  - Sur felicette autoriser cette clé à accéder aux sauvegardes de la VM à restaurer : <code bash>
 +vi /etc/ssh/authorized_keys/backup
 +</code>
 +  - Toujours sur felicette, identifier le backup qui sera utilisé : <code bash>
 +export BORG_REPO=/srv/backups/<SERVICE-NAME>.cluster.chapril.org/
 +borg list
 +</code>
 +  - 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
 +</code>
 +  - 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 : <code bash>
 +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
 +</code>
 +  - Procéder au partitionnement et monter les partitions dans en suivant la bonne arborescence, dans /mnt par exemple
 +  - 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="ssh -p 2242 -A" borg extract backup@backup.chapril.org:/srv/backups/<SERVICE-NAME>.cluster.chapril.org::2021-XX-XXTXX:XX:XX
 +</code>
 +  - 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''
 +  - 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 /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
 +</code>
 +  - 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/ : <code bash>
 +ssh -L 9001:127.0.0.1:9001 root@test-backup.cluster.chapril.org
 +</code>
admin/procedures/restaurer_machine.1609608890.txt.gz · Dernière modification : 2021/01/02 17:34 de fpoulain