在操作系统升级后更新许可

本页面介绍了在对操作系统 (OS) 执行就地升级后,如何更新虚拟机 (VM) 实例上的许可字符串。此流程适用于以下操作系统:

  • Red Hat Enterprise Linux (RHEL)
  • RHEL for SAP
  • SUSE Linux Enterprise Server (SLES)
  • SLES for SAP
  • Windows Server

如需详细了解许可参考和代码,请参阅许可变更和限制

准备工作

  • 如果您尚未设置身份验证,请进行设置。身份验证用于验证您的身份,以便访问 Google Cloud 服务和 API。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. 安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:

      gcloud init

      如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI

    2. Set a default region and zone.

更新磁盘上的许可

如需更新磁盘上的许可,请使用 Google Cloud CLI 或 Compute Engine API。此过程会将现有许可 URI 替换为与升级后的操作系统版本对应的新许可 URI。

gcloud

如需将磁盘的许可替换为新的许可引用,请使用 gcloud compute disks update 命令

gcloud compute disks update DISK_NAME \
    --replace-license=PREVIOUS_LICENSE,NEW_LICENSE

替换以下内容:

  • DISK_NAME:要更新的磁盘的名称。
  • PREVIOUS_LICENSE:之前操作系统版本所需的许可参考,例如 "windows-server-2022-dc""rhel-9"
  • NEW_LICENSE:新操作系统版本所需的许可参考,例如 "windows-server-2025-dc""rhel-10"

REST

如需替换磁盘的许可,请将新许可添加到请求正文中,并省略之前的许可。调用以下 disks.update v1 方法

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks/DISK_NAME?paths=licenses --data '{"name":"DISK_NAME", "licenses":["https://www.googleapis.com/compute/v1/NEW_LICENSE"]}'

替换以下内容:

  • PROJECT:项目的名称。
  • ZONE:包含磁盘的可用区。
  • DISK_NAME:磁盘的名称。
  • NEW_LICENSE:新的许可参考,例如 "windows-server-2025-dc""rhel-10"

验证许可变更

如需验证启动磁盘上的许可是否已更改,请按照以下步骤操作:

  1. 通过运行 gcloud compute disks describe 命令获取启动磁盘的相关信息:

    gcloud compute disks describe DISK_NAME \
        --zone=ZONE \
        --format="value(licenses)"
    

    替换以下内容:

    • DISK_NAME:要验证其许可的启动磁盘的名称
    • ZONE:包含要验证其许可的启动磁盘的可用区
  2. 验证输出是否类似如下所示:

    https://www.googleapis.com/compute/v1/projects/windows-cloud/global/licenses/windows-server-2025-dc