libvirt: Wie kann ich eine Domain starten lassen, wenn der Host startet?

9

Ich möchte, dass einige meiner Domains automatisch gestartet werden, wenn mein Host startet (ich verwende libvirt + KVM auf Ubuntu). Ich denke, ich könnte einige "virsh start ..." - Anweisungen in rc.local einfügen, aber gibt es eine Möglichkeit, dies in libvirt / virsh zu konfigurieren?

kdt
quelle

Antworten:

16

Betrachten Sie die Ausgabe von "Hilfe":

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

Dies erfordert, dass Sie die Domäne aus einer Datei definiert haben (dh, dass die Domäne eher persistent als vorübergehend ist).

Larsks
quelle
11

Wenn Sie die Antwort erhalten:

    virsh autostart domainname
    "cannot set autostart for transient domain"

dann

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

Nach meiner Erfahrung unter Ubuntu 12.04 geschieht dies nur, wenn ein virsh undefine ausgeführt wurde. Mit virsh create erstellte Domänen ermöglichen normalerweise das Festlegen des Autostarts unmittelbar nach der Erstellung.

John P. Fisher
quelle
Dies kann auch passieren, wenn Sie eine Domain mit einer XML-Datei ( virsh create <somevm>.xml) erstellen , ohne sie zu definieren ( virsh define <somevm>.xml)
Faraj Farook
0

Ich habe dies auch gesehen, wenn Sie "create" anstelle von "define" für eine Domain verwenden.

Zum Beispiel:

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
quelle