为虚拟机实例指定满足最低要求的 CPU 平台


本文档介绍了如何创建或更新虚拟机实例以使用满足最低要求的基准 CPU 平台 (minCpuPlatform)(只要可供使用)。

Google 数据中心提供基于 Intel Xeon 的主机,包含 Sandy Bridge、Ivy Bridge、Haswell、Broadwell、Skylake CPU 平台。每个 CPU 平台都支持增量功能,如 AVX-2、AVX-512 等。一些与基本系统相关的功能,如时钟速度和存储设备存取寻道时间可能因 CPU 平台而异。不同的地区支持多种 CPU 平台,您可以通过最低要求平台选项,为您的虚拟机实例选择一个支持工作负载特定需求的 CPU 平台。

如需了解每个地区可用的 CPU 平台,请参阅 CPU 平台以及区域和地区文档。

准备工作

何时选择满足最低要求的 CPU 平台

您很可能无需为虚拟机选择满足最低要求的 CPU 平台。每个 Compute Engine 地区均有一个默认的 CPU 平台,具体请参阅区域和地区文档中所列内容。如果新创建的虚拟机没有设置满足最低要求的 CPU 规范,一律将自动获得默认的 CPU 平台。

Google 建议您仅在显著提升工作负载性能或提供特定功能(例如代码所用的 AVX2、AVX512 或 MPX)时选择最低要求 CPU 平台。为您的虚拟机选择某个特定的最低要求 CPU 平台会产生额外的限制,可能使您无法在某些 CPU 平台供应量有限的特定地区中启动虚拟机。

选择最低要求 CPU 平台后的工作方式

当您指定了某个最低要求 CPU 平台后:

  • Compute Engine 总是尽可能使用最低要求 CPU 平台。

  • 如果 Compute Engine 弃用某个地区中的 CPU 平台,则在您停止并重启虚拟机之后,虚拟机可以继续在该地区可用的某个更好的 CPU 平台上运行。弃用 CPU 平台的情况非常少见,即便发生这种情况,我们也会提前通知您。

在您为某个虚拟机选择了满足最低要求的 CPU 平台后:

  • 除非您停止虚拟机并更改 CPU 平台,否则您的虚拟机将使用此 CPU 平台。
  • 实时迁移后,您的虚拟机将保留相同的选定 CPU 平台。
  • 有时,Google 可能会更新某个地区的默认 CPU 平台。如需了解详情,请参阅弃用或升级默认 CPU 平台

弃用或升级默认 CPU 平台

有时,Google 会弃用较旧的 CPU 平台或更新特定地区中的默认 CPU 平台,这是因为:

  • 随着时间推移,地区容量会不断增加,且在平台可用时主动切换到较新的 CPU 平台。
  • 每 3 到 5 年,Google 就会用较新的 CPU 平台替换较旧的平台,并将默认 CPU 平台更新为该地区中可用的下一最新平台。

不管任何时候,新的区域或地区建立时,其将使用当时最新的 CPU 平台。

当某个地区被弃用或该地区的默认 CPU 平台发生变化时,Google 会提前通知受影响的客户,并提供转换到较新平台的详细时间表和具体说明。

虚拟机绝对不会使用比您指定的最低要求 CPU 平台更早的平台,而且如果 Compute Engine 将您的虚拟机转换到较新的平台上,虚拟机的费用不会改变。

规格

限制

  • f1-smallg1-small 预定义机器类型为共享核心通用虚拟机。这些类型将不具备 CPU 平台选择选项。

可用性

特定 CPU 平台的可用性因地区而异,视每个地区中可供使用的硬件而定。下表列出了支持的满足最低要求的 CPU 平台和每个平台的有效语法:

  • Intel Xeon (Skylake) 处理器:"Intel Skylake"
  • Intel Xeon E5 (Sandy Bridge) 处理器:"Intel Sandy Bridge"
  • Intel Xeon E5 v2 (Ivy Bridge) 处理器:"Intel Ivy Bridge"
  • Intel Xeon E5 v3 (Haswell) 处理器:"Intel Haswell"
  • Intel Xeon E5 v4 (Broadwell) 处理器:"Intel Broadwell"
  • Intel Xeon (Cascade Lake) 处理器:"Intel Cascade Lake"

只有特定地区包含多个 CPU 平台且可用于满足最低要求的 CPU 平台选择。如果您使用的是单租户节点,每个节点都会使用与您在节点模板中指定的节点类型对应的 CPU 平台。因此,您无法为使用单租户节点的虚拟机指定满足最低要求的 CPU 平台。

您可以使用 gcloud compute zones describe 命令或通过向 API 发出请求来查看特定地区支持的平台列表。

gcloud

如需查看您的地区支持的 CPU 平台,请使用以下命令:

gcloud compute zones describe [ZONE]

例如,此命令的输出结果会列出 us-west1-a 地区支持的 CPU 平台:

$ gcloud compute zones describe us-west1-a
availableCpuPlatforms:
- Intel Skylake
- Intel Broadwell
...

API

在 API 中,向存在问题的地区发出 GET 请求:

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/[ZONE]

响应包含适用于该地区的支持 CPU 平台列表。例如:

{
 "kind": "compute#zone",
 "id": "2210",
 "creationTimestamp": "2016-06-10T09:30:55.189-07:00",
 "name": "us-west1-a",
 "description": "us-west1-a",
 "status": "UP",
 "region": "https://www.googleapis.com/compute/v1/projects/myproject/regions/us-west1",
 "selfLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-west1-a",
 "availableCpuPlatforms": [
  "Intel Broadwell",
  "Intel Haswell"
 ]
}

为新的虚拟机选择最低要求 CPU 平台

您可以在实例创建期间指定最低要求 CPU 平台。

控制台

  1. 转到“虚拟机实例”页面。

    转到“虚拟机实例”页面

  2. 如果出现提示,请选择您的项目并点击继续
  3. 点击创建实例按钮。
  4. 机器配置部分下,点击 CPU 平台和 GPU
  5. CPU 平台下拉菜单中选择一个选项。
  6. 继续完成实例创建过程的剩余部分。

gcloud

要使用 gcloud 命令行工具通过最低要求 CPU 平台创建一个新的虚拟机,请提供新的 --min-cpu-platform 标志。在指定 CPU 平台时,请使用易于记忆的名称来指定平台,例如 Intel BroadwellIntel Haswell。请参考可用地区部分来确定每个地区有哪些平台可供使用。

例如,如需指定满足最低要求的 CPU 平台 Intel Haswell,请使用以下命令:

gcloud compute instances create example-instance \
    --zone europe-west1-b \
    --min-cpu-platform "Intel Haswell"

如果要清除满足最低要求的 CPU 平台规范 ,请将 --min-cpu-platform 设置为 AUTOMATIC

API

在 Compute Engine API 中,请将 minCpuPlatform 属性作为请求正文的一部分。minCpuPlatform 的值必须是易于记忆的平台名称,例如 Intel HaswellIntel BroadwellIntel Sandy Bridge

例如,请求正文可能如下所示:

"name": "[INSTANCE_NAME]",
"machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
"minCpuPlatform": "Intel Haswell",
"networkInterfaces": [{
  "accessConfigs": [{
    "type": "ONE_TO_ONE_NAT",
    "name": "External NAT"
   }],
  "network": "global/networks/default"
}],
"disks": [{
   "autoDelete": "true",
   "boot": "true",
   "type": "PERSISTENT",
   "initializeParams": {
      "sourceImage": "projects/[IMAGE_PROJECT]/global/images/family/[IMAGE]"
   }
 }]

如果要清除满足最低要求的 CPU 平台规范,请将 minCpuPlatform 设置为 AUTOMATIC

为已停止的虚拟机设置满足最低要求的 CPU 平台

如果您首先停止实例,则可以为现有实例设置一个最低要求 CPU 平台。

停止实例后,请按照以下说明设置满足最低要求的 CPU 平台,然后确保重启实例

控制台

  1. 转到“虚拟机实例”页面。

    转到“虚拟机实例”页面

  2. 如果出现提示,请选择您的项目并点击继续
  3. 选择您想要更改的已停止实例
  4. 点击修改以修改该实例。
  5. 机器配置部分下,点击 CPU 平台和 GPU
  6. CPU 平台下拉菜单中选择一个选项。
  7. 保存更改。
  8. 重启该实例

gcloud

使用后面带有 --min-cpu-platform 标志的 update 子命令。指定易于记忆的平台名称,例如 Intel HaswellIntel BroadwellIntel Sandy Bridge。例如:

gcloud compute instances update [INSTANCE_NAME] \
    --min-cpu-platform "Intel Haswell"

API

如需在 API 中设置最低要求 CPU 平台,请向 setMinCpuPlatform 方法发出 POST 请求,并在请求正文中设置 minCpuPlatform 属性。该属性的值为易于记忆的 CPU 平台名称,例如 Intel HaswellIntel BroadwellIntel Sandy Bridge。例如:

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE]/setMinCpuPlatform

{
  "minCpuPlatform": "Intel Haswell"
}

在实例模板中指定最低要求 CPU 平台

如果使用了托管式实例组,您可以为托管式实例组中的虚拟机实例指定一个最低要求 CPU 平台。

如需指定满足最低要求的 CPU 平台,请创建一个包含 minCpuPlatform 属性的实例模板

控制台

  1. 转到“实例模板”页面。

    转到“实例模板”页面

  2. 如果出现提示,请选择您的项目并点击继续
  3. 点击创建实例模板
  4. 机器配置部分下,点击 CPU 平台和 GPU
  5. CPU 平台下拉菜单中选择一个选项。
  6. 继续实例模板创建过程。

gcloud

使用 gcloud 工具,在创建实例模板时请提供 --min-cpu-platform 标志。例如:

gcloud compute instance-templates create example-template \
    --min-cpu-platform "Intel Haswell"

API

在 API 中,将 minCpuPlatform 添加到您的请求中,以通过 API 创建一个新的实例模板。

例如,以下实例模板包含了创建新模板所需的最低限度的字段,并添加了 minCpuPlatform 属性:

{
"name": "example-template",
"properties": {
  "machineType": "zones/us-central1-a/machineTypes/n1-standard-2",
  "minCpuPlatform": "Intel Haswell",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs":
      [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-8"
      }
    }
  ]
  }
}

后续步骤