扩展虚拟机磁盘

本文档介绍了如何在 Google Distributed Cloud (GDC) 气隙环境中增加启动磁盘和非启动虚拟机 (VM) 磁盘的大小。

当您的虚拟机实例需要额外的存储空间或增加的性能限制时,您可以增加虚拟机磁盘分区的大小。

您只能增加磁盘大小,而不能减小磁盘大小。如需减小磁盘大小,您必须创建大小较小的新磁盘。在删除较大的原始磁盘之前,您需要为这两个磁盘付费。

本文档面向平台管理员或应用运维人员组中的开发者,他们希望在 Distributed Cloud 环境中扩充虚拟机磁盘。如需了解详情,请参阅 GDC 气隙环境文档的受众群体

请求 IAM 角色

如需增加虚拟机磁盘的大小,请与您的项目 IAM 管理员联系,以请求 Virtual Machine Project Admin (project-vm-admin) 角色。

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

磁盘扩充

按照 gdcloud 或 API 步骤扩充磁盘大小。

gdcloud

扩充虚拟机磁盘:

 gdcloud compute disks resize DISK_NAME \
   --project=PROJECT \
   --size=NEW_SIZE
  • DISK_NAME 替换为磁盘的名称。

  • PROJECT 替换为虚拟机所在的 GDC 项目的名称。

  • NEW_SIZE 替换为磁盘的新大小。

API

  1. 通过更新 .spec.size 字段来扩充 VirtualMachineDisk

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply  -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    EOF
    

    执行以下变量替换操作:

    变量定义
    MANAGEMENT_API_SERVER Management API 服务器 kubeconfig 文件。
    PROJECT 用于创建虚拟机的 GDC 项目。
    VM_BOOT_DISK_NAME 新虚拟机启动磁盘的名称。
    BOOT_DISK_IMAGE_NAME 用于新虚拟机启动磁盘的映像的名称。
    BOOT_DISK_SIZE 启动磁盘的大小,例如 20Gi
    此值必须始终大于或等于启动磁盘映像的 minimumDiskSize
  2. 等待 .status.size 字段更新为新大小。

扩充文件系统和分区

扩充块设备后,您必须扩充 guest 的分区和文件系统,以便应用可以使用额外的空间。某些操作系统会使用 cloud-init 自动执行此操作。