libvirt:如何在主机启动时启动域?

kdt*_*kdt 13 virtualization linux libvirt kvm-virtualization

我希望我的一些域在我的主机启动时自动启动(我在 ubuntu 上使用 libvirt+KVM)。我想我可以在 rc.local 中放置一些“virsh start...”语句,但是有没有办法在 libvirt/virsh 中配置它?

lar*_*sks 16

查看“帮助”的输出:

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
Run Code Online (Sandbox Code Playgroud)

这要求您从文件中定义域(即域是持久的而不是瞬态的)。


Joh*_*her 13

如果你得到回应:

    virsh autostart domainname
    "cannot set autostart for transient domain"
Run Code Online (Sandbox Code Playgroud)

然后

    virsh shutdown domainname
    virsh define xmlfile
    virsh start domainname
    virsh autostart domainname
Run Code Online (Sandbox Code Playgroud)

根据我在 Ubuntu 12.04 上的经验,只有在运行 virsh undefine 时才会发生这种情况。使用 virsh create 创建的域通常允许在创建后立即设置自动启动。

  • 如果您使用 xml 文件 (`virsh create &lt;somevm&gt;.xml`) 创建域,而不定义它 (`virsh Define &lt;somevm&gt;.xm`l),也会发生这种情况 (2认同)