#
# par Emeric CHAIZE

Ce matin, j'ai souhaité démarrer mon environnement (EC2), mais cela n'a pas fonctionné et je n'ai pas réussi à identifier la root cause. Côté AWS, le message 1/2 au niveau du Status Check, je n'arrivais pas à me connecter à l'environnement.

Ainsi, dans un soucis de facilité, j'ai décidé de partir des sauvegardes (heureusement que j'en avais, merci Snapshot Lifecycle Policy) et remplacer mon disque principal dev/xvda par la sauvegarde :

Pour cela, les étapes suivantes sont nécessaires :

  1. Retrouver le snapshot utile et créer un volume en prenant soin de bien l'identifier (tag, ...)
  2. Détacher le disque actuel (rajouter un tag au besoin avant) et attacher le volume créé juste avant avec le montage /dev/xvda
  3. Démarrer l'environnement

Volontairement, nous n'avons pas ajouté le disque "corrompu" car sinon, l'environnement ne démarrera pas, seul le montage à chaud permettra d'accéder aux données pour résoudre le problème de démarrage.

La raison de ce dysfonctionnement est lié aux identifiants uniques des Physical Volume (PV) qui rentrent en conflit en voulant monter deux fois le même disque. Pour ma part je suis sur une EC2 avec Ubuntu dont voici la documentation.

Une fois l'environnement démarré et le second disque monté, alors vous pouvez exécuter une commande comme lvm et obtenir un message comme celui-ci :

  WARNING: PV PyOVry-Q1bN-fNc6p-iZMH-pkta-woi1-cQBszM on /dev/xvdg2 was already found on /dev/xvda2. 
WARNING: PV ZQsdK3-hXRq-v4kN-6MHy-WVb3-bHYx-TCVubQ on /dev/xvdg3 was already found on /dev/xvda3.
WARNING: PV 1NcNNX-grVl-i4bN-senq-VzL1-YI23-x3O8et on /dev/xvdg5 was already found on /dev/xvda5. 
WARNING: PV Pyhgfy-Q1dN-fNtG-iZMH-pkta-wls2-cQBszM prefers device /dev/xvda2 because device is used by LV. 
WARNING: PV ZQlEK3-hXRq-xr2r-6MHy-WVb3-fNEx-TCVubQ prefers device /dev/xvda3 because device is used by LV. 
WARNING: PV 1NmPMX-grVl-i43r-senq-VzL1-Yp5U-x3O8et prefers device /dev/xvda5 because device is used by LV.

Pour résoudre ce dysfonctionnement, voici l'une des solutions trouvées qui consiste à cloner les volumes :

  sudo vgimportclone --basevgname recover1 /dev/xvdg2
sudo vgimportclone --basevgname recover2 /dev/xvdg3
sudo vgimportclone --basevgname recover3 /dev/xvdg5

Ces commandes permettent de les renommer. Ensuite, il est nécessaire de monter les disques avec les différentes commandes :

  #Lister les volumes logiques
lvmdiskscan
#Lister les volumes logiques
lvscan
#Dans ce cas, vous aurez normalement des volumes inatifs
#Rendre actifs les volumes groups
vgchange -ay
#Lister les volumes logiques
lvscan
#Créer le répertoire xvdg1
mkdir xvdg1
#Monter le disque dans le répertoire xvdg1
mount /dev/recover/home xvdg1

Voilà, j'espère que cet article vous aidera dans votre contexte, pour ma part, connaître ces commandes me permet maintenant de démarrer mes environnements plus sereinement.