本文档将介绍如何创建或更新虚拟机实例以使用基准最低要求 CPU 平台 (minCpuPlatform
)(只要可供使用)。
Google 数据中心提供基于 Intel Xeon 的主机,包含 Sandy Bridge、Ivy Bridge、Haswell、Broadwell、Skylake CPU 平台。每个 CPU 平台都支持增量功能,如 AVX-2、AVX-512 等。一些与基本系统相关的功能,如时钟速度和存储设备存取寻道时间可能因 CPU 平台而异。不同的地区支持多种 CPU 平台,您可以通过最低要求平台选项,为您的虚拟机实例选择一个支持工作负载特定需求的 CPU 平台。
如需了解每个地区可用的 CPU 平台,请参阅 CPU 平台以及区域和地区文档。
准备工作
- 如果您要使用本指南中的命令行示例,请执行以下操作:
- 安装或更新到 gcloud 命令行工具的最新版本。
- 设置默认区域和可用区。
- 如果您要使用本指南中的 API 示例,请设置 API 访问权限。
何时选择满足最低要求的 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-small
和g1-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 平台。
控制台
- 转到“虚拟机实例”页面。
- 如果出现提示,请选择您的项目并点击继续。
- 点击创建实例按钮。
- 在机器配置部分下,点击 CPU 平台和 GPU。
- 从 CPU 平台下拉菜单中选择一个选项。
- 继续完成实例创建过程的剩余部分。
gcloud
要使用 gcloud
命令行工具通过最低要求 CPU 平台创建一个新的虚拟机,请提供新的 --min-cpu-platform
标志。在指定 CPU 平台时,请使用易于记忆的名称来指定平台,例如 Intel
Broadwell
和 Intel 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 Haswell
、Intel Broadwell
、Intel 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 平台,然后确保重启实例。
控制台
gcloud
使用后面带有 --min-cpu-platform
标志的 update
子命令。指定易于记忆的平台名称,例如 Intel Haswell
、Intel Broadwell
、Intel Sandy Bridge
。例如:
gcloud compute instances update [INSTANCE_NAME] \
--min-cpu-platform "Intel Haswell"
API
如需在 API 中设置最低要求 CPU 平台,请向 setMinCpuPlatform
方法发出 POST
请求,并在请求正文中设置 minCpuPlatform
属性。该属性的值为易于记忆的 CPU 平台名称,例如 Intel Haswell
、Intel Broadwell
、Intel Sandy Bridge
。例如:
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE]/setMinCpuPlatform
{
"minCpuPlatform": "Intel Haswell"
}
在实例模板中指定满足最低要求的 CPU 平台
如果使用了托管实例组,您可以为托管实例组中的虚拟机实例指定一个最低要求 CPU 平台。
如需指定最低要求 CPU 平台,请创建一个包含 minCpuPlatform
属性的实例模板。
控制台
- 转到“实例模板”页面。
- 如果出现提示,请选择您的项目并点击继续。
- 点击创建实例模板。
- 在机器配置部分下,点击 CPU 平台和 GPU。
- 从 CPU 平台下拉菜单中选择一个选项。
- 继续实例模板创建过程。
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-9"
}
}
]
}
}
后续步骤
- 查看 Compute Engine 上的 CPU 平台列表。
- 更改实例的机器类型。
- 详细了解区域和可用区。
- 创建并启动 Windows Server 或 SQL Server 实例。
- 参阅
gcloud compute instances create
命令。