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
| Type | Price |
|---|---|
| Block storage (each volume's size) | $0.08 / GB / month, billed hourly |
| Volume snapshots | Not 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.