更换启动磁盘

本文档介绍了如何在 Google Distributed Cloud (GDC) 网闸隔离配置中更换虚拟机 (VM) 启动磁盘。如需在更换之前创建启动磁盘,请参阅创建启动磁盘。

您可以将启动磁盘与虚拟机实例分离,并挂接新的启动磁盘。如需修复启动磁盘,您可以将其装载到另一个虚拟机实例,而无需删除原始实例。您还可以替换虚拟机启动磁盘,而无需重新创建全新的虚拟机实例。

本文档适用于平台管理员或应用运维人员群组中为虚拟机创建和配置启动磁盘的开发者。如需了解详情,请参阅适用于 GDC 网闸隔离配置文档的受众群体。

准备工作

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

获取 kubeconfig 文件路径

如需针对 Management API 服务器运行命令,请确保您拥有以下资源:

  1. 如果您没有 Management API 服务器的 kubeconfig 文件,请登录并生成该文件。

  2. 在这些说明中,请使用 Management API 服务器的 kubeconfig 文件的路径替换 MANAGEMENT_API_SERVER。

申请 IAM 角色

请与您的 IAM 项目管理员联系,请求在您的项目中授予以下角色:

  • Virtual Machine Project Admin (project-vm-admin):在项目命名空间中创建、修改、列出和删除标准虚拟机和高性能虚拟机。

所有虚拟机角色都必须绑定到虚拟机所在项目的命名空间。 按照相关步骤验证您的访问权限。

限制

更换启动磁盘时,您会受到以下限制:

  • 仅从已停止的虚拟机实例挂接或分离启动磁盘。
  • 每个虚拟机实例只能挂接一个启动磁盘。
  • 仅将现有启动磁盘挂接到虚拟机实例。
  • 仅将启动磁盘替换为新的可启动磁盘。

更换启动磁盘

使用 GDC 控制台或 kubectl CLI 替换启动磁盘。

控制台

  1. 在导航菜单中,点击虚拟机 > 实例。

  2. 在虚拟机列表中,点击虚拟机名称以查看其详细信息。

  3. 点击替换启动磁盘。

  4. 在确认对话框中,点击停止以停止虚拟机。

  5. 等待几分钟,让虚拟机停止。

  6. 点击刷新。

  7. 当虚拟机处于停止状态时,再次点击替换启动磁盘。

  8. 在“替换启动磁盘”对话框中,选择新的启动磁盘或现有启动磁盘。

    • 如需预配新的启动磁盘,请点击新启动磁盘标签页。

      1. 在磁盘名称字段中,输入在项目中唯一的新磁盘名称。
      2. 在大小字段中,输入 12 到 65536 GiB 之间的磁盘大小。
      3. 在映像名称列表中,选择一个映像。
      4. 在“删除规则”部分,点击保留磁盘或删除磁盘。
      5. 在存储配置文件部分中,选择一个配置文件。默认配置文件为标准。
    • 如需选择现有启动磁盘,请点击现有启动磁盘标签页。

      1. 在磁盘列表中,选择一个磁盘。
      2. 在“删除规则”部分,点击保留磁盘或删除磁盘。
  9. 点击保存。

  10. 重启虚拟机。

kubectl

  1. 停止虚拟机实例。

  2. 打开当前的 spec.disks 值,将其更改为新虚拟机磁盘的值:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      edit virtualmachines.virtualmachine.gdc.goog VM_NAME
    

    替换以下值:

    • 将 MANAGEMENT_API_SERVER 替换为 Management API 服务器的 kubeconfig 文件的路径。
    • PROJECT:要替换启动磁盘的 Distributed Cloud 项目。
    • 将 VM_NAME 替换为虚拟机的名称。
  3. 通过将 VM_BOOT_DISK_NAME 替换为新的虚拟机启动磁盘名称,修改配置文件中的启动磁盘:

    disks:
    - virtualMachineDiskRef:
        name: VM_BOOT_DISK_NAME
      boot: true
    

    结果应如以下示例所示:

    disks:
    - virtualMachineDiskRef:
        name: NEW_VM_BOOT_DISK_NAME
      boot: true
    
  4. 重启虚拟机。

后续步骤