Skip to main content

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:

  1. Using the Cloud UI,
  2. patching the root disk manifest with kubectl, or
  3. by editing the YAML manifest used to deploy the Virtual Server.

Each method is covered in this guide.

Important

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:

Example
$
kubectl patch pvc example-vs -p '{"spec":{"resources":{"requests":{"storage": "500Gi"}}}}'

Next, restart the server with the Cloud UI or virtctl:

Example
$
virtctl restart example-vs
Note

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:

Example
apiVersion: virtualservers.coreweave.com/v1alpha1
kind: VirtualServer
metadata:
name: example-vs
spec:
storage:
root:
size: 500Gi
storageClassName: block-nvme-ord1

Once the Virtual Server manifest is adjusted, use virtctl stop to stop the Server:

Example
$
virtctl stop example-vs

Next, apply the edited manifest:

Example
$
kubectl apply -f virtual-server.yaml

Then, start the Server once again:

Example
$
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:

Example
$
sudo resize2fs /dev/vda1