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

本页面介绍了在对操作系统 (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 进行身份验证:

    选择标签页以了解您打算如何使用本页面上的示例:

    控制台

    当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。

    gcloud

    1. 安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI。 登录后,运行以下命令来初始化 Google Cloud CLI:

      gcloud init
  • 设置默认区域和可用区

准备更新磁盘的许可

如需在磁盘挂接到正在运行的实例时更新磁盘的许可,请先关停实例或分离磁盘。

  • 停止实例。 在更新磁盘的许可之前,暂时关停实例。
  • 分离磁盘。这会在更新磁盘许可之前将磁盘从实例分离。

更新磁盘上的许可

如需更新磁盘上的许可,请使用 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:之前操作系统版本的许可参考,例如 "projects/windows-cloud/global/licenses/windows-server-2022-dc""projects/rhel-cloud/global/licenses/rhel-9"
  • NEW_LICENSE:新操作系统版本的许可参考,例如 "projects/windows-cloud/global/licenses/windows-server-2025-dc""projects/rhel-cloud/global/licenses/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:新的许可参考,例如 "projects/windows-cloud/global/licenses/windows-server-2025-dc""projects/rhel-cloud/global/licenses/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