4.3. 当主机启动时自动启动虚拟机
当一个带有运行的虚拟机(VM)的主机重启时,虚拟机将关闭,默认必须手动启动。要确保虚拟机在其主机运行时处于活跃状态,您可以将虚拟机配置为自动启动。
先决条件
流程
使用
virsh autostart
工具将虚拟机配置为在主机启动时自动启动。例如,以下命令将 demo-guest1 虚拟机配置为自动启动:
virsh autostart demo-guest1
# virsh autostart demo-guest1 Domain 'demo-guest1' marked as autostarted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用不是由
libvirt
管理的网络接口,则也必须对 systemd 配置进行额外的更改。否则,受影响的虚拟机可能无法启动。注意例如,这些接口包括:
-
NetworkManager
创建的网桥设备 -
网络配置为使用
<forward mode='bridge'/>
在 systemd 配置目录树中,如果
virtqemud.service.d
目录尚不存在,则创建该目录。mkdir -p /etc/systemd/system/virtqemud.service.d/
# mkdir -p /etc/systemd/system/virtqemud.service.d/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在之前创建的目录中创建一个
10-network-online.conf
systemd 单元覆盖文件。此文件的内容覆盖virtqemud
服务的默认 systemd 配置。touch /etc/systemd/system/virtqemud.service.d/10-network-online.conf
# touch /etc/systemd/system/virtqemud.service.d/10-network-online.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将以下行添加到
10-network-online.conf
文件中:这个配置更改可确保 systemd 仅在主机上的网络就绪后启动virtqemud
服务。[Unit] After=network-online.target
[Unit] After=network-online.target
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
验证
查看虚拟机配置,并检查是否启用了 autostart 选项。
例如,以下命令显示有关 demo-guest1 虚拟机的基本信息,包括 autostart 选项:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用不由 libvirt 管理的网络接口,请检查
10-network-online.conf
文件的内容是否与以下输出匹配:cat /etc/systemd/system/virtqemud.service.d/10-network-online.conf [Unit] After=network-online.target
$ cat /etc/systemd/system/virtqemud.service.d/10-network-online.conf [Unit] After=network-online.target
Copy to Clipboard Copied! Toggle word wrap Toggle overflow