libvirt: como posso iniciar um domínio quando o host é iniciado?

9

Gostaria que alguns dos meus domínios iniciassem automaticamente quando meu host fosse iniciado (estou usando libvirt + KVM no ubuntu). Acho que eu poderia colocar algumas instruções "virsh start ..." no rc.local, mas existe uma maneira de configurar isso no libvirt / virsh?

kdt
fonte

Respostas:

16

Observando a saída 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

Isso requer que você defina o domínio a partir de um arquivo (ou seja, que o domínio seja persistente e não transitório).

larsks
fonte
11

Se você receber a resposta:

    virsh autostart domainname
    "cannot set autostart for transient domain"

então

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

Na minha experiência no Ubuntu 12.04, isso só acontece se um indefinido virsh tiver sido executado. Os domínios criados com o virsh create geralmente permitem definir a inicialização automática imediatamente após a criação.

John P. Fisher
fonte
Isso também pode acontecer se você criar um domínio usando um arquivo xml ( virsh create <somevm>.xml), sem defini-la ( virsh define <somevm>.xml)
Faraj Farook
0

Também vi isso acontecer quando você usa "create" em vez de "define" para um domínio.

Por exemplo:

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
fonte