Storage Volumes
Persistent block storage for GPU instances.
Overview
Volumes provide network-attached storage that persists after instance termination.
Key characteristics:
- Persistent (survives instance termination)
- Billed hourly per GB
- Must be in same cloud region as instance
- 50 GB to 10,000 GB capacity
- NVMe SSD-backed
Use for:
- Datasets and training data
- Model weights and checkpoints
- Database storage
- Application data
Don't use for:
- Temporary files (use instance storage)
- Small configuration files
- OS and system files
Creating Volumes
During Instance Launch
- Expand "Attach Storage" section when configuring instance
- Toggle to "Create New Volume"
- Enter volume name
- Set size (50-10000 GB)
- Review additional cost
- Launch instance
Volume is created and automatically attached.
Standalone Creation
- Go to Resources page, Volumes tab
- Click "Create Volume"
- Enter name
- Select region (must match future instance region)
- Choose size
- Click Create
Important: Volume begins billing immediately upon creation.
Regional Requirements
Critical: Volumes must be in the exact same cloud region as the instance.
Example: Instance in oslo-norway-1 requires volume in oslo-norway-1.
Cross-region attachment is not supported. The console only shows compatible volumes during instance launch.
Attaching Volumes
Volumes can only be attached during instance launch.
- Configure new instance
- In "Attach Storage", select "Use Existing Volume"
- Choose volume from dropdown (only shows compatible volumes)
- Launch instance
Compatible volumes must be:
- In same cloud region
- Status: active
- Not attached to another instance
Default mount point: /mnt/volume
Verify mount:
df -h | grep /mnt/volume
ls -la /mnt/volume
Detaching Volumes
Volumes detach automatically when instance is terminated.
Safe detach procedure:
- SSH into instance
- Stop applications using the volume
- Unmount volume:
umount /mnt/volume
- Verify unmounted:
df -h | grep /mnt/volume # Should return nothing
- Terminate instance
Volume returns to active status and can be attached to a different instance.
Managing Data
Upload Data
Via SCP:
scp -i key.pem file.tar.gz root@IP:/mnt/volume/
scp -i key.pem -r /local/dir/ root@IP:/mnt/volume/
Via rsync:
rsync -avz -e "ssh -i key.pem" /local/data/ root@IP:/mnt/volume/data/
Download from internet:
cd /mnt/volume
wget https://example.com/dataset.tar.gz
From S3/cloud storage:
apt-get install -y awscli
aws s3 sync s3://bucket/data /mnt/volume/data
Download Data
scp -i key.pem root@IP:/mnt/volume/results.tar.gz .
scp -i key.pem -r root@IP:/mnt/volume/results/ ./local/
Check Usage
# Volume usage
df -h /mnt/volume
# Directory sizes
du -h --max-depth=1 /mnt/volume
# Find large files
du -ah /mnt/volume | sort -rh | head -20
Pricing
Rate: Approximately €0.0001 per GB per hour (varies by region)
Examples:
- 100 GB: €0.01/hour (€7.20/month)
- 500 GB: €0.05/hour (€36/month)
- 1 TB: €0.10/hour (€72/month)
Billing starts immediately on creation and continues until deletion, even when not attached.
Deleting Volumes
- Ensure volume is detached (status: active)
- Click Delete on Volumes tab
- Confirm by typing volume name
All data is permanently deleted. This action cannot be undone.
Troubleshooting
Volume not showing during instance launch:
- Verify volume region matches instance region exactly
- Check volume status is active (not attached or deleting)
- Ensure not attached to another instance
Volume not mounted:
# List disks
lsblk
# Manual mount
mkdir -p /mnt/volume
mount /dev/sdb /mnt/volume
Cannot unmount (device busy):
# Find processes using volume
lsof /mnt/volume
fuser -m /mnt/volume
# Stop processes
fuser -km /mnt/volume
# Retry unmount
umount /mnt/volume
Volume full:
# Find large files
du -ah /mnt/volume | sort -rh | head -20
# Delete unnecessary files
rm -rf /mnt/volume/old-data/
# Compress data
tar czf archive.tar.gz large-directory/
Filesystem errors:
# Check and repair
fsck /dev/sdb
fsck -y /dev/sdb # Auto-repair
Best Practices
- Name volumes descriptively (purpose, project, date)
- Delete volumes when no longer needed
- Backup important data to object storage (S3, GCS)
- Always unmount before terminating instance
- Use instance storage for temporary files
- Create volumes only in regions you'll use