使用Virtualbox设置虚拟机时,在“网络配置”部分中,可以从各种仿真适配器中进行选择:
在创建VM时自动选择的默认选项是Intel PRO / 1000 MT Desktop。
我想知道在虚拟化上下文中这些适配器之间有什么区别,以及何时建议使用其中一个而不是其他。
我也很好奇,不同的来宾系统是否优先选择其中一个。就是说,如果Linux来宾有优先选择,例如,英特尔MT和Windowsnet优先用于PCnet Fast,依此类推。当然,这些只是随机的例子。
使用Virtualbox设置虚拟机时,在“网络配置”部分中,可以从各种仿真适配器中进行选择:
在创建VM时自动选择的默认选项是Intel PRO / 1000 MT Desktop。
我想知道在虚拟化上下文中这些适配器之间有什么区别,以及何时建议使用其中一个而不是其他。
我也很好奇,不同的来宾系统是否优先选择其中一个。就是说,如果Linux来宾有优先选择,例如,英特尔MT和Windowsnet优先用于PCnet Fast,依此类推。当然,这些只是随机的例子。
Answers:
这些适配器之间最重要的区别是,特定的来宾系统可能仅支持其中的一些适配器,因此这是“工作”与“根本不工作”之间的区别。例如,Windows Vista和更高版本不再具有AMD PCnet卡的驱动程序,因此这些系统必须使用Intel PRO / 1000变体之一。但是,较早的系统可能具有PCnet的驱动程序,而E1000没有。出于相同的原因,支持三种不同的Intel PRO / 1000卡版本。
请参阅VirtualBox用户手册中的“虚拟网络硬件”部分:
PCNet FAST III是默认的,因为几乎所有开箱即用的操作系统以及GNU GRUB引导管理器都支持它。作为例外,为某些客户机操作系统选择了英特尔PRO / 1000系列适配器,而这些客户机操作系统不再随PCNet卡的驱动程序一起提供,例如Windows Vista。
英特尔PRO / 1000 MT桌面类型适用于Windows Vista和更高版本。Windows XP来宾可以识别Intel PRO / 1000卡的T Server变体,而无需安装其他驱动程序。MT Server变体有助于从其他平台导入OVF。
如果创建新的虚拟机并正确选择操作系统类型,将自动选择与所选操作系统兼容的适配器类型。
但是,适配器类型之间还有其他差异,当在来宾操作系统都支持的多种类型之间进行选择时,应考虑这些差异:
仅当使用E1000适配器类型之一时,才支持巨型帧和802.1q VLAN标记等某些高级功能。
如果需要从网络引导来宾,则VirtualBox的开源版本仅为PCnet适配器提供基于Etherboot的PXE ROM。仅在专有的Oracle Extension Pack中提供E1000的Intel PXE ROM。但是,您可以提供带有PXE ROM的外部文件,并且gPXE支持所有这些适配器类型(包括virtio-net),因此这不是一个非常重要的限制。
E1000变体通常提供比PCnet更好的性能。理论上,virtio-net适配器应提供最佳性能,因为其“硬件”接口在创建时就考虑了虚拟化。但是,不久前它在VirtualBox中的支持还存在很多问题,我最近没有尝试过。