Outils pour utilisateurs

Outils du site


technique:ganeti

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édentes Révision précédente
Prochaine révision
Révision précédente
technique:ganeti [2019/11/17 13:42]
ljf [Augmenter le disque d'une VM]
technique:ganeti [2020/04/25 13:45] (Version actuelle)
ljf [Réinstallation / changement de système]
Ligne 548: Ligne 548:
 Démarrer enfin la VM pour de bon : Démarrer enfin la VM pour de bon :
   gnt-instance start <​nomdevm>​   gnt-instance start <​nomdevm>​
 +  ​
 +IL peut être nécessaire de remettre les IPs:
 +  gnt-instance modify --os-parameters ipv4=<​ipv4>/​32,​ipv6=<​ipv6>/​128 <​nomdevm>​
  
  
Ligne 898: Ligne 901:
 Cela permet aux démons ganeti-luxid (l'API qui est derrière les commandes comme gnt-instance) et ganeti-wconfd d'​accepter de se lancer sur un hyperviseur qui n'est pas reconnu comme master, le temps de propager la configuration sur tout le cluster (gnt-cluster redist-conf)… ce qui nécessite d'​être master. Sans cela, ces démons ne se lancent pas puisque il y a deux hyperviseurs dans le cluster dont l'un ne peut voter puisqu'​il est en panne donc l'​élection est un échec, donc il faut faire un coup d'​état. Cela permet aux démons ganeti-luxid (l'API qui est derrière les commandes comme gnt-instance) et ganeti-wconfd d'​accepter de se lancer sur un hyperviseur qui n'est pas reconnu comme master, le temps de propager la configuration sur tout le cluster (gnt-cluster redist-conf)… ce qui nécessite d'​être master. Sans cela, ces démons ne se lancent pas puisque il y a deux hyperviseurs dans le cluster dont l'un ne peut voter puisqu'​il est en panne donc l'​élection est un échec, donc il faut faire un coup d'​état.
  
 +==== Supprimer une VM récalcitrante ====
 +Avec drbd il arrive qu'une VM ne se supprime pas car le drbd est utilisé. Concretement ganeti essaie de faire l'​équivalent d'un `drbdsetup down RESOURCE_DRBD` qui lui même fait l'​équivalent de `dmsetup remove /​dev/​mapper/​DRBD`.
 +
 +Sauf que ça ne marche pas car le kernel renvoie:
 +
 +<​code>​
 +failed to demote
 +</​code>​
 +
 +Et drbd conclue que la ressource est utilisé. Pouratnt on a pas trouvé de processus en dehors des [drbd_submit].
 +
 +Potentiellement la commande ganeti dit quelques chose d'​autres.
 +
 +La solution a consisté à détacher le disque des vm concerné, il est alors possible de les supprimer. MAIS il faut supprimer le drbd si on veut pouvoir créer d'​autres VM sinon on aura:
 +<​code>​
 +Can't create block device <​DRBD8(hosts=5822be58-990e-4d5b-90ab-a73602d3ee75/​26-9ad036d5-df21-4dd1-973f-0b6a8121a9b4/​26,​ port=11112, backend=<​LogicalVolume(/​dev/​vg0/​31add426-ae5f-414b-bf22-343821e69310.disk0_data,​ not visible, size=10240m)>,​ metadev=<​LogicalVolume(/​dev/​vg0/​31add426-ae5f-414b-bf22-343821e69310.disk0_meta,​ not visible, size=128m)>,​ visible as /​dev/​disk/​0,​ size=10240m)>​ on node hwhost-1.arn-fai.net for instance vps-reflexlibre3:​ Can't create block device: drbd26: minor is already in use at Create() time
 +</​code>​
 +
 +
 +Du coup, la solution a été d'​identifier le block device associé au drbd et de forcer sa suppression.
 +
 +<​code>​
 +dmsetup remove -f /​dev/​mapper/​XXXX
 +</​code>​
 +
 +Puis de supprimer la ressource DRBD
 +
 +<​code>​
 +drbdsetup down resourceXX
 +</​code>​
 +
 +Potentiellement il peut être nécessaie de détacher avant le disque du drbd:
 +
 +<​code>​
 +drbdsetup detach /dev/drbdXX
 +</​code>​
  
 ===== Docs intéressantes ====== ===== Docs intéressantes ======
technique/ganeti.1573994572.txt.gz · Dernière modification: 2019/11/17 13:42 par ljf