libvirt: comment faire démarrer un domaine au démarrage de l'hôte?

9

J'aimerais que certains de mes domaines démarrent automatiquement au démarrage de mon hôte (j'utilise libvirt + KVM sur ubuntu). Je suppose que je pourrais mettre des instructions "virsh start ..." dans rc.local, mais existe-t-il un moyen de configurer cela dans libvirt / virsh?

kdt
la source

Réponses:

16

En regardant la sortie de "help":

virsh # help autostart
  NAME
    autostart - autostart a domain

  SYNOPSIS
    autostart <domain> [--disable]

  DESCRIPTION
    Configure a domain to be automatically started at boot.

  OPTIONS
    [--domain] <string>  domain name, id or uuid
    --disable        disable autostarting

Cela nécessite que vous définissiez le domaine à partir d'un fichier (c'est-à-dire que le domaine soit persistant plutôt que transitoire).

larsks
la source
11

Si vous obtenez la réponse:

    virsh autostart domainname
    "cannot set autostart for transient domain"

puis

    virsh shutdown domainname
    virsh define xmlfile
    virsh start domainname
    virsh autostart domainname

D'après mon expérience sur Ubuntu 12.04, cela ne se produit que si un virsh undefine a été exécuté. Les domaines créés avec virsh create permettent généralement de définir le démarrage automatique immédiatement après la création.

John P. Fisher
la source
Cela peut également se produire si vous créez un domaine à l'aide d'un fichier xml ( virsh create <somevm>.xml), sans le définir ( virsh define <somevm>.xml)
Faraj Farook
0

J'ai également vu cela se produire lorsque vous utilisez "créer" au lieu de "définir" pour un domaine.

Par exemple:

virsh --connect qemu:///system create mytest-vm-20130715.xml

virsh --connect qemu:///system autostart mytest-vm

error: Failed to mark domain mytest-vm as autostarted

error: Requested operation is not valid: cannot set autostart for transient domain

FlakRat
la source