Expanding Disks
How to expand Virtual Server's root disk
There are three methods that may be used to expand a Virtual Server's root disk:
- Using the Cloud UI,
- patching the root disk manifest with
kubectl
, or - by editing the YAML manifest used to deploy the Virtual Server.
Each method is covered in this guide.
Expanding a root disk requires the Virtual Server to be stopped and restarted, however Shared File System volumes may be expanded while the Virtual Server is running. See Using Storage - Cloud UI to learn how to expand a Shared File System volume.
Prerequisites
This guide presumes that you already have an active CoreWeave account and have configured associated credentials.
Using the Cloud UI
Expand the Virtual Server's root disk from the Cloud UI cloud.coreweave.com by navigating to the desired Virtual Server and clicking Edit. Confirm the changes by clicking the Shutdown and Upgrade button.
Expand the root disk size as desired, then click Deploy Now.
After the server deploys, verify the filesystem has expanded to the new size, or expand it manually if needed.
Patch with kubectl
From the command line, disk size can be increased using the kubectl patch
command. For example, to expand the server named example-vs
to 500Gi
:
$kubectl patch pvc example-vs -p '{"spec":{"resources":{"requests":{"storage": "500Gi"}}}}'
Next, restart the server with the Cloud UI or virtctl
:
$virtctl restart example-vs
Rebooting the operating system is not sufficient to detect the new disk size. Restarting with the Cloud UI or virtctl
is required.
After the server restarts, verify the filesystem has expanded to the new size or expand it manually if needed.
Update the YAML
Virtual Server storage can be expanded by modifying the original YAML that deployed the server, then reapplying it. To expand the disk from 40Gi
to 500Gi
, for example, update the value of .spec.storage.size
in the YAML manifest used to deploy the Virtual Server.
Below is an excerpt from virtual-server.yaml
, showing the updated storage collection as an example:
apiVersion: virtualservers.coreweave.com/v1alpha1kind: VirtualServermetadata:name: example-vsspec:storage:root:size: 500GistorageClassName: block-nvme-ord1
Once the Virtual Server manifest is adjusted, use virtctl stop
to stop the Server:
$virtctl stop example-vs
Next, apply
the edited manifest:
$kubectl apply -f virtual-server.yaml
Then, start
the Server once again:
$virtctl start example-vs
After the server redeploys, verify the filesystem has expanded to the new size, or expand it manually if needed.
Manually expand the filesystem
Virtual Servers that use a CoreWeave base image should not need manual filesystem expansion, as the partition and filesystem are expanded automatically. If manual expansion is needed, use the procedure appropriate for the server's Operating System.
Windows
For Windows machines, use the Disk Management tool to expand the filesystem to fill the raw disk.
Linux
For Linux machines, use resize2fs
to expand the filesystem. Typically the root disk is located at /dev/vda1
:
$sudo resize2fs /dev/vda1