替换启动磁盘

本文档包含有关在 Google Distributed Cloud (GDC)(经过网闸隔离)中替换启动磁盘的说明。如果您需要在更换之前创建启动磁盘,请参阅创建启动磁盘页面。

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

准备工作

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

获取 kubeconfig 文件路径

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

  1. 登录并生成管理 API 服务器的 kubeconfig 文件(如果您还没有)。

  2. 使用管理 API 服务器的 kubeconfig 文件路径替换这些说明中的 MANAGEMENT_API_SERVER

  3. 获取对虚拟机磁盘的访问权限。按照相关步骤验证您是否拥有所需的 Project VM Admin 角色。

限制

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

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

替换启动磁盘

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

控制台

  1. 在导航菜单中,依次点击 Virtual Machines > Instances

  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 edit virtualmachines.virtualmachine.gdc.goog --namespace PROJECT VM_NAME
    

    替换以下值:

    • MANAGEMENT_API_SERVER 替换为管理 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. 重启虚拟机