Azure 对第 2 代 VM 的支持Support for generation 2 VMs on Azure

Azure 现已提供对第 2 代虚拟机 (VM) 的支持。Support for generation 2 virtual machines (VMs) is now available on Azure. 创建虚拟机后无法更改其代系,因此,在选择代系之前,请先查看本页上的注意事项。You can't change a virtual machine's generation after you've created it, so review the considerations on this page before you choose a generation.

第 2 代 VM 支持第 1 代 VM 所不支持的某些关键特性。Generation 2 VMs support key features that aren't supported in generation 1 VMs. 这些特性包括更大的内存和虚拟化持久性内存 (vPMEM)。These features include increased memory, and virtualized persistent memory (vPMEM). 在本地运行的第 2 代 VM 具有 Azure 中尚不支持的一些功能。Generation 2 VMs running on-premises, have some features that aren't supported in Azure yet. 有关详细信息,请参阅特性和功能部分。For more information, see the Features and capabilities section.

第 2 代 VM 使用新的基于 UEFI 的启动体系结构,而不是使用第 1 代 VM 所用的基于 BIOS 的体系结构。Generation 2 VMs use the new UEFI-based boot architecture rather than the BIOS-based architecture used by generation 1 VMs. 与第 1 代 VM 相比,第 2 代 VM 的启动时间和安装时间可能有所改善。Compared to generation 1 VMs, generation 2 VMs might have improved boot and installation times. 有关第 2 代 VM 的概述以及第 1 代与第 2 代之间的某些差异,请参阅应在 Hyper-V 中创建第 1 代还是第 2 代虚拟机?For an overview of generation 2 VMs and some of the differences between generation 1 and generation 2, see Should I create a generation 1 or 2 virtual machine in Hyper-V?.

第 2 代 VM 的大小Generation 2 VM sizes

Azure 中的所有 VM 大小都支持第 1 代 VM(Mv2 系列 VM 除外)。Generation 1 VMs are supported by all VM sizes in Azure (except for Mv2-series VMs). Azure 目前为以下选定 VM 系列提供第 2 代支持:Azure now offers generation 2 support for the following selected VM series:

Azure 市场中的第 2 代 VM 映像Generation 2 VM images in Azure Marketplace

第 2 代 VM 支持以下市场映像:Generation 2 VMs support the following Marketplace images:

  • Windows Server 2019、2016、2012 R2、2012Windows Server 2019, 2016, 2012 R2, 2012

  • Windows 10 专业版、Windows 10 企业版Windows 10 Pro, Windows 10 Enterprise

  • SUSE Linux Enterprise Server 15 SP1SUSE Linux Enterprise Server 15 SP1

  • SUSE Linux Enterprise Server 12 SP4SUSE Linux Enterprise Server 12 SP4

  • Ubuntu Server 16.04、18.04、19.04、19.10Ubuntu Server 16.04, 18.04, 19.04, 19.10

  • Cent OS 8.1、8.0、7.7、7.6、7.5、7.4Cent OS 8.1, 8.0, 7.7, 7.6, 7.5, 7.4

本地与Azure 第 2 代 VMOn-premises vs. Azure generation 2 VMs

Azure 目前不支持本地 Hyper-V 对第 2 代 VM 所支持的某些特性。Azure doesn't currently support some of the features that on-premises Hyper-V supports for generation 2 VMs.

第 2 代的特性Generation 2 feature 本地 Hyper-VOn-premises Hyper-V AzureAzure
安全启动Secure boot ✔️
屏蔽 VMShielded VM ✔️
vTPMvTPM ✔️
基于虚拟化的安全性 (VBS)Virtualization-based security (VBS) ✔️
VHDX 格式VHDX format ✔️

特性和功能Features and capabilities

第 1 代和第 2 代的特性Generation 1 vs. generation 2 features

功能Feature 第 1 代Generation 1 第 2 代Generation 2
启动Boot PCATPCAT UEFIUEFI
磁盘控制器Disk controllers IDEIDE SCSISCSI
VM 大小VM sizes 所有 VM 大小All VM sizes 查看可用大小See available sizes

第 1 代与第 2 代的功能Generation 1 vs. generation 2 capabilities

功能Capability 第 1 代Generation 1 第 2 代Generation 2
OS 磁盘 > 2 TBOS disk > 2 TB ✔️
自定义磁盘/映像/交换 OSCustom disk/image/swap OS ✔️ ✔️
虚拟机规模集支持Virtual machine scale set support ✔️ ✔️
Azure Site RecoveryAzure Site Recovery ✔️ ✔️
备份/还原Backup/restore ✔️ ✔️
共享映像库Shared image gallery ✔️ ✔️
Azure 磁盘加密Azure disk encryption ✔️

创建第 2 代 VMCreating a generation 2 VM

市场映像Marketplace image

在 Azure 门户或 Azure CLI 中,可以从支持 UEFI 启动的市场映像创建第 2 代 VM。In the Azure portal or Azure CLI, you can create generation 2 VMs from a Marketplace image that supports UEFI boot.

Azure 门户Azure portal

下面是在 Azure 门户中创建第 2 代 (Gen2) VM 的步骤。Below are the steps to create a generation 2 (Gen2) VM in Azure portal.

  1. 通过 https://portal.azure.cn 登录到 Azure 门户。Sign in to the Azure portal at https://portal.azure.cn.
  2. 选择“创建资源”。 Select Create a resource .
  3. 在左侧的“Azure 市场”中单击“查看全部”。Click See all from Azure Marketplace on the left.
  4. 选择支持 Gen2 的映像。Select an image which supports Gen2.
  5. 单击“创建”。Click Create .
  6. 在“高级”选项卡的“VM 代系”部分下,选择“Gen 2”选项。In the Advanced tab, under the VM generation section, select the Gen 2 option.
  7. 在“基本信息”选项卡的“实例详细信息”下,转到“大小”并打开“选择 VM 大小”边栏选项卡。In the Basics tab, Under Instance details , go to Size and open the Select a VM size blade.
  8. 选择支持的第 2 代 VMSelect a supported generation 2 VM.
  9. 浏览其余页面以完成 VM 的创建。Go through the rest of the pages to finish creating the VM.

选择第 1 代或第 2 代 VM

PowerShellPowerShell

也可以使用 PowerShell 通过直接引用第 1 代或第 2 代 SKU 来创建 VM。You can also use PowerShell to create a VM by directly referencing the generation 1 or generation 2 SKU.

例如,使用以下 PowerShell cmdlet 获取 WindowsServer 产品/服务中的 SKU 列表。For example, use the following PowerShell cmdlet to get a list of the SKUs in the WindowsServer offer.

Get-AzVMImageSku -Location chinanorth2 -PublisherName MicrosoftWindowsServer -Offer WindowsServer

如果要创建使用 Windows Server 2012 作为操作系统的 VM,则将选择第 1 代 (BIOS) 或第 2 代 (UEFI) VM SKU,如下所示:If you're creating a VM with Windows Server 2012 as the OS, then you will select either the generation 1 (BIOS) or generation 2 (UEFI) VM SKU, which looks like this:

2012-Datacenter
2012-datacenter-gensecond

有关支持的市场映像的最新列表,请参阅特性和功能部分。See the Features and capabilities section for a current list of supported Marketplace images.

Azure CLIAzure CLI

或者,可以使用 Azure CLI 查看按 Publisher 列出的任何可用第 2 代映像。Alternatively, you can use the Azure CLI to see any available generation 2 images, listed by Publisher .

az vm image list --publisher Canonical --sku gen2 --output table --all

托管映像或托管磁盘Managed image or managed disk

可以从托管映像或托管磁盘创建第 2 代 VM,就像创建第 1 代 VM 一样,You can create a generation 2 VM from a managed image or managed disk in the same way you would create a generation 1 VM.

虚拟机规模集Virtual machine scale sets

还可以使用虚拟机规模集创建第 2 代 VM。You can also create generation 2 VMs by using virtual machine scale sets. 在 Azure CLI 中使用 Azure 规模集创建第 2 代 VM。In the Azure CLI, use Azure scale sets to create generation 2 VMs.

常见问题Frequently asked questions

  • 第 2 代 VM 是否已在所有 Azure 区域中推出?Are generation 2 VMs available in all Azure regions?
    是的。Yes. 但是,并非所有第 2 代 VM 大小都已在每个区域中推出。But not all generation 2 VM sizes are available in every region. 第 2 代 VM 的可用性取决于 VM 大小的可用性。The availability of the generation 2 VM depends on the availability of the VM size.

  • 第 1 代与第 2 代 VM 的价格是否有差别?Is there a price difference between generation 1 and generation 2 VMs?
    否。No.

  • 我有一个来自本地第 2 代 VM 的 .vhd 文件。我可以使用该 .vhd 文件在 Azure 中创建第 2 代 VM 吗?I have a .vhd file from my on-premises generation 2 VM. Can I use that .vhd file to create a generation 2 VM in Azure? 是的,你可以将第 2 代 .vhd 文件带到 Azure,并使用该文件创建第 2 代 VM。Yes, you can bring your generation 2 .vhd file to Azure and use that to create a generation 2 VM. 请使用以下步骤来执行该操作:Use the following steps to do so:

    1. 将 .vhd 上传到你要创建 VM 的同一区域中的存储帐户。Upload the .vhd to a storage account in the same region where you'd like to create your VM.

    2. 从该 .vhd 文件创建托管磁盘。Create a managed disk from the .vhd file. 将“Hyper-V Generation”属性设置为 V2。Set the Hyper-V Generation property to V2. 以下 PowerShell 命令在创建托管磁盘时设置“Hyper-V Generation”属性。The following PowerShell commands set Hyper-V Generation property when creating managed disk.

      $sourceUri = 'https://xyzstorage.blob.core.chinacloudapi.cn/vhd/abcd.vhd'. #<Provide location to your uploaded .vhd file>
      $osDiskName = 'gen2Diskfrmgenvhd'  #<Provide a name for your disk>
      $diskconfig = New-AzDiskConfig -Location '<location>' -DiskSizeGB 127 -AccountType Standard_LRS -OsType Windows -HyperVGeneration "V2" -SourceUri $sourceUri -CreateOption 'Import'
      New-AzDisk -DiskName $osDiskName -ResourceGroupName '<Your Resource Group>' -Disk $diskconfig
      
    3. 磁盘可用后,请通过附加此磁盘来创建 VM。Once the disk is available, create a VM by attaching this disk. 创建的 VM 将是第 2 代 VM。The VM created will be a generation 2 VM. 创建第 2 代 VM 时,可以选择将此 VM 的映像通用化。When the generation 2 VM is created, you can optionally generalize the image of this VM. 将该映像通用化后,可以使用它来创建多个 VM。By generalizing the image, you can use it to create multiple VMs.

  • 如何增大 OS 磁盘的大小?How do I increase the OS disk size?

    大于 2 TiB 的 OS 磁盘是第 2 代 VM 的新配置。OS disks larger than 2 TiB are new to generation 2 VMs. 默认情况下,第 2 代 VM 的 OS 磁盘小于 2 TiB。By default, OS disks are smaller than 2 TiB for generation 2 VMs. 可将磁盘大小增大至 4 TiB(建议的最大大小)。You can increase the disk size up to a recommended maximum of 4 TiB. 使用 Azure CLI 或 Azure 门户增大 OS 磁盘大小。Use the Azure CLI or the Azure portal to increase the OS disk size. 有关如何以编程方式扩展磁盘的信息,请参阅为 WindowsLinux 调整磁盘大小。For information about how to expand disks programmatically, see Resize a disk for Windows or Linux.

    若要在 Azure 门户中增大 OS 磁盘大小:To increase the OS disk size from the Azure portal:

    1. 在 Azure 门户中,转到 VM 属性页。In the Azure portal, go to the VM properties page.
    2. 若要关闭并解除分配 VM,请选择“停止”按钮。To shut down and deallocate the VM, select the Stop button.
    3. 在“磁盘”部分,选择要增大的 OS 磁盘。In the Disks section, select the OS disk you want to increase.
    4. 在“磁盘”部分,选择“配置”并将“大小”更新为所需的值。 In the Disks section, select Configuration , and update the Size to the value you want.
    5. 返回到 VM 属性页并 启动 VM。Go back to the VM properties page and Start the VM.

    你可能会看到一条警告,指出 OS 磁盘大于 2 TiB。You might see a warning for OS disks larger than 2 TiB. 该警告不适用于第 2 代 VM。The warning doesn't apply to generation 2 VMs. 但是,不支持使用大于 4 TiB 的 OS 磁盘大小。However, OS disk sizes larger than 4 TiB are not supported.

  • 第 2 代 VM 是否支持加速网络?Do generation 2 VMs support accelerated networking?
    是的。Yes. 有关详细信息,请参阅创建具有加速网络的 VMFor more information, see Create a VM with accelerated networking.

  • 第 2 代 VM 在 Azure 中是否支持安全启动或 vTPM?Do generation 2 VMs support Secure Boot or vTPM in Azure? Azure 中的第 1 代和第 2 代 VM 都不支持安全启动或 vTPM。Both generation 1 and generation 2 VMs in Azure do not support Secure Boot or vTPM.

  • 第 2 代是否支持 VHDX?Is VHDX supported on generation 2?
    否,第 2 代 VM 仅支持 VHD。No, generation 2 VMs support only VHD.

  • 是否可将 VM 从第 1 代迁移到第 2 代?Can I migrate a VM from generation 1 to generation 2?
    否,创建 VM 后无法更改其代系。No, you can't change the generation of a VM after you create it. 如果需要在 VM 代系之间切换,请创建一个不同代系的新 VM。If you need to switch between VM generations, create a new VM of a different generation.

  • 为什么在尝试创建 Gen2 VM 时,大小选择器中没有启用我的 VM 大小?Why is my VM size not enabled in the size selector when I try to create a Gen2 VM?

    可以通过执行以下操作来解决此问题:This may be solved by doing the following:

    1. 确认“高级”选项卡中的“VM 代系”属性已设为“Gen 2”。Verify that the VM generation property is set to Gen 2 in the Advanced tab.
    2. 验证是否正在搜索支持 Gen2 VM 的 VM 大小Verify you are searching for a VM size which supports Gen2 VMs.

后续步骤Next steps

了解 Hyper-V 中的第 2 代虚拟机Learn about generation 2 virtual machines in Hyper-V.