有两代 Hyper-V 虚拟机——第一代和第二代。在创建虚拟机时,选择虚拟机的代数非常重要;这个选择还取决于客户操作系统、主机操作系统、引导方法和其他因素。第二代虚拟机比第一代虚拟机更新,尽管有时需要使用第一代虚拟机。
本博文解释了 Hyper-V 第一代与第二代虚拟机之间的区别,以帮助您做出正确的选择,满足您的需求。
Hyper-V 第一代与第二代:第一代虚拟机的特点
BIOS
BIOS 是固化在主板芯片上的基本输入/输出系统软件。BIOS 负责机器的启动和硬件配置。第一代虚拟机支持传统的基于 BIOS 的架构,并可以从 MBR(主引导记录)虚拟硬盘加载。Hyper-V 通过仿真数字 BIOS 和虚拟硬件来模拟 BIOS。
IDE 虚拟磁盘
第一代虚拟机具有虚拟 IDE 控制器,可用于从 IDE 虚拟磁盘引导虚拟机。只有在虚拟机上安装了 Hyper-V 集成服务后,虚拟 SCSI 控制器才能被识别。客户操作系统无法从 SCSI 磁盘引导。
仿真硬件
A physical computer needs a set of hardware components in order to work. All required hardware components must be emulated to make the virtual machine work. Special software that can imitate the behavior of real hardware is included in Hyper-V; as a result the VM can operate with virtual devices. Emulated hardware (that is identical to real hardware) includes drivers that are catered to most operating systems in order to provide high compatibility. Among the virtual devices of Gen 1 VM you can find:
- A legacy network adapter
- A virtual floppy drive
- 虚拟 COM 端口
第一代虚拟机的硬件限制
第一代虚拟机的硬件限制为:
- 2 个 IDE 控制器,每个控制器最多可以连接 2 个 IDE 驱动器
- A maximum of 4 SCSI controllers and up to 64 attached SCSI drives
- A MBR – 2TB disk with 4 partitions
- A physical DVD drive can be attached to a VM
- x86 和 x64 客户操作系统支持
Hyper-V 第1代 vs. 第2代:第2代虚拟机的改进
UEFI BIOS 支持。GPT 支持。安全启动
UEFI(统一可扩展固件接口)是低级软件,类似于 BIOS,在计算机开机后在加载操作系统(OS)之前启动。术语“UEFI BIOS”也用于更好地理解。UEFI 不仅仅是 BIOS 的替代品,还扩展了对设备和功能的支持。其中一些功能包括 GPT(全局唯一标识分区表)支持和安全启动。GPT 分区方案允许克服 2 TB 磁盘的限制,对于该分区方案,最大分区数为 4。安全启动是一项功能,允许防止修改引导加载程序和主系统文件;这是通过比较必须由原始设备制造商(OEM)信任的数字签名来完成的。这些功能可用,因为 Hyper-V 第2代虚拟机支持 UEFI。
从 SCSI 虚拟磁盘启动。本机 VMBUS 支持
第2代虚拟机可以从 SCSI 虚拟磁盘加载,因为 UEFI 支持与 SCSI 控制器的通信,而 BIOS 不支持。在虚拟机引导过程中对合成硬件的合成 VMBUS 驱动程序的支持允许在引导时使用 SCSI 驱动程序。例如,第1代虚拟机在文件系统初始化之前只能使用传统 IDE 驱动程序来模拟设备。必须安装 Hyper-V 集成服务才能为第1代虚拟机启用 SCSI 控制器。
PXE 引导选项
Gen 1和Gen 2虚拟机都支持PXE(预引导执行环境),即网络引导。然而,要为Gen 1虚拟机启用PXE引导,需要进行一些手动操作。默认情况下,向Gen 1虚拟机添加了性能更高的合成网络适配器,但这种类型的网络适配器不支持Gen 1虚拟机的网络引导。首先关闭虚拟机,然后添加一个模拟的传统网络适配器。完成后,您可以为Gen 1虚拟机使用PXE引导。
Gen 2虚拟机支持合成网络适配器的网络引导,因为它们使用UEFI,能够与此类型的网络适配器通信。因此,您可以在Gen 2 Hyper-V虚拟机上使用PXE引导,无需任何额外的技巧。
VHDX虚拟磁盘
Gen 2虚拟机只支持VHDX格式的虚拟磁盘文件,而Gen 1虚拟机支持VHD和VHDX格式。VHDX格式具有一系列优点,包括:
- 支持改进对齐的4KB块
- 增加了最大磁盘大小的限制
- 在跟踪元数据时对电源故障具有更好的抵抗力
- VHDX虚拟磁盘的整体性能更好
从Hyper-V主机复制文件到没有VMs网络连接的VMs
Gen 2虚拟机有增强会话模式,使用远程桌面协议。此功能允许将Hyper-V主机的本地资源与VM共享,或在Hyper-V主机和客户VM之间没有网络连接的情况下执行主机操作系统和客户操作系统之间的复制/粘贴操作。文件交换可以使用图形用户界面(VM连接)或PowerShell(Copy-VMFile cmdlet)执行。
一些要求必须满足:
- 必须在虚拟机上安装Hyper-V集成服务
- 必须在虚拟机上启用远程桌面服务
- 客户操作系统必须是Windows Server 2012 R2或更高版本/Windows 8或更高版本的Windows版本
如您所见,对于第2代虚拟机,复制文件变得更加方便。对于第1代虚拟机,从主机操作系统复制文件到客户操作系统的唯一方法是通过网络复制文件。
虚拟机启动更快
第2代虚拟机的启动时间约快20%,这是由于UEFI的更快启动。安装客户操作系统的时间也减少了多达50%。尽管在常规使用中,这种优势可能不易察觉,但在需要安装和配置大量新虚拟机或使用虚拟桌面基础设施(VDI)时,它可能帮助您节省时间。
较少的设备,合成硬件
过去,操作系统发布时并没有意识到其运行在虚拟机上。因此,使用了硬件仿真。第1代虚拟机采用硬件仿真的方法以实现最大的兼容性。最新的操作系统知道自己运行在虚拟机上,并使用VMBus而不是搜索传统控制器或芯片组。大多数旧的仿真设备已被移除,取而代之的是更快的合成硬件。通过更紧密的虚拟化管理和更少的虚拟设备,虚拟机的性能可能会提高。
更高的CPU和RAM限制
可以为虚拟机分配的最大虚拟内存和最大虚拟CPU数量已经增加:
1 TB RAM用于第1代虚拟机与12 TB RAM用于第2代虚拟机;
64个虚拟处理器用于第1代虚拟机与240个虚拟处理器用于第2代虚拟机.
因此,您可以使用第2代虚拟机来处理消耗更多资源的任务。在创建虚拟机之前,请检查主机操作系统的版本是否支持所需的最大内存量和最大虚拟处理器数量。Windows Server 2016的限制比Windows Server 2012 R2更高.
Hyper-V第1代与第2代:Gen2虚拟机的需求
第2代虚拟机由微软随Hyper-V发布,适用于Windows Server 2012 R2和Windows 8.1;因此,运行Gen 2虚拟机需要在Hyper-V主机上安装这些版本的64位Windows(或更新的版本,包括独立的Hyper-V Server 2012 R2)。Gen 2虚拟机的客户操作系统可以是Windows Server 2012或更新的Windows Server版本,Windows 8 x64或更高版本,因为它们支持UEFI 2.3.1与安全启动选项.
Hyper-V第1代与第2代:使用Gen2虚拟机的优势
让我们总结一下使用第2代虚拟机的主要优势。第2代虚拟机提供:
- 更高的性能(包括更高的CPU和内存限制)
- 更高的安全性,带有安全启动和可信平台模块
- 更多的启动选项,如使用合成网络适配器的PXE启动,以及从SCSI磁盘启动
- 更可靠的VHDX虚拟硬盘,最大磁盘尺寸更大
- 没有2 TB磁盘限制,因为支持UEFI与GPT
推荐在大多数情况下使用第二代虚拟机,尤其是对于现代64位操作系统。
例外
存在一些例外情况,当第一代虚拟机优于第二代虚拟机时:
- 只有第一代虚拟机支持32位操作系统
- 使用不支持UEFI的旧操作系统,或者没有合成硬件驱动程序的操作系统(例如,Windows XP、Windows 7、Windows Server 2008和一些旧的Linux发行版应在第一代虚拟机上运行)
- 如果您需要在虚拟机中使用COM端口和虚拟软盘,请使用第一代虚拟机(第二代虚拟机不支持COM端口和软盘)
- 将虚拟机迁移到不支持第二代虚拟机的基于Windows Server 2012、Windows Server 2008或Azure云的Hyper-V主机
如何创建第一代虚拟机和第二代虚拟机?
通过GUI创建虚拟机:
- 首先打开Hyper-V Manager
- 点击操作 > 新建 > 虚拟机
- 新建虚拟机向导将打开
- 在点击“下一步”之前,指定创建的虚拟机的名称和位置
- 现在您可以看到“指定生成”屏幕,在这里您可以选择虚拟机的生成(请参阅下面的屏幕截图)。
选择生成后,点击“下一步”并在向导中配置其他选项以完成虚拟机的创建。
如何将Gen2虚拟机转换为Gen1虚拟机,反之亦然?
微软没有提供任何工具来将虚拟机从一代转换到另一代。作为证明,您可以在上面的截图中看到一个警告:“一旦创建了虚拟机,您就无法更改其代”。在创建之前尝试预测虚拟机的任何可能用例,因为之后更改虚拟机代不受支持。然而,有一款非官方工具可以将Gen1虚拟机转换为Gen2虚拟机,名为Convert-VMGeneration。此工具不会修改源Gen1虚拟机。在转换过程中会创建一个新的带有新引导磁盘的Gen2虚拟机。您可以自行承担责任使用此工具,没有任何保证。
Hyper-V虚拟机备份
无论虚拟机的代,都应备份以防止数据丢失。NAKIVO备份与复制可以备份Hyper-V虚拟机的两代,并提供以下功能:
- 主机级基于镜像的备份。虚拟机在超级监视器级别备份,包括所有虚拟磁盘和配置文件。无需在客户虚拟机上安装备份代理,也无需在恢复情况下创建空虚拟机。主机级备份消耗的计算资源比客户级备份少。
- Hyper-V截图验证允许您确保虚拟机已成功备份,并且在虚拟机恢复后可以加载客户操作系统。使用此功能可以避免备份已创建但在恢复后无法运行虚拟机的情况。
- 颗粒恢复允许您恢复文件、目录、MS SQL对象、MS Exchange对象和Active Directory对象,而无需恢复整个虚拟机 – 这样可以节省时间。文件可以直接从基于Windows和基于Linux的虚拟机备份中恢复。
- 自动虚拟机故障转移可帮助您在可能的最短时间内恢复工作负载,如果您使用NAKIVO备份与复制创建了虚拟机副本。如果源虚拟机在可能的灾难后下线,您可以在适当的时间点故障转移到虚拟机副本,该副本是源虚拟机的完全相同副本。在将网络从源站点迁移到网络与源站点不同的灾难恢复站点期间,无需手动编辑每个虚拟机的网络设置。网络映射和重新IP在创建复制或故障转移作业期间自动化此过程。
结论
第二代虚拟机更加先进,因为它们使用合成虚拟设备、UEFI BIOS、GPT分区方案、安全启动、不使用技巧的PXE引导、更可靠的VHDX虚拟磁盘,并且具有更高的硬件限制。第二代虚拟机首选用于使用,但只有64位操作系统可以在其上运行。
如果您需要运行旧的操作系统或32位操作系统,则使用第一代虚拟机,它具有传统的模拟虚拟设备、BIOS、COM端口支持、虚拟软盘、虚拟IDE控制器和连接的物理DVD驱动器。在创建虚拟机之前,尝试预测所有可能的用例非常重要,因为创建后不支持更改虚拟机的生成。
Source:
https://www.nakivo.com/blog/hyper-v-generation-1-vs-2/