本页面介绍了在对操作系统 (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
-
安装 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"。
验证许可变更
如需验证启动磁盘上的许可是否已更改,请按照以下步骤操作:
通过运行
gcloud compute disks describe命令获取启动磁盘的相关信息:gcloud compute disks describe DISK_NAME \ --zone=ZONE \ --format="value(licenses)"替换以下内容:
DISK_NAME:要验证其许可的启动磁盘的名称ZONE:包含要验证其许可的启动磁盘的可用区
验证输出是否类似如下所示:
https://www.googleapis.com/compute/v1/projects/windows-cloud/global/licenses/windows-server-2025-dc