Est-ce que `sudo reboot` sur l'hôte KVM éteindra gracieusement les VM invitées?

16

Actuellement, j'éteins manuellement chaque invité KVM avant de redémarrer l'hôte. Cependant, cela vieillit et maintenant je compte environ 20 machines invitées.

Puis-je faire confiance à Ubuntu Server 12.04 pour faire la bonne chose et attendre la fin d'un arrêt jusqu'à ce que le dernier client KVM soit éteint?

Sinon, existe-t-il un moyen plus simple de fermer tous les invités avec élégance?

HDave
la source
1
Quelque chose à penser: un script d'arrêt qui enverrait une sorte de signal "arrêt toutes les machines virtuelles" à KVM. L'idée a besoin d'être étoffée, mais si KVM prend en charge le contrôle en ligne de commande, il ne serait pas trop difficile de créer un script d'arrêt simple pour ce faire.
JamesTheAwesomeDude
Oui - cela pourrait être fait via la virshcommande, je cherche quelque chose de plus prêt à l'emploi. Selon ce bug du tableau de bord, cela peut déjà fonctionner: bugs.launchpad.net/ubuntu/+source/kvm/+bug/350936
HDave
1
Sur RedHat, ils ont un script appelé libvirt-guestsqui s'occupe de cela automatiquement, mais pour une raison quelconque, Ubuntu n'inclut pas ce script dans leur package. launchpad.net/ubuntu/+source/libvirt/0.9.8-2ubuntu1
HDave
1
ok - /etc/init/libvirt-binil semble que le code nécessaire soit là pour le faire. Je viens de terminer un test et cela a fonctionné, mais j'ai dû augmenter le délai d'expiration de ce fichier de 30 secondes à 2 minutes.
HDave
En tant qu'administrateur système, je suis choqué de voir que le délai d'attente /etc/init/libvirt-bin.confn'est que de 30 secondes. En vérifiant le code, je vois que ce n'est même pas par machine virtuelle, c'est total. J'ai vu un serveur de production physique (non VM) qui met 15 minutes à s'arrêter sur un nouveau matériel rapide après une nouvelle installation et des bases de données restaurées. Le serveur VM principal actuel de My Work prend près de 10 minutes pour s'arrêter en raison des 30 machines virtuelles avec plusieurs bases de données, etc.
BeowulfNode42

Réponses: