15.6. 从 PXE 服务器启动虚拟机
使用预引导执行环境(PXE)的虚拟机可以从网络引导并加载它们的配置。您可以使用 libvirt 从虚拟或桥接网络上的 PXE 服务器引导虚拟机。
这些流程仅作为示例提供。在操作之前,请确保您有足够的备份。
15.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设置文件夹所有权:
# chown -R nobody: /var/lib/tftpboot更新 SELinux 上下文:
# chcon -R --reference /usr/sbin/dnsmasq /var/lib/tftpboot # chcon -R --reference /usr/libexec/libvirt_leaseshelper /var/lib/tftpboot关闭虚拟网络:
# virsh net-destroy default在默认编辑器中打开虚拟网络配置文件:
# virsh net-edit default编辑
<ip>元素,来包含合适的地址、网络掩码、DHCP 地址范围和引导文件,其中 example-pxelinux 是引导镜像文件的名称。<ip address='192.0.2.1' netmask='255.255.255.0'> <tftp root='/var/lib/tftpboot'/> <dhcp> <range start='192.0.2.2' end='192.0.2.254' /> <bootp file='example-pxelinux'/> </dhcp> </ip>启动虚拟网络:
# virsh net-start default
验证
验证
default虚拟网络是否处于活跃状态:# virsh net-list Name State Autostart Persistent --------------------------------------------------- default active no no
15.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或者,您可以手动编辑现有虚拟机的 XML 配置文件。为此,请确保客户机网络被配置为使用您的虚拟网络,并且网络被配置为主引导设备:
<interface type='network'> <mac address='52:54:00:66:79:14'/> <source network='default'/> <target dev='vnet0'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> <boot order='1'/> </interface>
验证
-
使用
virsh start命令启动虚拟机。如果正确配置了 PXE,则虚拟机可以从 PXE 服务器上提供的引导镜像启动。
15.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或者,您可以手动编辑现有虚拟机的 XML 配置文件。为此,请确保使用桥接网络配置了虚拟机,并网络被配置为主引导设备:
<interface type='bridge'> <mac address='52:54:00:5a:ad:cb'/> <source bridge='breth0'/> <target dev='vnet0'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> <boot order='1'/> </interface>
验证
-
使用
virsh start命令启动虚拟机。如果正确配置了 PXE,则虚拟机可以从 PXE 服务器上提供的引导镜像启动。