如何自动启动由 virt-manager 创建的虚拟机?

如何自动启动由 virt-manager 创建的虚拟机?

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

当我使用通过 virt-manager 启动虚拟机后运行生成的命令行时ps -eaf | grep kvm,我收到一些有关重定向字符设备的控制台消息,但机器确实启动并正常运行。但是,我没有从 virt-manager 收到它已启动的任何指示。我如何修改命令行以使 virt-manager 接收正在运行的虚拟机?在 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

答案1

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

virsh autostart Domain

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

答案2

打开虚拟机显示,点击查看->详细信息

在此处输入图片描述

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

在此处输入图片描述

答案3

蒂姆的回答是正确的,并且 virsh还能让你做很多有用的事情。

要将虚拟机设置为自动启动,您可以使用:

# virsh autostart <domain-id>

<domain-id>虚拟机的编号、UUID 或您在 中输入的“友好名称”,如“debian1” virt-manager

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

# virsh list --all

就我而言,我得到:

 Id Name                 State
----------------------------------
  1 other                running
  2 other-clone          running

所以我用过:

# virsh autostart other

答案4

您还可以在以下位置放置指向客户机 domxml 的符号链接/etc/libvirt/qemu/autostart

对于名为“test”的虚拟机来说,它将如下所示:
test.xml -> /etc/libvirt/qemu/test.xml

相关内容