扩展虚拟机磁盘

本文档提供了相关说明,介绍了如何在 Google Distributed Cloud (GDC) 空气隔离环境中增加启动和非启动虚拟机 (VM) 磁盘的大小。

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

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

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

申请 IAM 角色

如需增加虚拟机磁盘的大小,请与项目 IAM 管理员联系,请求授予您虚拟机项目管理员 (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 字段更新为新大小。

扩展文件系统和分区

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