如何自动启动由 virt-manager 创建的 VM?

14 virtualization kvm-virtualization

我创建了一个在 kvm/qemu 上运行的带有 virt-manager 的虚拟机。当通过 virt-manager 启动时,机器运行良好。但是,我希望能够通过 init.d 中的脚本启动和停止 VM,以便它与主机一起启动和关闭。我需要让 virt-manager 显示机器正在运行,并且能够通过那里连接到它的控制台。

当我使用ps -eaf | grep kvm通过 virt-manager 启动虚拟机后运行生成的命令行时,我收到一些有关重定向字符设备的控制台消息,但机器确实启动并正常运行。但是,我没有从 virt-manager 那里得到任何迹象表明它已经启动。如何修改命令行以让 virt-manager 选择正在运行的 VM?在 virt-manager 之外启动时,命令行还有什么应该改变的吗?

命令行是(稍微重新格式化以提高可读性):

/usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 1 -name BORON \
-uuid fa7e5fbd-7d8e-43c4-ebd9-1504a4383eb1 \
-chardev socket,id=monitor,path=/var/lib/libvirt/qemu/BORON.monitor,server,nowait \
-monitor chardev:monitor -localtime -boot c \
-drive file=/dev/FS1/BORON,if=ide,index=0,boot=on,format=raw \
-net nic,macaddr=52:54:00:20:0b:fd,vlan=0,name=nic.0 \
-net tap,fd=41,vlan=0,name=tap.0 -chardev pty,id=serial0 -serial chardev:serial0 \
-parallel none -usb -usbdevice tablet -vnc 127.0.0.1:1 -k en-us -vga cirrus
Run Code Online (Sandbox Code Playgroud)

Tim*_*awa 22

至于自动启动/停止并且您正在使用 virsh,您可以这样做(作为特权用户)

virsh autostart Domain
Run Code Online (Sandbox Code Playgroud)

我不确定为什么 virt manager 没有给你任何输出。它确实与主机托管机器有连接,对吗?如果已连接,它应该显示域列表。


Phy*_*yxx 16

打开VM显示,点击View->Details

在此处输入图片说明

选择启动选项,然后勾选在主机启动时启动虚拟机

在此处输入图片说明

  • 这在某种程度上对我不起作用.. (2认同)

Tom*_*dor 10

蒂姆的答案是要走的路, virsh除此之外,您还可以做许多有用的事情。

要将虚拟机设置为自动启动,请使用:

# virsh autostart <domain-id>
Run Code Online (Sandbox Code Playgroud)

<domain-id>要么是虚拟机的数量,UUID或“友好名称”,如“debian1”,你在进入virt-manager

要获取虚拟机列表(编号和名称),请使用:

# virsh list --all
Run Code Online (Sandbox Code Playgroud)

就我而言,我得到:

 Id Name                 State
----------------------------------
  1 other                running
  2 other-clone          running
Run Code Online (Sandbox Code Playgroud)

所以我用过:

# virsh autostart other
Run Code Online (Sandbox Code Playgroud)


HVN*_*ing 8

然后安装virsh

virsh list                    (this will print list of your VMs)
virsh dominfo your_vm_name    (get info about selected VM)
virsh autostart your_vm_name  (set autostart of selected VM)
Run Code Online (Sandbox Code Playgroud)


dya*_*sny 6

您还可以在来宾 domxml 中放置一个符号链接/etc/libvirt/qemu/autostart

对于名为“test”的 VM,将如下所示:
test.xml -> /etc/libvirt/qemu/test.xml