Project

General

Profile

Tâche #22155

Scénario #22216: Traitement express MEN (49-51)

VM Poweroff après le reboot automatique sur Hâpy

Added by Philippe Caseiro almost 2 years ago. Updated almost 2 years ago.

Status:
Fermé
Priority:
Haut
Assigned To:
Start date:
11/24/2017
Due date:
% Done:

100%

Estimated time:
4.00 h
Spent time:
Remaining (hours):
0.0

Description

Il y a plusieurs problèmes lors du reboot automatique sur un Hâpy.

Le principal problème est que de manière aléatoire certaines VM se retrouvent à l'état poweroff
ce qui est un réel problème pour les machines en productions.

Normalement le service onenode doit faire le travail de suspendre et rétablir les vm lors de l'arrêt et du lancement de la machine. Il se trouve que le service libvirt-guets essaye de faire la même chose et cela perturbe beaucoup le fonctionnement de onennode.

Après plusieurs tests, voici la solution que je propose :

1°) Désactiver le service libvirt-guets (dico ou posttemplate/pretemplate)
2°) Changer le .service de onenode pour éviter les problèmes.

je propose les modifications suivantes :

ExecStart=/usr/share/eole/sbin/onevm-all -c ${CREDS} -e ${ENDPOINT} -a "resume" 
ExecStop=/usr/share/eole/sbin/onevm-all -t 80 -w -c ${CREDS} -e ${ENDPOINT} -a "suspend" 

ExecStart n'a pas besoin d'attendre la fin de l'action et le timeout crée plus de problèmes que de bénéfices, si le lancement d'une VM traîne et bien le script s'arrête et les autres VM ne sont pas lancées.

ExecStop par contre lui a besoin d'attendre la fin de l'action (-w) et d'un timeout bcp plus long, il faut absolument que les VM soient toutes sauvergardés convenablement avant que la machine ne reboot.

Je l'ai corrigé sur une grappe de test chez nous et j'ai de bons résultats, toutes mes VM sont up après plusieurs reboot, je charge volontairement le noeud pour que la sauvegarde des VM soit la plus lente possible.

Associated revisions

Revision 340dd409 (diff)
Added by Daniel Dehennin almost 2 years ago

The VMs are not always resumes on reboot

The “libvirt-guests” service can conflict with “onevm-all” and we
don't need to wait for each VM to boot during start.

  • posttemplate/10-libvirt-guests: disable the “libvirt-guests” service.
  • init/onenode.service (ExecStart): use default wait timeout (60s).
    (TimeoutStartSec): wait for longer than the default timeout.
    (ExecReload): just try to resume any remaining VMs.
    (ExecStop): wait longer for VM to suspend.
    (TimeoutStopSec): wait for longer than the stop timeout.
  • scripts/onevm-all: schedule actions in parallel and wait globally
    for their executions.

Ref: #22155

History

#1 Updated by Gérald Schwartzmann almost 2 years ago

Bonjour,

Pour traiter votre demande nous avons besoin de la version du module utilisé.

Cordialement ^^

#2 Updated by Daniel Dehennin almost 2 years ago

  • Assigned To set to Daniel Dehennin
  • Parent task set to #22216

#3 Updated by Scrum Master almost 2 years ago

  • Status changed from Nouveau to En cours
  • Remaining (hours) set to 4.0

#4 Updated by Daniel Dehennin almost 2 years ago

  • Status changed from En cours to Résolu
  • % Done changed from 0 to 100

#5 Updated by Daniel Dehennin almost 2 years ago

  • Remaining (hours) changed from 4.0 to 0.5

Paquet disponibles :

  • eole-2.6.2-proposed-updates
  • eole-2.6.1-proposed-updates

#6 Updated by Philippe Caseiro almost 2 years ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) changed from 0.5 to 0.0

Nous avons testé sur un de nos Hâpy et nous n'avons plus le problème avec les 5 minutes d'attente maxi.
C'est bon pour nous.

Also available in: Atom PDF