Stay organized with collections
Save and categorize content based on your preferences.
You can increase the size of your virtual machine (VM) disk partition when your
VM instance requires additional storage space or increased performance limits.
You can only increase, and not decrease, the size of a disk. To decrease the disk
size, you must create a new disk with a smaller size. Until you delete the
original, larger disk, you are charged for both disks.
This page provides instructions to increase the size of both boot and non-boot
disks.
Before you begin
To get the permissions you need to perform disk expansion, ask your Project IAM
Admin to grant you the Project VirtualMachine Admin (project-vm-admin) role in
the namespace where the VM resides. Follow the steps to
verify
that you have the required permissions.
Disk expansion
Follow the gdcloud or API steps to expand the disk size.
The name of the image to use for the new VM boot disk.
BOOT_DISK_SIZE
The size of the boot disk, such as 20Gi.
This value must always be greater than or equal to the
minimumDiskSize of the boot disk image.
Wait until the .spec.size field updates to the new size.
Expand the file systems and partitions
After expanding the block device, you must expand the guest's partition and file
system so that applications can consume the additional space. Some OS's do this
automatically using cloud-init.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eYou can increase the size of a virtual machine (VM) disk partition to add more storage space or increase performance limits, but you cannot decrease the size of an existing disk.\u003c/p\u003e\n"],["\u003cp\u003eThis guide provides instructions on how to increase the size of both boot and non-boot disks for your VM.\u003c/p\u003e\n"],["\u003cp\u003eTo expand a disk using the \u003ccode\u003egdcloud\u003c/code\u003e command, use the syntax: \u003ccode\u003egdcloud compute disks resize DISK_NAME --project=PROJECT --size=NEW_SIZE\u003c/code\u003e, replacing the variables with your specific details.\u003c/p\u003e\n"],["\u003cp\u003eTo expand a disk using the API, update the \u003ccode\u003e.spec.size\u003c/code\u003e field of the \u003ccode\u003eVirtualMachineDisk\u003c/code\u003e resource using \u003ccode\u003ekubectl\u003c/code\u003e, making sure to update the necessary variables with the appropriate values.\u003c/p\u003e\n"],["\u003cp\u003eAfter expanding the block device, you must then expand the guest's partition and file system to make the additional space usable to applications, sometimes done automatically by the OS.\u003c/p\u003e\n"]]],[],null,["# Expand VM disks\n\nYou can increase the size of your virtual machine (VM) disk partition when your\nVM instance requires additional storage space or increased performance limits.\n\nYou can only increase, and not decrease, the size of a disk. To decrease the disk\nsize, you must create a new disk with a smaller size. Until you delete the\noriginal, larger disk, you are charged for both disks.\n\nThis page provides instructions to increase the size of both boot and non-boot\ndisks.\n\nBefore you begin\n----------------\n\nTo get the permissions you need to perform disk expansion, ask your Project IAM\nAdmin to grant you the Project VirtualMachine Admin (`project-vm-admin`) role in\nthe namespace where the VM resides. Follow the steps to\n[verify](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vms/preparation#verify-user-access)\nthat you have the required permissions.\n\nDisk expansion\n--------------\n\nFollow the gdcloud or API steps to expand the disk size. \n\n### gdcloud\n\nExpand the VM disk: \n\n gdcloud compute disks resize \u003cvar translate=\"no\"\u003eDISK_NAME\u003c/var\u003e --project=\u003cvar translate=\"no\"\u003ePROJECT\u003c/var\u003e --size=\u003cvar translate=\"no\"\u003eNEW_SIZE\u003c/var\u003e\n\n- Replace \u003cvar translate=\"no\"\u003eDISK_NAME\u003c/var\u003e with the name of the disk.\n\n- Replace \u003cvar translate=\"no\"\u003ePROJECT\u003c/var\u003e with the name of the\n GDC project in which the VM lives.\n\n- Replace \u003cvar translate=\"no\"\u003eNEW_SIZE\u003c/var\u003e with the new size of the disk.\n\n### API\n\n1. Expand the `VirtualMachineDisk` by updating the `.spec.size` field:\n\n kubectl --kubeconfig \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER\u003c/var\u003e \\\n apply -n \u003cvar translate=\"no\"\u003ePROJECT\u003c/var\u003e -f - \u003c\u003cEOF\n apiVersion: virtualmachine.gdc.goog/v1\n kind: VirtualMachineDisk\n metadata:\n name: \u003cvar translate=\"no\"\u003eVM_BOOT_DISK_NAME\u003c/var\u003e\n spec:\n source:\n image:\n name: \u003cvar translate=\"no\"\u003eBOOT_DISK_IMAGE_NAME\u003c/var\u003e\n namespace: vm-system\n size: \u003cvar translate=\"no\"\u003eBOOT_DISK_SIZE\u003c/var\u003e\n EOF\n\n Replace the following variables:\n\n2. Wait until the `.spec.size` field updates to the new size.\n\nExpand the file systems and partitions\n--------------------------------------\n\nAfter expanding the block device, you must expand the guest's partition and file\nsystem so that applications can consume the additional space. Some OS's do this\nautomatically using `cloud-init`."]]