Add a second disk to a VM
Volumes are standalone disks that live independently of any VM: create one, attach it, move it to another VM later. Same replicated NVMe fabric as root disks, same classes and speed tiers, hot-attach with no reboot.
Create and attach
The fastest path is from the VM itself:
- Open the VM and go to the Volumes tab
- Click Create + attach
- Pick a disk class (Basic covers most cases, Database for transactional loads, Solo for scratch, Storage for bulk) and a size
- Confirm. The volume is provisioned and attached in one step, while the VM keeps running
An existing detached volume attaches from the same tab with one click. Standalone creation without a VM lives under Volumes in the sidebar.
Format and mount (Linux)
The new disk appears in the guest immediately as the next virtio device, typically /dev/vdb. Check with lsblk, then create a filesystem and mount it:
lsblk
sudo mkfs.ext4 /dev/vdb
sudo mkdir -p /mnt/data
sudo mount /dev/vdb /mnt/data
To survive reboots, add it to /etc/fstab. The nofail option matters: without it a detached volume can drop the VM into emergency mode on boot:
echo '/dev/vdb /mnt/data ext4 defaults,nofail 0 2' | sudo tee -a /etc/fstab
Detach safely
Order matters. Unmount inside the guest first, then detach in the panel:
sudo umount /mnt/data
- Remove or comment the volume's
/etc/fstabline if you added one - In the VM's Volumes tab, click Detach
Detaching a mounted filesystem is the block-storage equivalent of yanking a USB drive mid-write: the disk itself is fine, but the filesystem may need repair and the last writes may be lost. Unmount first, every time.
Growing and retiering
Volumes resize upward in place, and the speed class can be changed without moving data: both from the volume's menu in the panel. After growing a volume, extend the filesystem inside the guest (sudo resize2fs /dev/vdb for ext4).