virsh 自动启动不工作

virsh 自动启动不工作
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

相关内容