Skip to main content
Storage volumes are high-performance shared volumes designed for distributed training on multi-node clusters.
  • High aggregate performance: Up to 300 GB/s aggregate read throughput, 150 GB/s aggregate write throughput, 1.5M read IOPS, 750k write IOPS
  • POSIX compliant: Full filesystem semantics
  • Fixed volume size: Volume size must be defined at creation and can be increased at any time. See pricing for details.
  • Ideal for: datasets for distributed training, storing model checkpoints
Expected single client performance:
MetricPerformance
Read Throughput11,000 MB/s
Write Throughput5,000 MB/s
Read IOPS10,000
Write IOPS4,500
Avg Read Latency2ms
Avg Write Latency6ms
p99 Read Latency8ms
p99 Write Latency20ms
Shared storage volumes can only be attached to multi-node GPU clusters and CPU instances. For more flexible storage, use TensorPool Object Storage (S3-compatible).

Quick Start

# 1. Create a 1TB storage volume
tp storage create 1000 --name dataset

# 2. Attach the volume to a cluster
tp cluster attach <cluster_id> <storage_id>

# 3. SSH into your cluster and access the data
tp ssh <instance_id>
cd /mnt/<storage_id>

# 4. When done, detach the volume
tp cluster detach <cluster_id> <storage_id>

# 5. Destroy the volume when no longer needed
tp storage destroy <storage_id>

Core Commands

  • tp storage create <size_gb> - Create a new storage volume
  • tp storage list - View all your storage volumes
  • tp cluster attach <cluster_id> <storage_id> - Attach storage to a cluster
  • tp cluster detach <cluster_id> <storage_id> - Detach storage from a cluster
  • tp storage destroy <storage_id> - Delete a storage volume

Creating Storage Volumes

Create storage volumes by specifying a size in GB:
# Create a 500GB storage volume with a custom name
tp storage create 500 --name training-data

# Create a 1TB volume with deletion protection
tp storage create 1000 --name important-data --deletion-protection

Attaching and Detaching

Attach storage volumes to a cluster:
tp cluster attach <cluster_id> <storage_id>
Detach when you’re done:
tp cluster detach <cluster_id> <storage_id>

Storage Locations

When you attach a storage volume to your cluster, it will be mounted on each instance at:
/mnt/<storage_id>

Storage Statuses

Storage volumes progress through various statuses throughout their lifecycle:
StatusDescription
PENDINGStorage creation request has been submitted and is being queued for provisioning.
PROVISIONINGStorage has been allocated and is being provisioned.
READYStorage is ready for use.
ATTACHINGStorage is being attached to a cluster.
DETACHINGStorage is being detached from a cluster.
DESTROYINGStorage deletion in progress, resources are being deallocated.
DESTROYEDStorage has been successfully deleted.
FAILEDSystem-level problem (e.g., no capacity, hardware failure, etc.).

Best Practices

  • Data persistence: Use storage volumes for important data that needs to persist across cluster lifecycles
  • Shared data: Attach the same storage volume to multiple clusters to share data
  • Object storage for archives: For cost-effective persistent storage without size limits, see Object Storage

Next Steps