Guides/Reparer-disque-VM.md
... ...
@@ -0,0 +1,53 @@
1
+Il arrive après un accident (exemple: coupure des hyperviseurs) qu'une VM ne puisse pas démarrer à cause d'un disque corrompu.
2
+
3
+Les symptomes peuvent varier : en général un système sous Linux va pouvoir booter tant que son disque principal est OK, alors que systemd va empêcher la machine de boot même si c'est un disque "inutile" qui est corrompu.
4
+
5
+En général, récupérer d'un tel incident est facile, mais ici notre installation le complique un petit peu : les disques sont sur un NAS et sont accédés par Proxmox en iSCSI.
6
+
7
+= Etape 1 : Préparation
8
+Il faut d'abord s'assurer que la VM est bien éteinte. Attention avec l'hyperviseur, quand vous arrêtez les VM elles peuvent être redémarrées sur un autre hyperviseur grâce au (à cause du) HA. Utiliser *stop VM*.
9
+
10
+Ensuite, rendez-vous en ssh sur l'hyperviseur sur lequel était lancé la VM, et assurez vous que les disques de la VM ne sont plus visibles avec *lsblk* et sont marquées comme inactives avec *lvscan*.
11
+
12
+Généralement, les disques apparaissent comme */dev/mapper/vg--reloaded--vm--130--disk--1*. Ici, vg--reloaded est le nom du volume_group (configuré dans l'interface de proxmox), 130 l'id de la VM et 1 le numéro du disque.
13
+
14
+= Etape 2 : Trouver et activer le vg
15
+Si le disque n'est plus vu, très bien, on est safe pour intervenir dessus ! On s'est assuré que rien n'était en train de l'utiliser.
16
+
17
+Commençons par activer le volume pour que l'hyperviseur puisse le voir :
18
+`lvchange -ay /dev/mapper/vg--reloaded--vm--130--disk--1`
19
+
20
+Pour une partition simple, il suffirait de la monter. Mais là c'est un volume group qui contient plusieurs volumes logiques, et plusieurs partitions.
21
+
22
+= Etape 3 : Mapper les partitions
23
+Il va falloir identifier les volumes contenus sur le disques, et les rendre visibles sur l'hyperviseur. Un tel outil existe et fait ça très bien :-)
24
+
25
+`apt-get install kpartx`
26
+
27
+`kpartx -av /dev/vg-reloaded/vm-130-disk-1`
28
+
29
+= Etape 4 : Monter ou réparer les partitions
30
+On active le volume logique qui correspond à la partition ou au disque corrompu :
31
+`lvchange -ay /dev/skynet-vg/srv`
32
+
33
+Et ENFIN :-) on peut monter ou réparer notre partition :
34
+`fsck /dev/skynet-vg/srv`
35
+
36
+= Etape 5 : Quitter proprement [ESSENTIEL]
37
+Maintenant, il faut laisser un système propre et des disques non montés, non activés et non utilisés pour redonner la main à proxmox plus tard.
38
+
39
+* On désactive le volume réparé
40
+`lvchange -an /dev/skynet-vg/srv`
41
+
42
+* On désactive le volume group
43
+`lvchange -an /dev/vg-reloaded/vm-130-disk-1`
44
+
45
+* On vire le mapping
46
+`kpartx -dv /dev/mapper/vg--reloaded--vm--130--disk--1`
47
+
48
+Tout vérifier ! Les disques de la vm 130 ne doivent plus apparaître dans `lsblk`. Avec `lvscan`, ces disques doivent apparaître inactifs.
49
+
50
+Quand tout est OK, vous pouvez retourner sur l'hyperviseur et redémarrer la VM, qui ne doit plus nous embêter. Enjoy.
51
+
52
+
53
+