作业虚拟机的操作系统环境概览

本文档介绍用于运行批量作业的 Compute Engine 虚拟机 (VM) 实例的操作系统环境(启动磁盘和操作系统映像)的概念。

作业通过在其每个虚拟机的启动磁盘上运行指令来执行。每个启动磁盘都包含引导加载程序、文件系统和操作系统。您可以选择执行以下操作之一,为作业配置虚拟机操作系统环境:

  • 如需仅在启动磁盘上配置软件,请指定作业的虚拟机操作系统映像。
  • 如需配置启动磁盘的任何属性(包括虚拟机操作系统映像、磁盘大小和/或磁盘类型),请自定义作业的启动磁盘。

以下各部分介绍了何时配置操作系统环境、默认操作系统环境、虚拟机操作系统映像选项以及启动磁盘选项。

何时配置操作系统环境

请查看本部分,以确定在创建作业或使用默认配置时是配置虚拟机操作系统映像和/或启动磁盘。

在以下情况下为作业配置虚拟机操作系统映像:

  • 如果可信映像 (compute.trustedImageProjects) 政策限制条件阻止您使用默认虚拟机操作系统映像创建作业。

    如需详细了解可信映像政策限制条件,请参阅控制对 Batch 虚拟机操作系统映像的访问权限

  • 如果您不想或不能为您的作业使用默认虚拟机操作系统映像。例如,如果您为作业定义的可运行对象需要默认映像不支持的应用,您或许可以指定其他公共虚拟机操作系统映像。或者,如果要预安装作业所需的应用以帮助缩短运行时,则可能需要创建并指定自定义映像。

在以下情况下为作业配置启动磁盘:

  • 如果您不希望或不能为您的作业使用默认启动磁盘。 例如,如果您为作业定义的可运行对象或虚拟机操作系统映像需要额外的启动磁盘空间,则可能需要自定义作业的启动磁盘以增加其大小。

如果您仍不确定自己的作业是否需要配置虚拟机操作系统映像和/或启动磁盘,请查看以下部分以了解默认配置。此外,您也可以尝试使用默认配置创建和运行作业。如果作业在默认配置下失败,您可以尝试通过问题排查来确定问题是由虚拟机操作系统映像还是启动磁盘导致的。

否则,如果您不需要也不想为作业配置虚拟机操作系统映像和/或启动磁盘,请将这些属性保留为未定义状态,以使用默认配置。

默认操作系统环境

请查看本部分,了解作业的虚拟机操作系统映像和启动磁盘的默认配置。例如,在确定如何为作业配置操作系统环境时,您可以使用默认配置作为参考。

如果您创建作业但未定义虚拟机操作系统映像,则作业默认使用以下虚拟机操作系统映像之一:

  • 如果作业只有容器可运行对象,则作业会使用最新版本的 Batch Container-Optimized OS (COS) 映像。
  • 否则,该作业将使用最新版本的批量 Debian 映像。

如果创建作业且未定义启动磁盘的其他属性,该作业将默认使用以下选项:

  • 永久性磁盘类型:默认的永久性磁盘类型为 pd-balanced

  • size:每个虚拟机启动磁盘的默认大小由 \({defaultBootDiskSize}\) 的以下公式确定。此外,默认大小会四舍五入为介于 30 GB 到 10,000 GB 之间。

    \[{defaultBootDiskSize}={reservingSize}+({taskSize}*{并行 TasksPerVm})\]

    此公式具有以下值:

    • \({reserveSize}\):虚拟机所需软件(例如虚拟机操作系统映像)的预留大小(以 GB 为单位)。对于默认启动磁盘大小,Batch 预留 10 GB。

    • \({taskSize}\):每项任务的启动磁盘大小(以 GB 为单位),通过转换每个任务的启动磁盘大小 (bootDiskMib) 字段的单位来确定。

    • \({ParallelTasksPerVM}\):可在虚拟机上同时运行的任务数上限。如需了解详情,请参阅 \({ParallelTasksPerVM}\) 公式

  • 接口:该接口会根据作业虚拟机的机器类型自动选择为 NVMeSCSI。您可以在定义作业要使用的资源类型时,选择性地指定机器类型。如需了解每种机器类型的默认接口,请参阅 Compute Engine 文档中的选择接口

虚拟机操作系统映像选项

以下部分介绍了 Batch 的虚拟机操作系统映像选项,包括 Batch 作业可以支持的所有虚拟机操作系统映像类型以及受支持虚拟机操作系统映像的限制。为作业指定虚拟机操作系统映像时,您可以为限制允许的任何受支持虚拟机操作系统映像指定映像名称或映像系列。

支持的虚拟机操作系统映像

批量作业可以支持以下类型的虚拟机操作系统映像:

  • 公共映像:由 Google、开源社区及第三方供应商提供和维护的映像。具体而言,批处理作业可以使用 Batch 或 Compute Engine 中的公共映像。

    • 批量映像:由 Batch 提供和维护的映像,存储在 batch-custom-image 映像项目中,建议用于批量作业。

      以下操作系统提供批量映像;当您在 Batch 中查看映像系列和映像名称时,其操作系统由相应的前缀表示。

      • 批处理 Debian(batch-debian 前缀):一种基于 Debian 且针对批量作业进行了优化的操作系统。对于具有任何脚本可运行作业的作业,此操作系统是默认操作系统。
      • Batch Container-Optimized OS(batch-cos 前缀):一种基于 Google Cloud 的 Container-Optimized OS 的操作系统,针对使用容器的批处理作业进行了优化。对于只有容器可运行的作业,此操作系统是默认操作系统。
      • 批处理 CentOS(batch-centos 前缀):基于 CentOS Linux,针对批处理作业进行了优化的操作系统。
      • 批量高性能计算 (HPC) CentOS(batch-hpc-centos 前缀):一种基于 Google Cloud 中的 CentOS HPC 映像,针对 HPC 工作负载的批量作业进行了优化的操作系统。
      • 批量高性能计算 (HPC) Rocky Linux(batch-hpc-rocky 前缀):一种基于 Google Cloud 的 Rocky Linux HPC 映像的操作系统,针对 HPC 工作负载的批处理作业进行了优化。

      如需查看您可以为作业指定的 Batch 特定映像名称和系列,请按照通过 Batch 查看虚拟机操作系统映像的步骤进行操作。

    • Compute Engine 映像:Compute Engine 上提供的公共映像,具体说明请参阅 Compute Engine 文档的操作系统详情页面。

      Batch 仅支持来自以下操作系统的正式版 (GA) Compute Engine 映像:

  • 自定义映像:您使用 Compute Engine 创建、拥有和控制其访问权限的映像。如需详细了解自定义映像,请参阅 Compute Engine 文档。

虚拟机操作系统映像的限制

作业可以指定的受支持虚拟机操作系统映像受到以下限制:

  • 对于批量映像,映像的保证支持生命周期为 180 天。批量映像的开始日期会在映像名称中指明,例如,batch-cos-stable-official-20230719-00-p00 映像的开始日期为 2023 年 7 月 19 日 (20230719)。无法保证标记为已废弃的批量映像受支持。

  • 某些作业配置需要映像的外部访问权限。 具体而言,当作业没有外部访问权限且不允许通过 Cloud NAT 或专用 Google 访问通道进行访问时,仅支持以下映像:

    • 对于使用 GPU 且仅使用容器可运行的作业,仅支持默认映像(最新的 Batch Container-Optimized OS 映像)。
    • 否则,作业仅支持批量图片。
  • 如果启用了可信映像政策限制条件,则您无法使用可信映像政策不允许使用的任何虚拟机操作系统映像。

    您的项目、文件夹或组织的管理员可以选择配置可信映像政策限制条件,以限制可用于创建启动磁盘的虚拟机操作系统映像。例如,可信映像政策限制条件可用于要求用户创建包含符合政策或安全要求的获批软件的虚拟机。如需了解详情,请参阅控制对 Batch 的虚拟机操作系统映像的访问权限

  • 作业的虚拟机操作系统映像必须安装其启动磁盘的接口驱动程序和任何永久性磁盘存储卷。大多数公共映像都会自动安装 NVMe 和 SCSI 驱动程序,包括所有批处理映像。

    您无法配置永久性磁盘的接口,因此虚拟机操作系统映像需要默认接口的驱动程序。

  • 如果作业指定的任何虚拟机操作系统映像既不是批处理映像,也不是基于批处理映像的自定义映像,则在作业启动后,Batch 会在其虚拟机上安装所需的软件包。这些必需的软件包可能因作业配置而异,并会随时间发生变化,并且 Batch 运行作业需要用到这些软件包。

启动磁盘选项

本部分介绍了 Batch 启动磁盘的类型和大小选项。自定义作业的启动磁盘时,您可以指定虚拟机操作系统映像、类型和/或大小。如需了解如何指定虚拟机操作系统映像,请改为参阅本文档中的虚拟机操作系统映像选项

对于启动磁盘类型,Batch 支持 Compute Engine 文档中的所有永久性磁盘类型

对于启动磁盘大小,Batch 支持 Compute Engine 文档中满足以下要求的所有永久性磁盘大小和增量

  • 对于批量作业,启动磁盘大小下限为 30 GB。

  • 为了让批量作业正常运行,启动磁盘大小必须足够大,以便分配作业的虚拟机操作系统映像和在每个虚拟机上运行的任务。如需查看示例,请参阅本文档中的默认启动磁盘大小的公式

后续步骤