创建并启动搭载 NVIDIA GPU 的虚拟机实例

本页面介绍如何创建具有 NVIDIA 图形处理单元 (GPU) 的基于 Linux 的虚拟机 (VM) 实例。

借助配备 GPU 的虚拟机,您可以运行各种 GPU 加速型工作负载,例如人工智能和机器学习。

配备 GPU 的虚拟机属于“加速器优化型”A 系列机器家族,例如 A2 和 A3。如需了解详情,请参阅查看虚拟机机器类型

本页面适用于平台管理员或应用运维者群组中的开发者,这些开发者会在 Google Distributed Cloud (GDC) 气隙环境中创建虚拟机。

准备工作

如需使用 gdcloud 命令行界面 (CLI) 命令,请确保您已下载、安装并配置 gdcloud CLI。Distributed Cloud 的所有命令都使用 gdcloud 或 kubectl CLI,并且需要 Linux 环境。

请求权限和访问权限

如需执行本页列出的任务,您必须具有 Project VirtualMachine Admin 角色。按照相关步骤验证您是否在虚拟机所在项目的命名空间中拥有 Project VirtualMachine Admin (project-vm-admin) 角色。

对于使用 GDC 控制台或 gdcloud CLI 的虚拟机操作,请让项目 IAM 管理员为您授予“Project VirtualMachine Admin”和“Project Viewer”角色 (project-viewer)。

创建虚拟机

按照通过映像创建虚拟机中所述的步骤创建虚拟机,并选择 A 系列机器类型。

安装 NVIDIA 驱动程序

本部分介绍了在 GDC 虚拟机实例上安装 NVIDIA 驱动程序的步骤。

安装软件包

从版本 v20250809 开始,GDC 提供的 Ubuntu 和 Rocky Linux 映像预安装了 NVIDIA 驱动程序。

对于低于 v20250809 的映像版本和用户提供的自定义映像,请从 GDC 软件包仓库安装驱动程序。使用 SSH 连接到虚拟机,然后运行与您的虚拟机操作系统 (OS) 对应的命令:

Ubuntu:

    sudo apt install nvidia-dkms-570-server-open

Rocky Linux 和 RHEL:

    sudo dnf install nvidia-driver-cuda

运行 DKMS

使用 dkms 命令在虚拟机上启用 NVIDIA 驱动程序。您只需为每个虚拟机执行一次此任务:

   sudo dkms autoinstall

安装 CUDA 工具包

NVIDIA CUDA 工具包可在 GDC 软件包代码库中找到。使用 SSH 连接到虚拟机,然后运行与您的虚拟机操作系统对应的命令:

Ubuntu

    sudo apt install cuda-toolkit-12-8

Rocky Linux 和 RHEL

    sudo dnf install cuda-toolkit-12-8

启用安全启动并对驱动程序进行签名

如果您需要在搭载 GPU 的虚拟机上启用安全启动,则必须为 GPU 驱动程序签名。 请参阅相应操作系统的说明。

Ubuntu

  1. 使用 SSH 连接到虚拟机。
  2. 切换到超级用户:

    sudo su
    
  3. 生成 MOK 密钥(如果尚无密钥):

    [ -f /var/lib/shim-signed/mok/MOK.der ] || openssl req -new -x509 -newkey rsa:2048 -keyout /var/lib/shim-signed/mok/MOK.priv \
        -outform DER -out /var/lib/shim-signed/mok/MOK.der \
        -nodes -days 36500 -subj "/CN=DKMS Signing Key/"
    
  4. 使用 mokutil 注册密钥:

    mokutil --import /var/lib/shim-signed/mok/MOK.der
    
  5. 当系统提示时,创建并输入您选择的新密码。

  6. 使用 MOK 对 NVIDIA 内核模块进行签名:

    for module in nvidia nvidia_drm nvidia_modeset nvidia_uvm nvidia_peermem; do
        /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der $(modinfo -n $module)
    done
    

Rocky Linux 和 RHEL

  1. 使用 SSH 连接到虚拟机。
  2. 切换到超级用户:

    sudo su
    
  3. 使用 dkms autoinstall 通过密钥为驱动程序签名:

    sudo dkms autoinstall
    
  4. 在 MOK 中注册 DKMS 密钥:

    mokutil --import /var/lib/dkms/mok.pub
    

完成 MOK 注册和验证

如需访问 MOK 管理界面,请务必重启虚拟机实例并立即连接到串行端口。此界面对时间非常敏感,仅在启动过程中短暂显示。具体而言,请按以下步骤操作:

  1. 重新启动虚拟机实例:

    reboot
    
  2. 连接到虚拟机的串行控制台。如需了解详情,请参阅连接到串行端口

  3. 从控制台注册 MOK:

    虚拟机串行控制台 MOK 管理界面

    虚拟机串行控制台 MOK 管理界面,其中突出显示了“Enroll MOK”

    您可以查看密钥,确保它与之前步骤中生成的密钥一致:

    虚拟机串行控制台 MOK 管理界面,其中“继续”处于选中状态

  4. 输入您之前选择的密码:

    虚拟机串行控制台 MOK 管理界面提示输入密码

  5. 从 MOK 管理菜单中选择“重新启动”:

    虚拟机串行控制台 MOK 管理界面,其中“重新启动”处于选中状态

  6. 运行 nvidia-smi 验证 NVIDIA 驱动程序是否正常工作。

    输出会显示 GPU 状态和驱动程序信息:

    $ nvidia-smi
    Wed Aug 13 00:09:17 2025
    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 570.158.01             Driver Version: 570.158.01     CUDA Version: 12.8     |
    |-----------------------------------------+------------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
    |                                         |                        |               MIG M. |
    |=========================================+========================+======================|
    |   0  NVIDIA H200                    Off |   00000000:08:00.0 Off |                    0 |
    | N/A   42C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   1  NVIDIA H200                    Off |   00000000:09:00.0 Off |                    0 |
    | N/A   36C    P0            127W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   2  NVIDIA H200                    Off |   00000000:0A:00.0 Off |                    0 |
    | N/A   34C    P0            122W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   3  NVIDIA H200                    Off |   00000000:0B:00.0 Off |                    0 |
    | N/A   40C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   4  NVIDIA H200                    Off |   00000000:0C:00.0 Off |                    0 |
    | N/A   39C    P0            125W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   5  NVIDIA H200                    Off |   00000000:0D:00.0 Off |                    0 |
    | N/A   35C    P0            122W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   6  NVIDIA H200                    Off |   00000000:0E:00.0 Off |                    0 |
    | N/A   39C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   7  NVIDIA H200                    Off |   00000000:0F:00.0 Off |                    0 |
    | N/A   35C    P0            121W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    
    +-----------------------------------------------------------------------------------------+
    | Processes:                                                                              |
    |  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
    |        ID   ID                                                               Usage      |
    |=========================================================================================|
    |  No running processes found                                                             |
    +-----------------------------------------------------------------------------------------+