Skip to main content
Before you start, ensure that you have API Key with Disks -> Read and write permission

Overview

Network-attached disks provide persistent storage that can be shared across multiple GPU instances. Disks persist independently from instances, making them ideal for storing datasets, model checkpoints, and other data that needs to survive instance termination.

Checking Disk Availability

Before creating a disk, check available storage options:
prime availability disks
Filter results using these options:
  • --regions: Geographic locations (e.g., united_states,eu_north)
  • --data-center-id: Specific datacenter (e.g., US-1)
  • --cloud-id: Cloud configuration ID
Example with filters:
prime availability disks --regions united_states

Example Output

IDProviderLocationStockPrice/Hr/GBMax Size (GB)Is Multinode
c008adrunpodUS (US-CA-2)Available$0.000111118,192Yes
4e50abrunpodUS (US-IL-1)Available$0.000111118,192Yes
4eb3b5runpodUS (US-KS-2)Available$0.000111118,192Yes
334eaarunpodUS (US-MO-1)Available$0.000111118,192Yes
d9c8e5runpodUS (US-NC-1)Available$0.000111118,192Yes
241b41runpodUS (US-TX-3)Available$0.000111118,192Yes
7d2232runpodUS (US-WA-1)Available$0.000111118,192Yes
a869c3hyperstackUS (US-1)Available$0.00009700100,000No
8121dfcrusoecloudUS (us-southcentral1-a)Available$0.000115468,192No
81cdd2crusoecloudUS (us-east1-a)Available$0.000115468,192No
2f139fdc_roanUSAvailable$0.000070008,192Yes
Column Descriptions:
  • ID: Short identifier for easy disk creation (use with --id parameter)
  • Provider: Storage provider offering the disk (runpod, hyperstack, crusoecloud, dc_roan)
  • Location: Country code and datacenter identifier
  • Stock: Current availability status
  • Price/Hr/GB: Cost per gigabyte per hour (hourly rate × disk size = total hourly cost)
  • Max Size (GB): Maximum disk capacity supported by the provider
  • Is Multinode: Whether the disk can be attached to multiple instances simultaneously

Creating a Disk

Create a new persistent disk:
prime disks create --id c008ad --size 500

Available Options

--id
string
required
Short ID from availability disks list
--size
integer
required
Disk size in GB (must be within provider’s min/max limits)
--name
string
Human-friendly name for the disk (auto-generated if not provided)
--team-id
string
Team identifier for the disk
--yes
boolean
Skip confirmation prompt

Creation

prime disks create \
  --id 7d2232
  --size 500 \
  --name ml-training-data
Disks are billed continuously from creation until termination. Make sure to terminate disks when no longer needed.

Listing Your Disks

View all your disks:
prime disks list

Output Options

Display as JSON:
prime disks list --output json
With pagination:
prime disks list --limit 50 --offset 0
The output shows:
  • Disk ID, name, and size
  • Current status
  • Provider and location
  • Creation date and age
  • Hourly cost
  • Attached pods and clusters

Getting Disk Details

View detailed information about a specific disk:
prime disks get <disk-id>
Display as JSON:
prime disks get <disk-id> --output json
The detailed view includes:
  • Complete disk configuration
  • Current status and pricing
  • List of attached pods
  • List of attached clusters
  • Creation and update timestamps
  • Location information

Updating a Disk

Update the disk name:
prime disks update <disk-id> --name new-disk-name
Currently, only the disk name can be updated. Disk size cannot be changed after creation.

Terminating a Disk

Terminate a disk when you no longer need it:
prime disks terminate <disk-id>
Skip confirmation prompt:
prime disks terminate <disk-id> --yes
Disk termination is permanent and irreversible. All data stored on the disk will be lost. Make sure to backup any important data before terminating a disk.
Detachment Timing: After terminating an instance with attached disks, you may need to wait a few moments for the disk to detach before you can terminate it or attach it to another instance.

Disk Status Values

Disks go through different statuses during their lifecycle:
StatusDescription
PROVISIONINGDisk is being created
PENDINGDisk status is changing
ACTIVEDisk is ready and can be attached to instances or terminated
STOPPEDDisk is stopped
ERRORAn error occurred during disk operations
DELETINGDisk is being terminated
TERMINATEDDisk has been terminated
UNKNOWNDisk status is unknown (cannot access the current status)

Using Disks with Instances

Attach Disks During Instance Creation

prime pods create \
  --id 346663 \
  --disks disk-id-1 \
  --disks disk-id-2
Learn more in Provision Instance.

Best Practices

Location Planning
  • Create disks in the same datacenter where you plan to run GPU instances
  • Use prime availability disks to find compatible storage options
Size Planning
  • Start with the size you need - you cannot resize disks after creation
  • Consider future growth when selecting disk size
  • Remember that larger disks cost more per hour
Data Management
  • Use descriptive names to identify disk contents
  • Regularly backup important data from disks
  • Terminate unused disks to avoid unnecessary costs
Multinode Disks
  • Use multinode-capable disks for distributed training
  • Check the isMultinode field in availability output
  • Ensure your provider supports simultaneous access if needed

Common Use Cases

Shared Training Data

Create large disks with your training datasets that can be reused across multiple training runs:
# Create a 1TB disk for training data
prime disks create --size 1000 --name training-datasets --id 7d2232

# Attach to multiple training instances
prime pods create --id gpu-id --disks disk-id-1

Model Checkpoints

Use disks to persist model checkpoints and training artifacts:
# Create disk for checkpoints
prime disks create --size 200 --name model-checkpoints --id 7d2232

# Use with training instance
prime pods create --id gpu-id --disks checkpoint-disk-id

Multi-Node Distributed Training

Use multinode-compatible disks for distributed training:
# Find multinode-capable disk storage
prime availability disks --regions united_states

# Create multinode disk (look for "Yes" in Is Multinode column)
prime disks create --size 500 --name shared-data --id multinode-disk-id

# Attach to multiple nodes
prime pods create --id gpu-id-1 --disks shared-disk-id
prime pods create --id gpu-id-2 --disks shared-disk-id