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

本文档介绍如何创建具有 NVIDIA 图形处理器 (GPU) 的基于 Linux 的虚拟机 (VM) 实例。如需在 Windows 虚拟机实例上执行类似步骤 ,请参阅在 Windows 虚拟机上安装 NVIDIA GPU 驱动程序

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

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

本文档适用于平台管理员或应用运维人员组中的开发者,这些开发者在 Google Distributed Cloud (GDC) 气隙环境中创建虚拟机。如需了解更多 信息,请参阅 GDC 网闸隔离配置文档的受众

准备工作

准备环境

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

请求 IAM 角色

请与您的项目 IAM 管理员联系,以请求对您的项目具有以下角色:

  • 虚拟机项目管理员 (project-vm-admin):在项目命名空间中创建、修改、列出和删除虚拟机。

  • 项目查看者(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 管理菜单中选择“Reboot”(重启):

    虚拟机串行控制台 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                                                             |
    +-----------------------------------------------------------------------------------------+
    

后续步骤