root@virtual3:~# virsh autostart nstest
Domain nstest marked as autostarted
root@virtual3:~# virsh dominfo nstest
Id: -
Name: nstest
UUID: 8cf691cd-7246-442b-a26b-3580e24600c5
OS Type: hvm
State: shut off
CPU(s): 2
Max memory: 6291456 KiB
Used memory: 2097152 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: apparmor
Security DOI: 0
root@virtual3:~#
我做错了什么?域 xml 列在 /etc/libvirt/qemu/autostart 中,但仍然没有自动启动 :(
日志中没有任何内容:((
答案1
我遇到了同样的问题(2/3/22),现在找到了解决方案(2/7/22)。
问题:我也遇到了同样的问题。以前从未发生过。在一台 Centos 7 主机上,我之前设置为自动启动的前 3 个虚拟机运行正常(我可以启用和禁用自动启动)。但我有另外 4 个之前已自动启动的虚拟机,现在设置为不自动启动,我无法启用。我通常使用 UI。如果我单击自动启动、保存并返回,它不会被选中,尽管应该被选中。所以我按照命令行尝试了一下,但它也不起作用,我发现了你上面发现的内容。重新启动客户端或主机都没有区别。客户端虚拟机是运行还是关闭都没有区别。
解决方案。 似乎有些东西不同步了。什么,我不确定。问题显然不是虚拟机 .xml 文件中保存的内容。虽然我从未发现到底出了什么问题,但我确实找到了修复方法。任何设置为自动启动的东西都应该在 /etc/libvirt/qemu/autostart/ 中有一个条目,名为 machinename.xml,其中包含指向 /etc/libvirt/qemu/ 中同名虚拟机 xml 配置文件的符号链接。删除 /etc/libvirt/qemu/autostart 目录中有问题的客户端的符号链接(确保不要删除 qemu 目录中的源 xml)。现在,当您尝试通过 UI 或通过“virsh autostart machinename”打开自动启动时。我删除了 4 个有问题的客户端的 autostart/*xml 文件,然后通过 UI 反复打开和关闭一个,并通过命令行打开和关闭其他 3 个,现在对我来说一切都正常了……
答案2
就我而言,问题在于自动启动文件夹中有一个文件,但没有链接。
root@kvm1630:/etc/libvirt/qemu # ls -l
-rw------- 1 root root 7982 févr. 18 15:17 hebergement.xml
root@kvm1630:/etc/libvirt/qemu # ls -l autostart/
-rwx------ 1 root root 6195 avril 16 2021 hebergement.xml*
解决方案:删除该文件并创建符号链接。
root@kvm1630:/etc/libvirt/qemu # rm autostart/hebergement.xml
rm: remove regular file 'autostart/hebergement.xml'? y
然后再次运行该命令以使虚拟机自动启动:
root@kvm1630:/etc/libvirt/qemu # virsh autostart hebergement
Domain hebergement marked as autostarted
root@kvm1630:/etc/libvirt/qemu # ls -l autostart/
lrwxrwxrwx 1 root root 33 févr. 18 15:49 hebergement.xml -> /etc/libvirt/qemu/hebergement.xml
我们最终检查虚拟机确实是自动启动的。
root@kvm1630:/etc/libvirt/qemu # virsh dominfo hebergement
Id: 9
Name: hebergement
UUID: 74590197-8b3a-4bed-95e6-653ce7c456af
OS Type: hvm
State: running
CPU(s): 1
CPU time: 6614,7s
Max memory: 8388608 KiB
Used memory: 8388608 KiB
Persistent: yes
Autostart: enable
Managed save: no
Security model: none
Security DOI: 0
仅供参考,我使用 fi-backupLibVirtKvm 脚本每小时创建一次 VM 快照...结果:VM 定义 xml 文件每小时更改一次,如下所示:
root@kvm1630:/etc/libvirt/qemu # colordiff hebergement.xml autostart/hebergement.xml
46,83c48
< <source file='/var/lib/libvirt/images/hebergement.bimg-20220218-151710'/>
< <backingStore type='file'>
< <format type='qcow2'/>
< <source file='/var/lib/libvirt/images/hebergement.bimg-20220218-141710'/>
< <backingStore type='file'>
< <format type='qcow2'/>
< <source file='/var/lib/libvirt/images/hebergement.bimg-20220218-131710'/>
< <backingStore type='file'>
< <format type='qcow2'/>
< <source file='/var/lib/libvirt/images/hebergement.bimg-20220218-121709'/>
< <backingStore type='file'>
< <format type='qcow2'/>
< <source file='/var/lib/libvirt/images/hebergement.bimg-20220218-111709'/>
< <backingStore type='file'>
< <format type='qcow2'/>
< <source file='/var/lib/libvirt/images/hebergement.bimg-20220218-101711'/>
< <backingStore type='file'>
< <format type='qcow2'/>
< <source file='/var/lib/libvirt/images/hebergement.bimg-20220218-091738'/>
< <backingStore type='file'>
< <format type='qcow2'/>
< <source file='/var/lib/libvirt/images/hebergement.bimg-20220218-091200'/>
< <backingStore type='file'>
< <format type='qcow2'/>
< <source file='/var/lib/libvirt/images/hebergement.bimg-20220218-082151'/>
< <backingStore type='file'>
< <format type='qcow2'/>
< <source file='/var/lib/libvirt/images/hebergement.qcow2'/>
< <backingStore/>
< </backingStore>
< </backingStore>
< </backingStore>
< </backingStore>
< </backingStore>
< </backingStore>
< </backingStore>
< </backingStore>
< </backingStore>
---
> <source file='/var/lib/libvirt/images/hebergement.bimg-20210415-011726'/>
希望能帮助到你
欧内斯特。
答案3
看起来你期望设置“自动启动”将立即地启动虚拟机。然而,这并不是自动启动的预期效果。相反,它只是为了确保虚拟机在开机时间为主持人。从手册页:
配置一个在启动时自动启动的域。
如果您想要立即启动虚拟机,则需要使用virsh start
。