从我对PXE(预启动执行环境)的理解中,我知道在启动客户机和DHCP服务器之间必须先进行一些协商以获得networking参数(IP地址等),以便客户机能够获取启动加载程序和内核映像从引导服务器。 换句话说,除了做一个“虚拟”机器之外,我们在这里谈论的是一个“裸机”机器,所以这些协商必须有一些“预启动”的机制,这正是PXE是关于。 当我想到“networking安装”选项时,我无法弄清楚如果没有前面提到的机制,新的虚拟机如何能够获取启动映像(引导加载程序和内核)。
所以,下面是一个简短的问题:当configuration一个新的虚拟机时,你如何期待virt-manager中的“networking安装”选项在幕后工作?
非常感谢。
Virt-manager(和virt-install)只是运行QEMU的前端(在这种情况下是qemu-kvm)。 当使用PXE安装进行调用时,它就像进行PXE引导的物理服务器一样工作。 也就是说,它将QEMU作为具有networkingfunction的BIOS的虚拟机运行,并具有内置的IP堆栈。 现在,当作为networking安装(非PXE)运行时,virt-install首先获取内核映像和初始ramdisk映像(即,它在VM之外)。 然后使用“-kernel”和“-initrd”参数调用qemu-kvm,指向父主机文件系统中下载这些映像的位置。 当qemu-kvm启动时,它会将这两个文件的内容移到Grub,Lilo或Syslinux通常放置的相同的内存位置,并告诉虚拟化的BIOS(在VM中)在这些内存位置开始执行。
你可以通过在运行安装时执行“ps -ef”列表来看到如何调用qemu-kvm,如果你愿意,你可以在virt-manager之外使用同样的命令行。