扩展虚拟机磁盘

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

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

本页提供了有关如何增加启动磁盘和非启动磁盘大小的说明。

准备工作

如需获得执行磁盘扩容所需的权限,请让项目 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 \
        apply -n PROJECT -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 管理 API 服务器 kubeconfig 文件。
    PROJECT 用于创建虚拟机的 GDC 项目。
    VM_BOOT_DISK_NAME 新虚拟机启动磁盘的名称。
    BOOT_DISK_IMAGE_NAME 要用于新虚拟机启动磁盘的映像的名称。
    BOOT_DISK_SIZE 启动磁盘的大小,例如 20Gi
    此值必须始终大于或等于启动磁盘映像的 minimumDiskSize
  2. 等待 .spec.size 字段更新为新大小。

扩展文件系统和分区

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