16.6. 从 PXE 服务器启动虚拟机
使用预引导执行环境(PXE)的虚拟机可以从网络引导并加载它们的配置。您可以使用 libvirt
从虚拟或桥接网络上的 PXE 服务器引导虚拟机。
这些流程仅作为示例提供。在操作之前,请确保您有足够的备份。
16.6.1. 在虚拟网络中设置 PXE 引导服务器 复制链接链接已复制到粘贴板!
您可以配置 libvirt
虚拟网络以提供预引导执行环境(PXE)。这可让主机上的虚拟机被配置为从虚拟网络上提供的引导镜像引导。
先决条件
本地 PXE 服务器(DHCP 和 TFTP),例如:
- libvirt 内部服务器
- 手动配置 dhcpd 和 tftpd
- dnsmasq
- Cobbler 服务器
-
PXE 引导映像,如 Cobbler 配置的
PXELINUX
或手工进行配置。
流程
-
将 PXE 引导镜像和配置放在
/var/lib/tftpboot
文件夹中。 设置文件夹权限:
chmod -R a+r /var/lib/tftpboot
# chmod -R a+r /var/lib/tftpboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置文件夹所有权:
chown -R nobody: /var/lib/tftpboot
# chown -R nobody: /var/lib/tftpboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 SELinux 上下文:
chcon -R --reference /usr/sbin/dnsmasq /var/lib/tftpboot chcon -R --reference /usr/libexec/libvirt_leaseshelper /var/lib/tftpboot
# chcon -R --reference /usr/sbin/dnsmasq /var/lib/tftpboot # chcon -R --reference /usr/libexec/libvirt_leaseshelper /var/lib/tftpboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 关闭虚拟网络:
virsh net-destroy default
# virsh net-destroy default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在默认编辑器中打开虚拟网络配置文件:
virsh net-edit default
# virsh net-edit default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
<ip>
元素,来包含合适的地址、网络掩码、DHCP 地址范围和引导文件,其中 example-pxelinux 是引导镜像文件的名称。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动虚拟网络:
virsh net-start default
# virsh net-start default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证
default
虚拟网络是否处于活跃状态:virsh net-list
# virsh net-list Name State Autostart Persistent --------------------------------------------------- default active no no
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.6.2. 使用 PXE 和虚拟网络引导虚拟机 复制链接链接已复制到粘贴板!
要从虚拟网络上的预引导执行环境(PXE)服务器引导虚拟机(VM),您必须启用 PXE 引导。
先决条件
- 在虚拟网络上设置 PXE 引导服务器,如在虚拟网络中设置 PXE 引导服务器所述。
流程
创建启用了 PXE 引导的新虚拟机。例如,若要从
default
虚拟网络上提供的 PXE 安装一个新的 10 GB QCOW2 镜像文件:virt-install --pxe --network network=default --memory 2048 --vcpus 2 --disk size=10
# virt-install --pxe --network network=default --memory 2048 --vcpus 2 --disk size=10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您可以手动编辑现有虚拟机的 XML 配置文件。为此,请确保客户机网络被配置为使用您的虚拟网络,并且网络被配置为主引导设备:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
-
使用
virsh start
命令启动虚拟机。如果正确配置了 PXE,则虚拟机可以从 PXE 服务器上提供的引导镜像启动。
16.6.3. 使用 PXE 和桥接网络启动虚拟机 复制链接链接已复制到粘贴板!
要从桥接网络上提供的预引导执行环境(PXE)服务器启动虚拟机(VM),您必须启用 PXE 引导。
先决条件
- 启用了网络桥接。
- 网桥网络上提供了 PXE 引导服务器。
流程
创建启用了 PXE 引导的新虚拟机。例如,若要从
breth0
网桥网络上提供的 PXE 安装到新的 10 GB QCOW2 镜像文件:virt-install --pxe --network bridge=breth0 --memory 2048 --vcpus 2 --disk size=10
# virt-install --pxe --network bridge=breth0 --memory 2048 --vcpus 2 --disk size=10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您可以手动编辑现有虚拟机的 XML 配置文件。为此,请确保使用桥接网络配置了虚拟机,并网络被配置为主引导设备:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
-
使用
virsh start
命令启动虚拟机。如果正确配置了 PXE,则虚拟机可以从 PXE 服务器上提供的引导镜像启动。