扩展虚拟机磁盘

本文档介绍了如何在 Google Distributed Cloud (GDC) 网闸隔离配置中增加启动和非启动虚拟机 (VM) 磁盘的大小。

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

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

本文档适用于希望在 Distributed Cloud 环境中扩展虚拟机磁盘的平台管理员或应用运维人员群组中的开发者。如需了解详情,请参阅适用于 GDC 网闸隔离配置文档的受众群体。

申请 IAM 角色

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

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

磁盘扩容

如需扩充磁盘大小,请选择以下选项之一:

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 字段更新为新大小。

扩展文件系统和分区

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