Block Storage

Attach additional SSD block storage volumes to your instances. Volumes persist independently — they survive instance deletion and can be moved between instances.

Create a Volume

In the console, go to Storage and create a volume (presets from 1 to 100 GB). With the API, create it in a storage pool (list pools with GET /api/v1/storage/pools):

POST /api/v1/storage/pools/{pool}/volumes
{
  "name": "data-vol",
  "size": "100GiB"
}

Attach to an Instance

Volumes are filesystem volumes: they are attached to a server as a disk device with a mount path, and appear at that path already formatted and mounted — there is no block device to format and nothing to add to /etc/fstab.

In the console: open the server, then Devices → add disk, pick the volume and enter the path (for example /mnt/data). With the API:

POST /api/v1/instances/web-1/devices
{
  "device_name": "data",
  "type": "disk",
  "config": { "pool": "{pool}", "source": "data-vol", "path": "/mnt/data" }
}

Resize a Volume

You can increase a volume's size at any time.

POST /api/v1/storage/{pool}/volumes/data-vol/resize
{ "size": "200GiB" }
⚠️

Volume sizes can only be increased, not decreased. Plan capacity carefully.

Detach & Move

# Remove the disk device from the server
DELETE /api/v1/instances/web-1/devices/data

# Attach the volume to a different server
POST /api/v1/instances/web-2/devices
{
  "device_name": "data",
  "type": "disk",
  "config": { "pool": "{pool}", "source": "data-vol", "path": "/mnt/data" }
}

Pricing

TypePrice
Block storage (each volume's size)$0.08 / GB / month, billed hourly
Volume snapshotsNot charged separately

A volume is billed on its size, not on what is written to it; a server's own root disk is included in its size's price. These are the default prices; the console shows the current ones (Settings → Billing, and on each volume's page). See Billing.

Related