libvirt: bagaimana saya bisa membuat domain dimulai ketika tuan rumah mulai?

9

Saya ingin beberapa domain saya mulai secara otomatis ketika host saya mulai (saya menggunakan libvirt + KVM di ubuntu). Saya kira saya bisa menaruh beberapa "virsh start ..." pernyataan di rc.local, tetapi apakah ada cara untuk mengkonfigurasi ini dalam libvirt / virsh?

kdt
sumber

Jawaban:

16

Melihat output dari "bantuan":

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

Ini mengharuskan Anda menentukan domain dari file (yaitu, bahwa domain tersebut persisten daripada sementara).

larsks
sumber
11

Jika Anda mendapat respons:

    virsh autostart domainname
    "cannot set autostart for transient domain"

kemudian

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

Dalam pengalaman saya di Ubuntu 12.04, ini hanya terjadi jika virsh undefine telah dijalankan. Domain yang dibuat dengan virsh create biasanya memungkinkan pengaturan autostart segera setelah pembuatan.

John P. Fisher
sumber
Ini juga dapat terjadi jika Anda membuat domain menggunakan file xml ( virsh create <somevm>.xml), tanpa mendefinisikannya ( virsh define <somevm>.xml)
Faraj Farook
0

Saya juga melihat ini terjadi ketika Anda menggunakan "buat" bukan "tentukan" untuk domain.

Sebagai contoh:

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
sumber