libvirt: ¿cómo puedo hacer que un dominio se inicie cuando se inicia el host?

9

Me gustaría que algunos de mis dominios se inicien automáticamente cuando se inicie mi host (estoy usando libvirt + KVM en ubuntu). Supongo que podría poner algunas declaraciones "virsh start ..." en rc.local, pero ¿hay alguna forma de configurar esto dentro de libvirt / virsh?

kdt
fuente

Respuestas:

16

Mirando el resultado de "ayuda":

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

Esto requiere que haya definido el dominio a partir de un archivo (es decir, que el dominio es persistente en lugar de transitorio).

larsks
fuente
11

Si obtienes la respuesta:

    virsh autostart domainname
    "cannot set autostart for transient domain"

entonces

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

En mi experiencia en Ubuntu 12.04, esto solo sucede si se ha ejecutado un virsh undefine. Los dominios creados con virsh create generalmente permiten configurar el inicio automático inmediatamente después de la creación.

John P. Fisher
fuente
Esto también puede suceder si crea un dominio utilizando un archivo xml ( virsh create <somevm>.xml), sin definirlo ( virsh define <somevm>.xml)
Faraj Farook
0

También he visto que esto sucede cuando usas "crear" en lugar de "definir" para un dominio.

Por ejemplo:

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
fuente