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

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

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

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

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

何时配置操作系统环境

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

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

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

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

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

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

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

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

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

默认操作系统环境

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

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

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

当您创建作业并且不定义启动磁盘的其他属性时,该作业默认使用以下选项:

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

  • size:每个虚拟机启动磁盘的默认大小由以下 $ defaultBootDiskSize $ 公式决定。此外,默认大小会四舍五入为不小于 30 GB 且不超过 10,000 GB。

    \[defaultBootDiskSize=reservedSize+(taskSize*concurrentTasksPerVm) \]

    此公式具有以下值:

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

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

    • $ parallelTasksPerVM $:可以同时在虚拟机上运行的最大任务数。如需了解详情,请参阅 $ parallelTasksPerVM $公式

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

虚拟机操作系统映像选项

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

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

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

  • 公共映像:由 Google、开源社区及第三方供应商提供和维护的映像。具体来说,Batch 作业可以使用 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。

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

后续步骤